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


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


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

Рис. П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

Допустимо использование 32-битовых операндов и дополнительных режимов адресации 32-разрядных процессоров.

Пример


xchg ESI,EDI ;ESI и EDI обмениваются содержимым

XLAT Табличная трансляция


Команда xlat осуществляет выборку байта из массива байтов, который в этом случае называют таблицей трансляции. В регистре ВХ должен находиться относительный адрес таблицы, а в регистре AL - смещение в таблице к выбираемому байту (его индекс). Выбранный байт загружается в регистр AL, замещая находившееся в нем смещение. Длина таблицы может достигать 256 байт. Таблица должна находиться в сегменте данных, адресуемом через сегментный регистр DS. Замена сегмента не допускается. Команда xlat не имеет параметров, но требует предварительной настройки регистров ВХ и AL. Команда не воздействует на флаги процессора.




Начало  Назад  Вперед



Книжный магазин