假设现在 AX =FFFE 和 BX=1234
如果我们写cmp ax,bx
(bx 将从 ax 中减去并且适当的标志将被更新)现在 ax 和 bx 中数字的二进制表示由下式给出
AX = 1111 1111 1111 1110
BX= 0001 0010 0011 0100
因为 bx 将从 ax 中减去,所以我们必须否定 bx (因为 Result= ax+(-bx))所以否定的 bx (bx 的 2 的补码)由下式给出。
BX= 1110 1101 1100 1100
现在我们将 ax 和 bx 都相加(因为减法是通过计算机中的加法实现的)
AX= 1111 1111 1111 1110
BX= 1110 1101 1100 1100
------------------------------------
1 1110 1101 1100 1010
现在您可以看到结果是 17 位,现在第 17 位应该进入进位标志,但是当我检查它时,进位标志是 0,即 CF=0,为什么?