-----------------------------------------------------------------|Код Команда Число Описание ||операции тактовых || циклов || ||E4 ib IN AL,imm8 14,pm=8*/ Ввод байта из непосредствен-|| 28**,vm=27 но заданного порта в AL ||E5 ib IN AX,imm8 14,pm=8*/ Ввод слова из непосредствен-|| 28**,vm=27 но заданного порта в AX ||E5 ib IN EAX,imm8 14,pm=8*/ Ввод двойного слова из непо-|| 28**,vm=27 средственно заданного порта || в EAX ||EC IN AL,DX 14,pm=8*/ Ввод байта из порта DX в AL || 28**,vm=27 ||ED IN AX,DX 14,pm=8*/ Ввод слова из пора DX в AX || 28**,vm=27 ||ED IN EAX,DX 14,pm=8*/ Ввод двойного слова из порта|| 28**,vm=27 DX в EAX |----------------------------------------------------------------- Примечания: * если 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 и использования команды IN с регистром DX в качествевторого параметра. Эти команды ввода/вывода могут быть несколько корочепри использовании ввода/вывода через 8-битовый порт в команде. Старшиевосемь битов адреса порта при использовании ввода/вывода через 8-битовыйпорт будут равны 0. Изменяемые флагиОтсутствуют Исключения защищенного режима#GP(0), если текущий уровень привилегированности больше (т.е.привилегированность меньше) уровня привилегированности ввода/вывода (IOPL)или если любой из соответствующих битов разрешения ввода/вывода в TSSравен 1. Исключения режима реальных адресовОтсутствуют Исключения виртуального режима 8086Сбой #GP(0), если любой из соответствующих битов разрешения ввода/вывода вTSS равен 1.