首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试在MIPS中运行此代码时,我收到一个错误消息:"Runtime exception at 0x00400090: address out of range 0x00000008“

尝试在MIPS中运行此代码时,我收到一个错误消息:"Runtime exception at 0x00400090: address out of range 0x00000008“
EN

Stack Overflow用户
提问于 2020-09-30 04:19:55
回答 1查看 225关注 0票数 1
代码语言:javascript
运行
复制
.text
main: #Main function to be run
la $a0, prompt

li $v0, 4
syscall


la $a0, n0


li $a1, 8

li $v0, 8
syscall
move $t0, $v0

la $a0, n1
li $a1, 8
li $v0, 8
syscall
move $t1, $v0

la $a0, n2
li $a1, 8
li $v0, 8
syscall
move $t2, $v0

la $a0, n3

li $a1, 8

li $v0, 8
syscall
move $t3, $v0


la $a0, n4

li $a1, 8

li $v0, 8
syscall
move $t4, $v0

#Outputs
la $a0, ($t0)

li $v0, 8
syscall

la $a0, ($t1)

li $v0, 8
syscall

la $a0, ($t2)

li $v0, 8
syscall

la $a0, ($t3)

li $v0, 4
syscall

la $a0, ($t4)

li $v0, 4
syscall



li $v0, 10
syscall




.data
prompt: .asciiz "Enter a series of 5 formulae:\n" #The prompt to ask the user to type 5 strings
n0: .space 20
n1: .space 20
n2: .space 20
n3: .space 20
n4: .space 20
EN

回答 1

Stack Overflow用户

发布于 2020-09-30 06:40:42

下面是要做的事情:

找出汇编代码的哪一行对应于0x00400090 -或异常的地址。这是得到错误的特定指令。然后查找该指令的输入不正确(即,在这里,具有值0x00000008,并修复代码,使寄存器具有正确的地址)。

您可以在MARS模拟器中执行此操作。当MARS模拟器报告异常时,请查看异常指令,并检查该点的寄存器值。*如果需要,您还可以在异常指令上或之前设置断点,并重新运行它,以便在异常之前看到寄存器状态的演变。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64127063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档