我正在做一个任务,我试图在C++和MIPS之间转换,我有一个问题要求我转换B8 = Ai-3 i,A和B分别存储在注册表$s0,$s4和$s5中。我遇到的问题是如何将i-3存储到A[]中。有可能做这样的事情吗?
lw $t0, 32($s5)
addi $t1, $s0, -3
lw $t2, $t1($s4)
sw $t0, 0($t2)我对MIPS还是个新手,我主要是想知道你是否能以这种方式使用lw。任何帮助都将不胜感激。
发布于 2013-04-02 08:08:13
不能使用寄存器作为索引来调用lw。假设寄存器中的值是正确的,则需要分两步执行:
add $t1, $t1, $s4
lw $t2, 0($t1)不要忘记,在访问每个元素都是4字节长的字数组时,需要将索引乘以4。
https://stackoverflow.com/questions/15753912
复制相似问题