我必须打印两个数字的xor。但是,当我尝试实现这一点时,我会得到一个“超出界限的内存地址”。出了什么问题?
以下是代码:
.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
为什么我会收到错误?
答案 0 :(得分:2)
我已经弄清楚了,我正在使用
la $v0, 4
而不是我应该使用什么来打印整数:
la $v0, 1