2013-10-11 147 views
0

我努力学习MIPS和我遇到下面的例子演示了如何转换C代码到MIPS:寄存器操作数在MIPS

我不明白是什么第三MIPS产品线的目的。 lw操作数是不是简单地将t1的值复制到t0?

回答

2

不,它从$t1中包含的地址读取一个词。以下是该代码的评论版本:

Loop: 
sll $t1, $s3, 2 # $t1 = i * sizeof(int) 
add $t1, $t1, $s6 # $t1 += save (== &save[i]) 
lw $t0, 0($t1)  # $t0 = *(&save[i]) (== save[i]) 
bne $t0,$s5, Exit # if (save[i] != k) goto Exit 
addi $s3, $s3, 1 # i += 1 
j Loop    # repeat