我是使用 MIPS 的新手,我尝试计算汉明距离。然而,即使寄存器 $t3 具有正确的 XOR 结果,当我以十进制打印它时,我得到一个错误的数字。
word1: .word 0xffeff0ff
word2: .word 0x00000001
当我对这两个词进行异或运算时,结果是:
ffeff0fe
我的问题是如何以十进制计算?因为我试图在屏幕上打印它,我得到 -1052418 而不是正确的 26
这是我的完整代码
.text
.globl __start
__start:
la $a1,word1
lw $t1,0($a1)
la $a1,word2
lw $t2,0($a1)
xor $t3,$t1,$t2
la $a0,answer
li $v0,4
syscall
move $a0,$t3
li $v0,1
syscall
la $a0,endl
li $v0,4
syscall
EXIT: li $v0,10
syscall
.data
word1: .word 0xffeff0ff
word2: .word 0x00000001
answer: .asciiz "Hamming distance is : "
endl: .asciiz "\n"