在MIPS中注册操作数

时间:2013-10-11 15:28:06

标签: assembly mips instruction-set

我正在尝试学习MIPS,并且我遇到了以下示例,该示例演示了如何将C代码转换为MIPS:

我不明白第三条MIPS系列的目的是什么。是不是lw操作数只是将值从t1复制到t0?

1 个答案:

答案 0 :(得分: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