尝试执行此问题,但是我不知道如何在这种情况下写出$ s0 =一切:
假定变量g,h,i和j分别分配给寄存器$ s1,$ s2,$ s3和$ s4 在下面给出的代码中。假定数组A的基址在寄存器$ s5中。
Code:
addi $s0, $s1, -4
add $s0, $s0, $s2
add $s0, $s0, $s3
sub $s0, $s0, $s4
sw $s0, 24($s5)
对于上面的MIPS汇编指令,对应的C语句是什么?
答案 0 :(得分:0)
如果将变量替换为伪C,则使用s0从而$ s0:
s0 = g-4
s0 = s0 + h
s0 = s0 + i
s0 = s0 - j
A[6] = s0
索引6使用的字长为32(4个字节),因此为24/4
因此,替换s0:
A[6] = g - 4 + h + i - j;