Случайное
Старые записи

Команды формата

Команды форматаКоманды TR и TRT являются командами формата SS. В них указывается общая длина для обоих операндов. Адрес первого Операнда является адресом данных, которые нужно перекодировать. Адрес второго операнда указывает начало таблицы, которая используется для перекодировки. Байты, заданные адресом первого операнда, называются аргументами, байты в таблице — функциями.

Действие команды TR таково: из памяти выбирается байт-аргумент. Восьмиразрядный код этого байта, интерпретируемый как двоичное число, прибавляется к адресу второго операнда. Таким образом, получается адрес некоторого байта в таблице перекодировки. Извлекается содержимое этого байта и помещается на место байта-аргумента. Любые значения байта-аргумента и байта-функции являются допустимыми. Операция выполняется для всех байт-аргументов, пока не будет исчерпан первый операнд.

Задача программиста состоит в составлении правильной таблицы перекодировки. Байт, который нужно перекодировать, можно рассматривать как индекс. Сумма его значения с начальным адресом таблицы задает адрес элемента в таблице. Элементы в таблице необходимо расположить так, чтобы по каждому полученному таким способом адресу в таблице находился байт, которым должен замещаться байт-аргумент.

Например, необходимо преобразовать буквы А, В, С в цифры 1, 2, 3 соответственно. Значения букв А, В, С в коде ДКОИ равны шестнадцатеричным числам Х’СГ, Х’С2’, Х’СЗ’ соответственно. Цифры 1, 2, 3 в коде ДКОИ имеют значения XTГ, ХТ2 ХТЗ’ соответственно. Предположим, таблицу перекодировки можно расположить в области TABL. Тогда в таблице байт с адресом TABL+Х’СГ должен иметь значение XTГ, байт с адресом TABL-f-X’C2’ — значение ХТ2’, а в байте с адресом TABL+Х’СЗ’ должно быть значение ХТЗ’. Если DATA — это имя области, где расположены буквы А, В, С, то команда TR DATA, TABL выполнит перекодировку букв в цифры.

Интересные статьи

Copyright © 2015. All Rights Reserved.