首页 > 解决方案 > MIPS 如何直接从文本段中读取。(火星模拟器)

问题描述

我试图计算程序中的 add 和 lw 指令计数,所以我想首先找到指令的地址。我使用标签将它们定位为开始和结束,在开始和结束之间我想计算 add 和 lw 指令。但是,当我尝试在地址处加载值以查看指令寄存器内容时,我得到了错误

Runtime exception at 0x00400048: Cannot read directly from text segment!0x00400020

如何在 $a0 地址加载寄存器内容,我的指令如下所示。

main:
li $t0,1
li $t1,4
li $t2,6
li $t5,0

start:add $t0,$t1,$t2
add $t0,$t5,$t2
add $t3,$t2,$t1
lw $t5,num
lw $t2,test
add $t4,$zero,$t1
end:lw $t4,test2
la $a0,start
la $a1,end
lw $s0,0($a0) 

标签: mipsruntimeexception

解决方案


推荐阅读