Предположим, AX = FFFE и BX = 1234
теперь, если мы напишем cmp ax,bx
(bx будет вычтено из топора, а соответствующие флаги будут обновлены)
теперь двоичное представление чисел в ax и bx задается как
AX = 1111 1111 1111 1110
BX= 0001 0010 0011 0100
Поскольку bx будет вычтено из ax, мы должны отрицать bx (как Result = ax + (- bx))
поэтому отрицательный bx (дополнение 2 к bx) определяется как.
BX= 1110 1101 1100 1100
Теперь мы добавляем и топор, и bx (поскольку вычитание реализуется путем сложения в компьютере)
AX= 1111 1111 1111 1110
BX= 1110 1101 1100 1100
------------------------------------
1 1110 1101 1100 1010
Теперь, как вы видите, результат равен 17 битам, теперь 17-й бит должен перейти во флаг переноса, но когда я проверил его, флаг переноса равен 0, то есть CF = 0, почему?