我的 MIPS 指令中没有系统调用代码,但是在模拟器中我可以看到以下内容:
我的 .s 中没有以下任何代码行
li $v0 10
syscall
这是为什么?这让我很困扰,因为它在系统调用中给了我一个错误的地址
这是模拟器用来退出程序的系统调用(它将控制权交还给操作系统),您可以在此处获得Spim可用系统调用的摘要:链接。
模拟器在程序的开头添加了一个引导程序,在程序的末尾添加了一个结束部分。syscall
由于您通过在寄存器中加载相应的值来指定要执行的$v0
操作,这就是它实际所做的:将系统调用设置为 syscallexit
并使用syscall
.