将一个变量值存储到另一个MIP中

时间:2015-11-12 00:46:04

标签: assembly load mips store

我试图将我的和变量$ s1加载到我的maximumSum变量$ s0中。我稍微查了一下如何从here将变量加载到其他变量中,但它仍然没有给出错误

  

mips1.asm中的错误第45行:0x0040008c处的运行时异常:地址超出范围0x00000000

现在我不确定发生了什么事。这不是正确的方法吗?我是否从一开始就错误地存储了这些变量?

2 个答案:

答案 0 :(得分:0)

我使用堆栈存储了总和,然后将堆栈存储到了largestsum中。

subi $t7, $t7, 1 #reset the sgt variable to 0
sw $s1, 4($sp) #Store the sum into the stack
lw $s0, 4($sp) #Store the sum into the largestSum
b innerLoop

答案 1 :(得分:0)

您链接的问题是存储在内存中的变量,而不是寄存器中的变量。 您将变量sumlargestSum分别保存在两个寄存器中($s1$s0)。

只需使用move $s0, $s1将sum的内容复制到largestSum。