2
我是MIPS的新手& MARS。作为我的程序的一部分,我想从用户那里读取一个字符串。MARS上的MIPS系统调用:“地址超出范围”
我有一个简单的代码如下
.globl test
.data 0x10010000
foo: .asciiz "Input a string"
.data 0x10020000
in: .asciiz "xyz"
.text 0x00400000
test:
li $v0, 54
add $a0, $zero, 0x1001
add $a1, $zero, 0x1002
add $a2, $zero, 3
syscall
的想法是在0x1002读最多3发言权长度的字符串到内存中。运行代码给我“运行时异常在0x00400010:地址超出范围0x00001001”。
为什么会发生这种情况?我如何解决它?我怀疑我做的事很愚蠢,但无法弄清楚。