我正在尝试使用MIPS汇编程序和xspim对32位数字列表进行排序。我一直在踩着我的代码看看失败了,并注意到当比较0x00000000和0xFFFFFFFF时,它并没有比较这些数字。在程序失败的时候,$ t3得到0x00000000,$ t4得到0xFFFFFFFF,看起来像这样:
bge $t3,$t4,lol
#So如果t3
大于或等于我应该向前跳,否则继续。现在的问题是,即使t3
较小,程序也会跳转。
答案 0 :(得分:4)
这是因为0xffffffff
被解释为-1
,即在2补码中。
有一些具体的说明来处理数字,就好像它们是未签名的一样。使用这些说明。 (比较实例bgt
和bgtu
u
代表无符号。)