ARM程序集中的负数
目前我正在努力如何在ARM程序集中使用负数。 假设我有这样一个简单的代码:
MOV R0, #0
SUB R0, R0, #1
SWI 4
R0
明显存储值0xFFFFFFFF
,但SWI
似乎不把它看作一个有符号的整数,所以显示的数字是4294967295.我怎样才能打印出-1?
据我了解, SWI 4
调用OS中的某个数字显示例程或任何执行环境。 如果有适当的SWI some other number
显示有符号整数的SWI some other number
,请使用它。 你应该真的提到你的操作系统。
如果没有与SWI 4
对应的签名对象,计算负数的绝对值(例如从0减去),然后分别显示减号和绝对值。 负值的最高位设置为1。
上一篇: Negative numbers in ARM assembly
下一篇: Please explain the logic behind Kernighan's bit counting algorithm