Иллюстрированный самоучитель по Assembler

N

NEG Изменение знака, дополнение до 2

Команда neg выполняет вычитание целочисленного операнда со знаком из нуля, превращая положительное число в отрицательное и наоборот. Исходный операнд затирается. В качестве операнда можно указывать регистр (кроме сегментного) или ячейку памяти размером как в байт, так и в слово. Не допускается использовать в качестве операнда непосредственное значение. Команда воздействует на флаги OF, SF, ZF, AF, PF и CF.

Пример 1:

mov АХ,0 0 01
neg AX; AX=FFFFh=-1

Пример 2:

mov BX,-2; BX=FFFEh=-2
neg BX; BX=0002h

Пример 3:

;В полях данных
nmb dw 800lh; Если число со знаком,
;то -32767
;В программном сегменте
neg nmb; nmb=7FFFh=+32767

Иллюстрированный самоучитель по Assembler › Приложение. Система команд процессоров Intel. › N Допустимо использование 32-битовых операндов и дополнительных режимов адресации 32-разрядных процессоров.

Пример:

mov ECX, 5
neg ECX; ECX=FFFFFFFBh=-5

NOP Холостая команда

По команде пор процессор не выполняет никаких действий, кроме увеличения на 1 содержимого указателя команд IP (поскольку команда пор занимает 1 байт). Команда иногда используется в отладочных целях, чтобы "забить" какие-то ненужные команды, не изменяя длину загрузочного модуля или, наоборот, оставить место в загрузочном модуле для последующей вставки команд. В ряде случаев команды пор включаются в текст объектного модуля транслятором. Команда не имеет ни параметров, ни операндов и не воздействует на флаги процессора.

NOT Инверсия, дополнение до 1, логическое отрицание

Команда not выполняет инверсию битов указанного операнда, заменяя 0 на 1 и наоборот. В качестве операнда можно указывать регистр (кроме сегментного) или ячейку памяти размером как в байт, так и в слово. Не допускается использовать в качестве операнда непосредственное значение. Команда не воздействует на флаги процессора.

Правила побитовой инверсии:

Операнд-бит 0 1

Бит результата 1 0

Пример 1:

mov AX,0FFFFh
not AX; AX=0000h

Пример 2:

mov SI,5551h
not SI; SI=AAAEh

Иллюстрированный самоучитель по Assembler › Приложение. Система команд процессоров Intel. › N Допустимо использование 32-битовых операндов и дополнительных режимов адресации 32-разрядных процессоров.

Пример:

mov EAX,0C00SFF00h
not EAX; EAX=3FFC00FFh
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.