NEG
(NEGate operand)
Изменить знак операнда
| Схема команды: | neg источник | 
Назначение: изменение знака (получение двоичного дополнения) источника.
Алгоритм работы:
выполнить вычитание (0 – источник) и поместить результат на место источника;
если источник=0, то его значение не меняется.
Состояние флагов после выполнения команды (если результат нулевой):
| 11 | 07 | 06 | 04 | 02 | 00 | 
| OF | SF | ZF | AF | PF | CF | 
| r | r | r | r | r | 0 | 
Состояние флагов после выполнения команды (если результат ненулевой):
| 11 | 07 | 06 | 04 | 02 | 00 | 
| OF | SF | ZF | AF | PF | CF | 
| r | r | r | r | r | 1 | 
Применение:
Команда используется для формирования двоичного дополнения операнда в памяти или регистре. Операция двоичного дополнения предполагает инвертирование всех разрядов операнда с последующим сложением операнда с двоичной единицей. Если операнд отрицательный, то операция neg над ним означает получение его модуля. 
| mov al,2 neg al ;al=0feh — число -2 в дополнительном коде | 
См. также: уроки 6, 8 и команду