Как стать программистом Как устроен компьютер. Что такое программа. Как написать свою программу. И многое другое узнаете вы из этой книги. Получить бесплатно! |
Команда 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 (преобразовать байт из таблицы).
Подписаться на Дзен-канал
Вступить в группу "Основы программирования" Подписаться на рассылки по программированию |
Первые шаги в программирование
Главный вопрос начинающего программиста – с чего начать? Вроде бы есть желание, но иногда «не знаешь, как начать думать, чтобы до такого додуматься». У человека, который никогда не имел дело с информационными технологиями, даже простые вопросы могут вызвать большие трудности и отнять много времени на решение. Подробнее... |