|
Как стать программистом Как устроен компьютер. Что такое программа. Как написать свою программу. И многое другое узнаете вы из этой книги. Получить бесплатно! |
Команда XLATB
Команда XLATB в Ассемблере выполняет замену (подмену) байта в регистре AL байтом из таблицы - последовательности байтов в памяти. Синтаксис:
XLATB
Команда XLATB не имеет операндов. Никакие флаги при выполнении команды не изменяются.
С помощью этой команды можно, например, выполнять перекодировку символов, подменяя код в регистре AL кодом из таблицы в памяти. Адрес таблицы должен находиться здесь:
DS:[BX + беззнаковый AL]
Алгоритм работы команды XLATB:
- вычислить адрес, равный DS:BX+(AL)
- выполнить замену байта в регистре AL байтом из памяти по вычисленному адресу.
Пример на ассемблере:
.model tiny
.code
ORG 100h
LEA BX, TABLE ;ВХ - адрес TABLE
MOV AL, 2 ;DS:BX = DS:[адрес TABLE + 2]
XLATB ;AL = 43h (код исмвола C)
RET ;Выйти из программы
TABLE DB 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
Здесь мы сначала записываем в ВХ адрес последовательности байтов - таблицы TABLE.
Затем в регистр AL записываем адрес символа из этой таблицы. Поскольку адресация начинается с нуля,
то символ с адресом 2 - это 3-й символ в этой таблице, то есть символ С.
Затем выполняем команду XLATB, которая в регистр AL записывает ASCII-код третьего символа из таблице - число 43h.
Таким образом код 2h мы преобразовали в код 43h. Ну а что со всем этим делать - это уже вам подскажет ваше воображение.
Напоследок, как всегда, о происхождении аббревиатуры XLATB.
XLATB - это transLATe Byte from table (преобразовать байт из таблицы).
|
Подписаться на Дзен-канал
Вступить в группу "Основы программирования" Подписаться на рассылки по программированию |