1

我的 MIPS 指令中没有系统调用代码,但是在模拟器中我可以看到以下内容:

替代文字

我的 .s 中没有以下任何代码行

li $v0 10
syscall

这是为什么?这让我很困扰,因为它在系统调用中给了我一个错误的地址

4

1 回答 1

2

这是模拟器用来退出程序的系统调用(它将控制权交还给操作系统),您可以在此处获得Spim可用系统调用的摘要:链接

模拟器在程序的开头添加了一个引导程序,在程序的末尾添加了一个结束部分。syscall由于您通过在寄存器中加载相应的值来指定要执行的$v0操作,这就是它实际所做的:将系统调用设置为 syscallexit并使用syscall.

于 2010-02-23T22:27:42.483 回答