将C代码翻译成Mips程序集

时间:2013-11-03 22:55:51

标签: c assembly mips

快速提问。我想将这个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

你们可以帮我编辑吗?提前谢谢。

2 个答案:

答案 0 :(得分:1)

如果您有一些C代码,可以使用gcc

将其编译为汇编代码
gcc-mipsel-linux-gnu -save-temps program.c
cat program.S

这假设您安装了mipsel [cross-]编译器,从

获取一个

http://www.emdebian.org/crosstools.html

https://wiki.debian.org/BuildingCrossCompilers

答案 1 :(得分:1)

您似乎没有按A元素的大小缩放A的索引。在添加$t0之前,您可能希望将$s3乘以4。