mips中的32位带符号字

时间:2014-10-08 21:49:59

标签: assembly binary mips signed

我正在尝试编写一个简单的mips程序,但我仍然坚持声明一个32位有符号整数。

我写了以下简单的代码:

.data
max: .word 11111111111111111111111111111111

我希望max的值为-1,但我的IDE告诉我这个数字被解释为-954437177。我使用MARS 4.4作为我的IDE。

我做错了什么?如何让mips实际将值识别为-1?

1 个答案:

答案 0 :(得分:1)

.word将数字放入十进制数,当你转换它时,从32位开始,你只能得到最后的32位。 11111111111111111111111111111111(10)= 10001100001111011110111110110001111011011011100110000100111111100010101011000111000111000111000111000111(2)

最后32位:11000111000111000111000111000111(2)= -954437177 如果要将-1存储为32位,请尝试 .word 0xFFFFFFFF,其值为-1