-----------------------------------------------------------------|Код Команда Число Описание ||операции тактовых || циклов || ||E6 ib OUT imm8,AL 16,pm=11*/ Вывод байта AL в непосредст-|| 31**,vm=29 венно заданный номер порта ||E7 ib OUT imm8,AX 16,pm=11 */ Вывод слова AX в непосредст-|| 31**,vm=29 венно заданный номер порта ||E7 ib OUT imm8,EAX 16,pm=11*/ Вывод двойного слова EAX в || 31**,vm=29 непосредственно заданный || номер порта в ||EE OUT DX,AL 16,pm=11*/ Вывод байта AL в порт, || 31**,vm=29 номер которого задан в DX ||EF OUT DX,AX 16,pm=11*/ Вывод слова AX в порт, || 31**,vm=29 номер которого задан в DX ||EF OUT DX,EAX 16,pm=11*/ Вывод двойного слова EAX в || 31**,vm=29 порт,номер которого задан DX|----------------------------------------------------------------- Примечания: * если CPL <= IOPL ** если CPL > IOPL Работа команды IF (PE = 1) AND ((VM = 1) OR (CPL > IOPL))THEN (* Виртуальный режим 8086 или защищенный режим при CPL > IOPL *) IF NOT I-O-Permission(SRC, width(SRC)) THEN #GP(0); FI;FI;[DEST] <- SRC; (*используемое адресное пространство ввода/вывода*) ОписаниеКоманда IN пересылает байт или слово данных из заданного вторым операндомрегистра (AL, AX или EAX) в выходной порт, номер которого задан первымоперандом. Доступ к любому порту от 0 до 65535 выполняется путем помещенияномера порта в регистр DX и использования команды OUT с регистром DX вкачестве первого операнда. Если команда содержит идентификаторвосьми-битового порта, то значение расширяется нулем до 16 битов. Изменяемые флагиОтсутствуют Исключения защищенного режима#GP(0), если текущий уровень привилегированности больше (т.е.привилегированность меньше) уровня привилегированности ввода/вывода (IOPL)или если любой из соответствующих битов разрешения ввода/вывода в TSSравен 1. Исключения режима реальных адресовОтсутствуют Исключения виртуального режима 8086Сбой #GP(0), если любой из соответствующих битов разрешения ввода/вывода вTSS равен 1.