在 Assembly x86 中将负数转换为正数

asa*_*rsh 0 x86 assembly

有什么方法可以将汇编中的负数变成正数吗?我听说有一种方法可以使用逻辑指令“NOT”

在检查Assembly X86的其他指南时,我没有找到任何将负数转换为正数的指南。

zx4*_*485 5

我建议另一个答案:

NEG ax
Run Code Online (Sandbox Code Playgroud)

其作用与

NOT ax
INC ax
Run Code Online (Sandbox Code Playgroud)

请参阅维基百科的二进制补码

除了一个例外,从任何二进制补码表示形式的数字开始,如果所有位都翻转并加 1,则获得该数字的负数的二进制补码表示形式。正12变成负12,正5变成负5,零变成零(+溢出),等等。