MIPS汇编,设置数组[index - i] = IntReturnFunction(参数)

时间:2017-04-12 04:44:47

标签: c++ assembly mips

我是新手使用MIPS中的堆栈和函数,我们正在将一个c ++程序转换为MIPS,以便了解函数的工作原理。我的问题是将这个c ++代码翻译成MIPS,intArr[valsToDo - i] = GetOneIntByVal(entIntPrompt);

我将展示到目前为止我所拥有的内容但仍会出现address out of range错误。

#            intArr[valsToDo - i] = GetOneIntByVal(entIntPrompt);

                addi $a0, $sp, 41
                jal GetOneIntByVal
                sw $v0, 41($sp)
                lw $a1, 77($sp)
                sub $a3, $t1, $t1   #$a3 has valsToDo - i
                sll $a3, $a3, 2     #$a3 has (valsToDo - i) * 4
                add $a3, $a3, $a1   #$a3 has &intArr[valsToDo - i]
                lw $a2, 0($a3)      #$a2 has intArr[valsToDo - i]

我做错了什么?

0 个答案:

没有答案