在MIPS中从寄存器向基址添加偏移量

时间:2013-01-27 08:57:46

标签: mips memory-address

如果我在t3中有一个数字,我可以使用lw $ s3,$ t3($ t0)来获取存储在base + offset引用的内存中的值,其中base在t0中,偏移量在t3中S3?

2 个答案:

答案 0 :(得分:1)

我认为plaknas提供的解决方案只有一半是正确的,因为在MIPS中“创建”偏移时必须考虑字大小。

这是正确的答案,假设字长为4个字节:

sll $t3, $t3, 2
add $t0, $t0, $t3
lw $s3, 0($t0)

答案 1 :(得分:0)

显然无法完成。 更好的方法是:

add $t4, $t0, $t3
lw $s3, 0($t4)

谢谢:)