什么时候设置进位标志?

use*_*180 5 x86 assembly carryflag eflags

“将NEG指令应用于非零操作数始终设置进位标志”的含义。

为什么从1中减去2会设置进位标志?

           00000001(1)
 + 11111110(-2)[2补码形式]
 ---------------------
CF:1 11111111(-1)[为什么在这里设置进位标志???

Oli*_*rth 5

您可以将其视为NEG a等同于SUB 0, a. 如果a非零,则这将设置进位标志(因为这总是导致无符号溢出)。