用于乘法MIPS汇编的位移位

时间:2013-10-09 18:26:19

标签: assembly mips bit-shift

我正在编写一个MIPS汇编语言程序,通过使用'sll'操作移位来执行多重复用。 这是我的源代码:

    .text
    .globl  main

main:
    ori     $5,$0,2     # put x into $5
    ori     $6,$0,4        # put y into $6
    sll     $5,$5,3        # put 8*x into $8
    sll     $6,$6,1        # put 2*y into $9
    subu    $10,$8,$9      # $5 - $6, put result in 10
    addiu   $10,$10,14     # add register 10 and number 14, put result in 10

文件结束

我的“5美元,5美元,3美元”这一行应该取寄存器5的内容并将其乘以2 ^ 3然后将其放回寄存器5.而不是显示16,它显示10.我的猜测是它正在执行的三位移位导致溢出问题,但我想不出有办法纠正这个问题。

0 个答案:

没有答案