bru*_*ner 1 assembly mips qtspim
我刚刚开始使用 Mips,所以这可能听起来很简单,但是:当我在没有
li $v0,10 指令的情况下
编写上面的代码时,我收到一条错误消息:内存地址超出范围
当我添加它时,它没有任何警告。
这意味着什么?
.text
.globl main
main:
li $t1,27
li $t2,2
mulou $t3,$t1,$t2
li $v0,10
syscall
Run Code Online (Sandbox Code Playgroud)
li它本身只是将立即数加载到寄存器中。在这种特殊情况下,另一侧的服务例程syscall 查看 in 的值$v0来判断请求的功能。10是代码exit(请参阅spim 支持的系统调用列表)。如果您没有设置$v0,那么将根据所$v0包含的值执行一些随机函数。很可能不会,exit所以CPU会尝试继续执行内存中代码之后的任何内容,这迟早会崩溃。
| 归档时间: |
|
| 查看次数: |
11025 次 |
| 最近记录: |