русс | укр

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

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

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

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


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

Кольцевой буфер (417h, 418h)


Дата добавления: 2014-10-07; просмотров: 2566; Нарушение авторских прав


Работой клавиатуры управляет специальный контроллер клавиатуры, обеспечивающий распознавание активной клавиши при нажатии и отпускании и формирование с учетом регистра клавиатуры скан-кода, который передается в порт 60h. Одновременно с передачей скан-кода в порт контроллер генерирует прерывание 09h. Базовый обработчик BIOS-прерывания клавиатуры анализирует значение скан-кода и, если это не код управляющей клавиши, транслирует его а двухбайтный код клавиши и помещает в буфер ввода клавиатуры (41 Eh).

Кольцевой буфер клавиатуры обеспечивает синхронизацию ввода данных с клавиатуры и приема их активной программой и вмещает 15 слов. Для работы с буфером служат два указателя: головной (41Аh) и хвостовой (41Сh). Хвостовой указатель хранит полный адрес первой свободной ячейки буфера, головной - адрес самого старого принятого от клавиатуры, но еще не востребованного программой кода. Если оба указателя имеют один и тот же адрес, то буфер пуст. Если хвостовой указатель на единицу меньше головного, то буфер запол­нен полностью. Буфер клавиатуры обслуживается по дисциплине FIFO.

При трансляции скан-кодов базовый обработчик использует информацию о состоянии управляющих клавиш смены регистров и клавиш-переключателей клавиатуры, которая хранится в статусных байтах 417h и 418h. Поступающая с клавиатуры комбинация кодов, не имеющая Специального значения, игнорируется. При длительном нажатии какой-либо клавиши контроллер клавиатуры генерирует последовательность кодов этой клавиши.

Системные средства ввода данных с клавиатуры Коды клавиш из буфера клавиатуры читаются соответствующей программой DOS или пользователя. Для этого используются системные средства BIOS или DOS. Если компьютер не выполняет никаких программ, то за вводом с клавиатуры фактически "следит" командный процессор СОМMAND.COM через DOS-прерывание 21h. Когда выполняется программа, ведущая диалог с пользователем, то ввод из кольцевого буфера производится либо через BIOS-прерывание 16h, либо через DOS-прерывание.



BIOS-прерывание 16h реализует ряд функций), которые обеспечивают работу с буфером на самом низком уровне. Операционная система MS-DOS позволяет пользователю обращаться к клавиатуре, как к файлу, либо реализовывать посимвольный ввод с клавиатуры. Для этого используются соответствующие функции DOS-прерывания 21h

 



<== предыдущая лекция | следующая лекция ==>
Клавиатурное прерывание | Скан-коды


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


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

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

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


 


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

 
 

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

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