Mips Can';我不明白这个lw在做什么

Mips Can';我不明白这个lw在做什么,mips,Mips,我必须找到C指令的mips代码: B[8]=A[i-j] 变量i、j在寄存器$s3、$s4中,而基址 A和B的价格分别为$s6、$s7 当我阅读解决方案时,我不明白为什么在lw指令(第三行代码)中我必须指定偏移量。 我不是在第二行计算的吗 谢谢你,对于任何英语错误,我深表歉意 ''Mips代码 sub $t0,$s3,$s4 add $t0,$s6,$t0 lw $t1,16($t0) sw $t1,32($s7) ''这里计算的是字节的偏移量: sub $t0,$s3,$s4 如果我们假

我必须找到C指令的mips代码: B[8]=A[i-j] 变量i、j在寄存器$s3、$s4中,而基址 A和B的价格分别为$s6、$s7 当我阅读解决方案时,我不明白为什么在lw指令(第三行代码)中我必须指定偏移量。 我不是在第二行计算的吗

谢谢你,对于任何英语错误,我深表歉意

''Mips代码

sub $t0,$s3,$s4
add $t0,$s6,$t0
lw  $t1,16($t0)
sw $t1,32($s7)

''

这里计算的是字节的偏移量:

sub $t0,$s3,$s4
如果我们假设数组中的元素是字(4字节)-因为您使用的是
lw
sw
-那么您需要相应地缩放该偏移量:

sll $t0, $t0, 2    # $t0 *= 4