ХАНДЫФАР

Отрицание содержимого регистра или ячейки памяти


_______________________________NEG reg/mem8 - Отрицание reg/mem8.

_______________________________NEG reg/mem16 - Отрицание reg/mem16.


Заменяет значение операнда (операнд назначения) дополнением к нему 2. Целевой операнд находится в регистре общего назначения или в ячейке памяти.


Эта инструкция может использоваться с префиксом lock, чтобы разрешить выполнение инструкции атомарно.


Флаг CF устанавливается равным 0, если исходный операнд равен 0; в противном случае он устанавливается равным 1. Флаги OF, SF, ZF, AF и PF устанавливаются в соответствии с результатом.


В качестве примера рассмотрим случай, когда регистр ax содержит 1310 (000D16). После выполнения neg ax, регистр ax будет содержать -1310, (FFF316).


  1. title Автор: Довгополов Евгений Сергеевич
  2. .model small
  3. .stack 100h
  4. code segment public _______; Начало сегмента кода
  5. ____assume cs:code
  6. ____main proc _____________; Начало процедуры main
  7. ________mov_____ax, 13_____; Копируем значение 13 в регистр ax
  8. ________neg_____ax_________; Выполняем отрицание регистра ax
  9. ________mov_____ax, 4C00h__; Копируем значение функции завершения процесса в ah а значение в al
  10. ________int_____21h _______; Вызываем прерывание DOS
  11. ____main endp _____________; Конец процедуры main
  12. code ends _________________; Конец сегмента кода
  13. end main __________________; Конец файла. Точкой входа указывается процедура main
Made on
Tilda