2013-10-11 74 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