Assembler для начинающих


         

Перекодировка


    Команда перекодировки XLAT преобразует информацию из одного
    представления в другое.  Команда XLAT преобразует значение в
    регистре AL в другое значение, выбираемое из таблицы, на которую
    указывает регистр BX.  На Фиг.4.4 схематически показано, как
    работает эта команда.  Регистр BX вместе с выбранным сегментным
    регистром определяет точку начала таблицы перекодировки в памяти.
    К этому адресу таблицы команда прибавляет содержимое регистра AL,
    значение между 0 и 255.  Данные, расположенные по этому адресу,
    команда XLAT пересылает в регистр AL.  Команда XLAT выполняет
    операцию просмотра таблицы.
 
      Команду XLAT хорошо использовать при кодировании и
    декодировании текстовых данных. С помощью этой команды программа
    может организовать простую замену кодов символов. В следующем
    примере десять символов кода ASCII от 0 до 9 перекодируются в целях
    передачи. Этот метод может использоваться в системе для
    перекодировки информации, передаваемой из одной машины в другую.
    Когда данные принимаются, другая программа возвращает
    закодированные символы к их первоначальному виду. На Фиг. 4.5
    демонстрируется кодировка и декодировка.
 
      На Фиг.4.5 изображены две таблицы перекодировки, одна для
    передачи, а другая для приема. Чтобы передать значение 5, программа
    находит значение 5 в таблице передачи (а), из которой извлекает
    значение 6, которое передает. Когда это значение принимается,
    программа декодирования ищет 6 в таблице приема (b), чтобы
    перекодировать его в истинное значение 5.
 
      На Фиг. 4.6 показана подпрограмма, которая производит это
    декодирование. Подпрограмма перекодирования читает начальное
    значение из порта ввода=вывода, и возвращает кодированное или
    декодированное значение в вызывающую программу через регистр AL.
    Одна и та же программа выполняет как кодирова- ние, так и
    декодирование, меняя таблицы кодировки.
 
      Сначала подпрограмма читает данные из вводного порта 40H в



Содержание  Назад  Вперед