-----------------------------------------------------------------|Код Команда Число Описание ||операции тактовых || циклов || ||D7 XLAT m8 4 Установка AL равным байту || памяти DS:[(E)BX+AL без знака] ||D7 XLATB 4 Установка AL равным байту || памяти DS:[(E)BX+AL без знака] |----------------------------------------------------------------- Работа команды IF AddressSize = 16THEN AL <- (BX + ZeroExtend(AL))ELSE (* AddressSize = 32 *) AL <- (EBX + ZeroExtend(AL))FI; ОписаниеКоманда XLAT изменяет регистр AL с индекса таблицы на элемент таблицы.Регистр AL должен представлять собой индекс без знака для таблицы,адресуемой парой регистров DS:BX (в случае атрибута размера адреса,равного 16), или DS:EBX (в случае атрибута размера адреса 32 бита).Операнд команды XLAT позволяет переопределение сегмента. Команда XLATиспользует содержимое регистра BX даже при его отличии от смещенияоперанда. Смещение операнда должно быть помещено в регистр BX или EBXпредыдущей командой.Форма команды, не имеющая операнда, XLATB, может быть использована, еслитаблица для BX или EBX всегда находится в сегменте DS. Изменяемые флагиОтсутствуют Исключения защищенного режима#GP(0) в случае недопустимого исполнительного адреса операнда памяти всегментах CS, DS, ES, FS или GS; #SS(0) в случае недопустимого адреса всегменте SS; #PF(код сбоя) в случае страничного сбоя; #AC дляневыравненной ссылки к памяти при текущем уровне привилегированности,равном 3. Исключения режима реальных адресовПрерывание 13, если какая-либо часть операнда лежит вне пространстваисполнительных адресов от 0 до 0FFFFH. Исключения виртуального режима 8086Те же исключения, что и для режима реальных адресов: #PF (код сбоя) длястраничных сбоев. #AC для невыравненной ссылки к памяти при текущем уровнепривилегированности, равном 3.