MIPS 3000汇编,加载和打印32位无符号整数

时间:2013-05-03 22:21:03

标签: assembly printing loading mips unsigned-integer

我的程序必须接受0到2 ^ 32或4,294,967,295之间的输入。

哪些按位的32字节应该可以做,但我已经溢出到负数,因为我不知道如何使这个无符号整数。我看到我有通过算术可以做到的指令,但是如果我只是想将它加载到寄存器并打印它呢?它现在总是打印出负数。

2 个答案:

答案 0 :(得分:1)

int是有符号的还是无符号的,无论它在寄存器中的存在方式都无关紧要。无论哪种方式,它只是一个位序列。 2 ^ 32 -1 = 0xFFFFFF。如果将其解释为无符号整数,则为4,294,967,295或2 ^ 32-1。如果使用二进制补码将其读作有符号整数,则0xFFFFFFFF为-1。我猜这个问题出在你的打印命令中。尝试将打印输出格式化为无符号。

答案 1 :(得分:1)