русс | укр

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

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

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

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


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

Блочные команды ввода/вывода


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


Команды INS и OUTS пересылают блоки данных между портами ввода/вывода и памятью. Блочные команды ввода/вывода используют для адресации порта в адресном пространстве ввода/вывода регистр DX. Эти команды задают через регистр DX:

  • 8-битовые порты с нумерацией от 0 до 65535.
  • 16-битовые порты с нумерацией 0, 2, 4, ... , 65532, 65534.
  • 32-битовые порты с нумерацией 0, 4, 8, ... , 65528, 65532.

Блочные команды ввода/вывода используют для адресации памяти либо регистр SI, либо DI. При каждой пересылке регистр SI или DI инкрементируется или декрементируется, что определяется флагом направления приращений DF.

Будучи использованы с префиксами повторения, команды INS и OUTS выполняют операции блочного ввода или вывода. Префикс повторения REP модифицирует команды INS и OUTS таким образом, что они выполняют пересылку между портом ввода/вывода и оперативной памятью блоков данных. Эти блочные команды ввода/вывода являются строковыми командами (более подробное описание строковых команд см. в Главе 3). Они упрощают программирование и увеличивают скорость пересылки данных, исключая необходимость в использовании отдельных команд LOOP или промежуточных регистров для хранения данных.

Строковые команды ввода/вывода работают со строками байтов, слов или двойных слов. После каждой пересылки адрес памяти, находящийся в регистрах ESI или EDI, инкрементируется или декрементируется на 1 для байтовых операндов, на 2 для операндов-слов или на 4 для операндов-двойных слов. Флаг DF управляет тем, выполняется ли инкремент (флаг DF очищен) или декремент (Флаг DF установлен) регистра.

INS (Ввод строки из порта) пересылает элемент строки байтов, слов или двойных слов из порта ввода в оперативную память. Команда INSB пересылает байт из выбранного порта в область памяти, адресуемую регистрами ES и EDI. Команда INSW пересылает слово. Команда INSD пересылает двойное слово. Префикс переопределения сегмента для задания альтернативного сегмента назначения использоваться не может. В комбинации с префиксом повторения REP команда INS реализует циклическое считывание порта и помещение считанных данных в последовательно расположенные адреса памяти.



OUTS (Вывод строки в порт) пересылает элемент строки байтов, слов или двойных слов в порта вывода из оперативной памяти. Команда OUTSB пересылает байт в выбранный порта из области памяти, адресуемой регистрами ES и EDI. Команда OUTSW пересылает слово. Команда OUTSD пересылает двойное слово. Префикс переопределения сегмента для задания альтернативного сегмента источника использоваться не может. В комбинации с префиксом повторения REP команда OUTS реализует циклическое считывание данных в последовательно расположенных адресах оперативной памяти и запись их в порт вывода.



<== предыдущая лекция | следующая лекция ==>
Регистровые команды ввода/вывода | Уровень привилегированности ввода/вывода


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


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

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

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


 


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

 
 

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

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