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」。
爲什麼會發生這種情況?我如何解決它?我懷疑我做的事很愚蠢,但無法弄清楚。