MIPS 彙編/系統指令
外觀
< MIPS 彙編
本頁將討論一些更高階的 MIPS 指令,這些指令可能不會在日常程式設計任務中使用。
指令
|
syscall | 型別
|
R 型別 |
syscall 允許您呼叫基本系統函式。要使用 syscall,首先用要呼叫的函式程式碼設定 $v0,然後使用 syscall。可用的確切程式碼可能取決於使用的特定系統,但以下是常見系統呼叫的示例。
| 程式碼 | 呼叫 | 引數 | 結果 |
| 1 | 列印整數 | $a0 = 要列印的整數 | |
| 2 | 列印浮點數 | $f12 = 要列印的浮點數 | |
| 3 | 列印雙精度浮點數 | $f12 = 要列印的浮點數 | |
| 4 | 列印字串 | $a0 = 字串開頭的地址 | |
| 5 | 讀取整數 | 整數儲存在 $v0 中 | |
| 6 | 讀取浮點數 | 浮點數儲存在 $f0 中 | |
| 7 | 讀取雙精度浮點數 | 雙精度浮點數儲存在 $f0 中 | |
| 8 | 讀取字串 | $a0 = 指向緩衝區的指標,$a1 = 緩衝區的長度 | 字串儲存在緩衝區中 |
| 9 | sbrk(分配記憶體緩衝區) | $a0 = 所需的大小 | $v0 = 緩衝區的地址 |
| 10 | 退出 | ||
| 11 | 列印字元 | $a0 = 要列印的字元 |
Example: printing the number 12 li $a0, 12→;loads the number we want printed, 12 in this case, into the first argument register li $v0, 1→;stores the code for the print integer call into $v0 syscall→;Executes system call
指令
|
中斷 | 型別
|
R 型別 |
指令
|
同步 | 型別
|
R 型別 |
指令
|
快取 | 型別
|
R 型別 |
指令
|
預取 | 型別
|
R 型別 |