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 类型 |