MIPS乘法问题

时间:2011-09-18 20:07:36

标签: mips

在MIPS中,我如何将此表达式转换为MIPS?

y = 2x+3z(x,y,z是变量)

我使用multi $t0,$s0, 2 # $s0 stores x and $s1 stores y.来显示2x。这是对的吗?

1 个答案:

答案 0 :(得分:2)

我们假设:
x在$ s0中 z在$ s1中 y将在$ s2中

add $s2, $s0, $s0    # x*2 in $s2
add $t0, $s1, $s1    # z*2 in $t0
add $t0, $t0, $s1    # z*3 in $t0
add $s2, $s2, $t0    # x*2+z*3 in $s2

我们实际上并没有乘法(它比简单的加法慢)并且你可以看到我们销毁临时寄存器$ t0但是不要触及$ s0 / $ s1