Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 臂总成中的负数_Assembly_Arm - Fatal编程技术网

Assembly 臂总成中的负数

Assembly 臂总成中的负数,assembly,arm,Assembly,Arm,我目前正在努力学习如何在手臂装配中使用负数。假设我有这样一个简单的代码: MOV R0, #0 SUB R0, R0, #1 SWI 4 R0显然会存储值0xffffff,但SWI似乎不会将其视为有符号整数,因此显示的数字是4294967295。如何打印-1?据我所知,SWI 4调用操作系统或任何执行环境中的数字显示例程。如果有一个合适的SWI或其他数字用于显示有符号整数,请使用该数字。你真的应该提到你的操作系统 如果SWI 4没有带符号的对应项,请计算负数的绝对值(例如,从0中减去负数),然

我目前正在努力学习如何在手臂装配中使用负数。假设我有这样一个简单的代码:

MOV R0, #0
SUB R0, R0, #1
SWI 4

R0
显然会存储值
0xffffff
,但
SWI
似乎不会将其视为有符号整数,因此显示的数字是4294967295。如何打印-1?

据我所知,
SWI 4
调用操作系统或任何执行环境中的数字显示例程。如果有一个合适的
SWI或其他数字
用于显示有符号整数,请使用该数字。你真的应该提到你的操作系统


如果SWI 4没有带符号的对应项,请计算负数的绝对值(例如,从0中减去负数),然后分别显示减号和绝对值。负值的最高有效位设置为1。

谢谢您的回答。我使用Linux,从来没有听说过任何用于显示有符号整数的
SWI
。为什么要使用SWI?与SWI通信的环境是什么?必须与dwelch达成一致。为什么要使用SWI?如果希望将其视为有符号整数,请将其发送给希望接收有符号整数的函数。要将-1加载到R0,请使用
MVN R0、#0
而不是类似的2条指令