快速提问。我想将这个C代码翻译成MIPS汇编语言: F = G-A [B [4]] 我可以使用任何寄存器来放置变量,所以我使用了以下内容: $ s1 = f,$ s2 = g,$ s3 = A,$ s4 = B,$ t0 = B [4],$ t1 = A [B [4]]
这是我到目前为止尝试的代码,但我不确定它是否正确:
lw $t0, 16($s4)
add $t0, $t0, $s3
lw $t1, 0($t0)
sub $s1, $s2, $t1
你们可以帮我编辑吗?提前谢谢。
答案 0 :(得分:1)
如果您有一些C代码,可以使用gcc
将其编译为汇编代码gcc-mipsel-linux-gnu -save-temps program.c
cat program.S
这假设您安装了mipsel [cross-]编译器,从
获取一个http://www.emdebian.org/crosstools.html
或
答案 1 :(得分:1)
您似乎没有按A
元素的大小缩放A
的索引。在添加$t0
之前,您可能希望将$s3
乘以4。