2014-02-17 29 views
0

我必須打印兩個數字的異或。但是,當我嘗試實現這一點時,我得到了「內存地址不在邊界」。出了什麼問題?xor命令導致「內存地址越界」錯誤Mips

下面的代碼:

.data 
first: .asciiz "0 xor 0 is " 
zero: .word 0 
one: .word 1 

.text 
main: 

li $v0, 4 
la $a0, first 
syscall #print first 

li $v0, 4 
la $a1, zero 
la $a2, zero 
xor $a0, $a1, $a2 
syscall #print 0 xor 0 

li $v0, 10 
syscall #exit 

當它打印出來的命令提示符下,我得到這個:

0 xor 0 is Memory Address out of Bounds 

爲什麼會出現這個錯誤?

回答

1

我已經想通了,我是用

la $v0, 4 

相反的是什麼,我應該使用打印整數:

la $v0, 1 
+0

我假定你的意思'li'不'la' –