将单个C线转换为MIPS组件

时间:2013-10-12 00:24:20

标签: c assembly mips

我正在攻读计算机体系结构的大学课程,所以我不熟悉汇编语言。我的问题是,如何在不使用伪指令的情况下将以下代码从C转换为MIPS汇编语言?

B [8] = A [i-j]

i和j分配给寄存器$ s3和$ s4,A和B的基地址在寄存器$ s6和$ s7中。到目前为止,我有:

sub $t0, $s3, $s4
sll $t0, $t0, 2
lw $t1, $t0($s6)   #Is this line allright?
add $s5, $t1, $zero
sw $s5, 32($s7)

我不确定使用寄存器$ t0作为第三行地址存储器的偏移量。提前谢谢。

1 个答案:

答案 0 :(得分:9)

没有。而是通过将$ t0添加到$ s6来计算所需的地址。

sub $t0, $s3, $s4
sll $t0, $t0, 2
add $t0, $t0, $s6
lw  $t1, 0($t0)
sw  $t1, 32($s7)