русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

OUTS/OUTSB/OUTSW/OUTSD - Вывод строки в порт


Дата добавления: 2015-06-12; просмотров: 536; Нарушение авторских прав


-----------------------------------------------------------------|Код Команда Число Описание ||операции тактовых || циклов || ||6E OUTS DX,r/m8 17,pm=10*/ Вывод байта [(E)SI] в порт, || 32**,vm=30 заданный в DX ||6F OUTS DX,r/m16 17,pm=10*/ Вывод слова [(E)SI] в порт, || 32**,vm=30 заданный в DX ||6F OUTS DX,r/m32 17,pm=10*/ Вывод двойного слова [(E)SI]|| 32**,vm=30 в порт, заданный в DX ||6E OUTSB 17,pm=10*/ Вывод байта DS:[(E)SI] в порт,|| 32**,vm=30 заданный в DX ||6F OUTSW 17,pm=10*/ Вывод слова DS:[(E)SI] в порт,|| 32**,vm=30 заданный в DX ||6F OUTSD 17,pm=10*/ Вывод двойн. слова DS:[(E)SI] || 32**,vm=30 в порт, заданный в DX |----------------------------------------------------------------- Примечания: * если CPL <= IOPL ** если CPL > IOPL Работа команды IF AddressSize = 16THEN использование SI как индекса-источника;ELSE (* AddressSize = 32 *) использование ESI как индекса-источника;FI; IF (PE = 1) AND ((VM = 1) OR (CPL > IOPL))THEN (* Виртуальный режим 8086 или защищенный режим при CPL > IOPL *) IF NOT I-O-Permission(DEST, width(DEST)) THEN #GP(0); FI;FI;IF команда байтового типаTHEN [DX] <-[индекс-источника]; (* Запись байта в адресное пространство ввода/вывода согласно DX *) IF DF = 0 THEN IncDec <- 1 ELSE IncDec <- -1; FI;FI;IF OperandSize = 16THEN [DX] <- [индекс-источника]; (* Запись слова в адресное пространство ввода/вывода согласно DX *) IF DF = 0 THEN IncDec <- 2 ELSE IncDec <- -2; FI;FI;IF OperandSize = 32THEN [DX] <- [индекс-источника] <- [DX]; (* Запись двойного слова в адресное пространство ввода/вывода согласно DX *) IF DF = 0 THEN IncDec <- 4 ELSE IncDec <- -4; FI;FI;индекс-источника <- индекс-источника + IncDec; ОписаниеКоманда OUTS пересылает данные из байта, слова или двойного слова памяти,заданного регистром индекса-источника в порт вывода, адресуемый регистромDX. Если атрибут размера адреса для данной команды равен 16 битам, то вкачестве регистра индекса-источника используется регистр SI; в противномслучае, когда атрибут размера адреса равен 32 битам, регистроминдекса-источника является ESI.Команда OUTS не позволяет задавать номер порта непосредственным значением.Порт должен адресоваться значением в регистре DX. Перед выполнениемкоманды OUTS в DX должно быть загружено правильное значение.Адрес источника данных определяется содержимым регистра индекса источника.Перед выполнением команды OUTS в регистр индекса источника должно бытьзагружено правильное значение индекса.После выполнения пересылки регистр индекса источника соответственнымобразом автоматически продвигается. Если флаг DF равен 0 (была выполненакоманда CLD), то происходит инкремент региста; Если флаг DF равен 1 (былавыполнена команда STD), то происходит его декремент. Инкремент илидекремент регистра равен 1 при выводе байта, 2 при выводе слова и 4 привыводе двойного слова. Команды OUTSB, OUTSW и OUTSD - это синонимы команды OUTS, работающие сбайтом, словом и двойным словом, соответственно. Команде OUTS можетпредшествовать префикс REP для вывода блока, равного CX байтов или слов.Эта операция описана для команды REP. Изменяемые флагиОтсутствуют Исключения защищенного режима#GP(0), если текущий уровень привилегированности численно больше уровняпривилегированности ввода/вывода (IOPL) или если любой из соответствующихбитов разрешения ввода/вывода в TSS равен 1. исполнительного адресаоперанда памяти в сегментах CS, DS, ES, FS или GS; #SS(0) в случаенедопустимого адреса в сегменте SS; # PF(код сбоя) в случае страничногосбоя; #AC для невыравненной ссылки к памяти при текущем уровнепривилегированности, равном 3. Исключения режима реальных адресовПрерывание 13, если какая-либо часть операнда лежит вне пространстваисполнительных адресов от 0 до 0FFFFH. Исключения виртуального режима 8086Сбой #GP(0), если любой из соответствующих битов разрешения ввода/вывода вTSS равен 1. #PF (код сбоя) для страничных сбоев; #AC для невыравненнойссылки к памяти при текущем уровне привилегированности, равном 3.


<== предыдущая лекция | следующая лекция ==>
OUT - Вывод в порт | POP - Извлечение слова из стека


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.527 сек.