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

V, X

386Р+ VERR Проверка сегмента на чтение

Команда verr позволяет определить, разрешено ли чтение из сегмента, за которым закреплен селектор, передаваемый команде в качестве ее операнда. Операндом может служить 16-разрядный регистр общего назначения или 16-битовая ячейка памяти.

386Р+ VERW Проверка сегмента на запись

Команда verw позволяет определить, разрешена ли запись в сегмент, за которым закреплен селектор, передаваемый команде в качестве ее операнда. Операндом может служить 16-разрядный регистр общего назначения или 16-битовая ячейка памяти.

486+ XADD Обмен и сложение

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

Иллюстрированный самоучитель по Assembler › Приложение. Система команд процессоров Intel. › V, X
Рис. П13. Действие команды xadd.

Пример:

; В полях данных
mem dw 99
;В программном сегменте
mov AX,48
xadd mem,AX; mem=147, AX=99

XCHG Обмен данными между операндами

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

Пример 1:

mov AX,OFF01h
mov SI,1000h
xchg AX,SI; AX=01000h, SI=FF01h

Пример 2:

;В полях данных:
mem dw 0F0F0h
;В программном сегменте
mov CX,1256h
xchg CX,mem; CX=F0F0h, mem=1256h

Пример 3:

mov AX,6031h
xchg AH,AL; AX=3160h

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

Пример:

xchg ESI,EDI; ESI и EDI обмениваются содержимым
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.