2013-10-12 66 views
5

我正在参加计算机体系结构的大学课程,所以我对汇编语言很陌生。我的问题是,如何在不使用伪指令的情况下将以下代码从C语言转换为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作为偏移量来解决第三行中的内存。提前致谢。

回答

8

否请计算将$ t0加到$ s6所需的地址。

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

非常感谢。这非常有帮助! –

+0

好听,欢迎来到SO。如果我的帖子对你有帮助,那么习惯于接受和赞成答案。 –

+0

好的,已经接受但由于我的低信誉而无法赞成。 –