Справочник по языку Ассемблера IBM PC

     

XLAT/XLATB


(transLATe Byte from table)

Преобразование байта

Схема команды:  xlat адрес_таблицы_байтов xlatb 

Назначение: подмена байта в регистре al байтом из последовательности (таблицы) байтов в памяти.


Алгоритм работы:

вычислить адрес, равный ds:bx+(al);

выполнить замену байта в регистре al байтом из памяти по вычисленному адресу.

Несмотря на наличие операнда адрес_таблицы_байтов в команде xlat, адрес последовательности байтов, из которой будет осуществляться выборка байта для подмены в регистре al, должен быть предварительно загружен в пару ds:bx(ebx). Команда xlat допускает замену сегмента.



Состояние флагов после выполнения команды:

выполнение команды не влияет на флаги

Применение:


Команду xlat можно использовать для выполнения перекодировок символов. Для формирования адреса таблицы в регистрах bx(ebx) можно использовать команду lea или оператор ассемблера offset в команде mov.

table   db      'abcdef' int     db      0       ;значение индекса ...         mov     al,3         lea     bx,table         xlat            ;(al)='c'         

См. также: урок 7 и команду



Содержание раздела