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

为什么我会收到该错误?

我已经弄清楚了,我正在使用

la $v0, 4

而不是我应该用来打印整数的东西:

la $v0, 1

最新更新