转换汇编-尝试将此汇编代码转换为C代码

时间:2018-10-23 14:29:59

标签: assembly mips

尝试执行此问题,但是我不知道如何在这种情况下写出$ 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语句是什么?

1 个答案:

答案 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;