如何在MIPS中打印十进制数的无符号整数?

时间:2012-05-03 16:45:05

标签: printing mips unsigned-integer

例如,我想在MIPS中以无符号十进制数打印此编号A0090000(16)。 因此打印结果应为2684944384(10)。 但是我被卡住了,因为我只知道打印签名号码的汇编代码。

代码是这样的:

li    $v0, 1    #System call code for print_int
li    $a0, 5    #integer to print
syscall

因此,如果我在该代码中放入A0090000(16)值而不是'5', 它将打印一个减去十进制值(因为MSB为1),即-1610022912(10) 但是我希望得到结果2684944383(10),它被读作无符号数。

我该怎么做?

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

通过将值依次除以10(无符号)并将余数的数字加到字符串的开头,以相反的顺序填充数字的数字。然后打印字符串。