我的MIPS指令中没有系统调用代码,但在模拟器中我可以看到以下内容:
alt text http://img638.imageshack.us/img638/4089/crop.png
我的.s
中没有以下任何代码行li $v0 10
syscall
为什么?这让我很困扰,因为它在系统调用中给了我一个糟糕的地址
答案 0 :(得分:2)
这是模拟器用于退出程序的系统调用(它将控制权交还给操作系统),您可以在此处获取 Spim 的可用系统调用的摘要:link。
模拟器在程序结束时的开头和结尾部分添加一个引导程序。由于您通过在寄存器syscall
中加载相应的值来指定要执行的$v0
,这就是它实际执行的操作:将系统调用设置为exit
并将其调用{{1} }。