我必须打印两个数字的异或。但是,当我尝试实现此目的时,我得到一个"内存地址越界"。出了什么问题?
代码如下:
.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
为什么我会收到该错误?
我已经弄清楚了,我正在使用
la $v0, 4
而不是我应该用来打印整数的东西:
la $v0, 1