Сравнение отрицательных чисел в ассемблере

После применения команды cmp a, b можно узнать, что число a меньше числа b, если SF != OF, но это условие не выполняется при вычитании отрицательных чисел.
Рассмотрим пример с трёхбитными числами, вычитаем -1 из -2:

'110
-111
 ---
 111

Символом ' обозначен заём, следовательно OF будет равен единице, но первый бит результата - 1, следовательно SF тоже будет равен единице, значит, условие не выполняется. Но ведь -2 меньше, чем -1! Почему так?


Ответы (0 шт):