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

Выборка функции

Выборка функцииКоманда TRT, как и команда TR, использует таблицу байт-функций. Байт-аргумент применяется для получения адреса в таблице функций. Однако байт-аргумент в результате выполнения команды TRT не изменяется. Байт-аргумент используется только для получения адреса байта-функции, а затем байт-функция извлекается и используется для того, чтобы определить дальнейший ход выполнения операции. Если адресованный байт-функция равен нулю, то проверка данного байта-аргумента прекращается, выбирается и начинает проверяться следующий байт-аргумент. Если байт-функция не нуль, операция заканчивается, при этом адрес соответствующего аргумента помещается в общий регистр 1, а байт-функция — в младшие 8 разрядов общего регистра 2. Байты первого операнда выбираются’ слева направо один за другим. Выборка функции выполняется таким же образом, как в’команде TR. Если для всех просмотренных байт-аргументов не встретится ненулевой байт — функция, то выполнение команды заканчивается, а признак результата устанавливается равным 0. Если операция заканчивается при — встрече ненулевого байта-функции, то признак результата устанавливается равным 1. Если же ненулевой байт-функция соответствует самому последнему байту-аргументу, то признак результата устанавливается равным 2.

С помощью команды TRT можно проверить некоторую последовательность байт-аргументов, выбирая в ней те байты, которые необходимы для обработки, например ошибочные символы, пробелы, запятые и другие символы, использующиеся как разделители. Рассмотрим следующий пример. Имеется массив записей, расположенных в памяти, начиная с адреса DAN. Записи в массиве друг от друга отделяются пробелами. Внутри записей пробелы отсутствуют. Длина каждой записи неизвестна, но она не более 256, включая пробел-разделитель. Необходимо выделить запись из массива и поместить в область SAP для обработки.

Новое на сайте
Интересные записи
7c7cf2addf7598dc