例如,我想在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),它被读作无符号数。
我该怎么做?
答案 0 :(得分:2)
答案 1 :(得分:0)
通过将值依次除以10(无符号)并将余数的数字加到字符串的开头,以相反的顺序填充数字的数字。然后打印字符串。