好,所以我试图在MIPS中制作一个粗略的程序,该程序将任意数字乘以12。因此,我决定对其使用移位。 MIPS非常陌生,因此不确定如何执行此操作。我敢肯定,这里有人会很高兴向我展示。
addi $a0, 2
sll $t0,$a0,2
li $v0,2
move $a0,$t0
syscall
li $v0,5
syscall
答案 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得到了结果