在MIPS中将数字乘以12

时间:2018-10-23 16:05:27

标签: mips

好,所以我试图在MIPS中制作一个粗略的程序,该程序将任意数字乘以12。因此,我决定对其使用移位。 MIPS非常陌生,因此不确定如何执行此操作。我敢肯定,这里有人会很高兴向我展示。

addi $a0, 2

sll $t0,$a0,2

li $v0,2

move $a0,$t0

syscall

li $v0,5

syscall

1 个答案:

答案 0 :(得分:1)

如果您尝试将12乘以2的乘方(然后可以容易地使用shift):

 Me.ddlFacultyAssign.SelectedValue

因此,假设a0具有原始值,您将在汇编中执行以下操作:

12 = 4 * 3 =  4 * (2 + 1)

汇编器也是如此,仍然假设a0中包含数字(并按与上述相同的顺序进行操作):

t0 = a0<<1  # the 2 part
t0 = t0 + a0 # that's the 2+1 done
a0 = t0<<2  # that's the  4 * (2 + 1) put back to the original register

现在a0得到了结果