MIPS 命令に syscall コードはありませんが、シミュレーターでは次のように表示されます。
.s に次のコード行がありません
li $v0 10
syscall
何故ですか?システムコールで間違ったアドレスが返されるので気になります
これは、シミュレーターがプログラムを終了するために使用する syscall です (制御をオペレーティング システムに戻します) 。Spimの使用可能な syscall の概要は、ここで取得できます:リンク。
シミュレーターは、プログラムの最初にブートストラップを追加し、プログラムの最後に終了セクションを追加します。syscall
対応する値を register にロードすることで実行するものを指定するので$v0
、それが実際に行うことexit
ですsyscall
。