Команда XLAT перекодирует байты в другой формат.
Например, при переводе нижнего регистра в верхний или при перекодировке ASCII-кода.
Формат команды:
½11010111½
Алгоритм выполнения команды XLAT состоит из 2 шагов:
1. Прибавить содержимое регистра AL к содержимому регистра BX;
2. Использовать результат как смещение в сегменте данных (относительно DS) и поместить адресуемый байт из памяти в регистр AL.
Команда XLAT применяется для быстрого преобразования символов из одного кода в другой.
Команды LEA, LDS, LES отличаются от других команд пересылки тем, что при их выполнении в адресуемый регистр передается не собственно данные, а адреса.
LEA - загрузка эффективного адреса в регистр
Команда LEA загружает в указанный регистр эффективный адрес ячейки памяти
Формат команды:
LEA reg, mem
½10001101½mod reg r/m½
Эта команда применяется для инициализации регистров перед выполнением цепочечных команд.
Пример:
BX = 0500
SI = 0010
LEA BX, [BX + SI]
BX = 0510
LDS - загрузка регистра сегмента данных
Команда LDS загружает в указанный регистр содержимое ячейки памяти, а в сегментный регистр DS - следующую ячейку памяти (слово)
Эта команда обеспечивает быструю загрузку дальнего адреса.
Формат команды:
LDS reg, mem
½11000101½mod reg r/m½
Пример:
DS = 0000 [C0010] = 0180
DI = 0010 [C0012] = 2000
LDS SI, [DI]
SI = 0180
DS = 2000