Сложение двоичных чисел со знаком

Кроме флага переноса cf и команды adc есть и другое средство – регистрация состояния старшего (знакового) разряда операнда, которое осуществляется с помощью флага переполнения оf в регистре flags.

Ситуация переполнения (установка флага оf в 1) происходит при переносе:

– из 14 разряда (для положительных чисел со знаком);

– из 15-го разряда (для отрицательных чисел).

И наоборот, переполнения не происходит, если есть перенос из обоих разрядов или перенос отсутствует в обоих разрядах. Переполнение регистрируется с помощью флага переполнения оf. Дополнительно к флагу оf при переносе из старшего разряда устанавливается и флаг переноса сf). Так как микропроцессор не знает о существовании чисел со знаком и без знака, то вся ответственность за правильность действий с числами ложится на программиста. Проанализировать флаги сf и оf можно командами условного перехода jc/jnc и jo/jno соответственно.