汇编后MIPS错误

时间:2016-02-25 00:51:03

标签: assembly mips mars-simulator

我从MIPS开始,我必须做一个简单的程序

<h2 style="margin: 0px 15px; border-bottom: 1px solid rgb(218, 218, 218); position: relative;">
      Current Resources
      <a style="" aria-controls="contentDetails" aria-expanded="false" href=".collapse" data-toggle="collapse" role="button" class="button-xs-med" onclick="AjaxAction('/home/setcollapse', 'POST');">
        <span class="button-text">
          Details
        </span>
      </a>
</h2>

它没有错误地组装,但是当我按下播放时它会给我这个错误

错误:程序计数器值无效:0x00000000

Go:执行因错误而终止。

我不知道这对任何人都有帮助意味着什么?

2 个答案:

答案 0 :(得分:1)

SPIM在代码之前放置了一个crt0。也就是说,一小段代码会对JAL执行main,如果您返回到启动代码,它将执行系统调用10来终止程序。

另一方面,MARS不会在您的代码之前放置任何此类代码。那么你就会回到&#34;无处可去的地方。当你从main做jr $ra时。您应该使用系统调用10结束您的程序,即

# instead of jr $ra, do:
li $v0, 10
syscall

答案 1 :(得分:-1)

jr $ra   #return from main; return address

你要回到哪里?你的主要方法没有被另一种方法调用,因此当你试图返回一个地址时,没有返回地址,因为你还没有跳过。删除该行,它应该工作。

相关问题