Библиотека системного программиста




Скачать 3.55 Mb.
Название Библиотека системного программиста
страница 8/48
Тип Документы
rykovodstvo.ru > Руководство эксплуатация > Документы
1   ...   4   5   6   7   8   9   10   11   ...   48

Аппаратное прерывание клавиатуры


Клавиатура подключена к линии прерывания IRQ1. Этой линии соответствует прерывание INT 09h.

Клавиатурное прерывание обслуживается BIOS, однако драйверы клавиатуры и резидентные программы могут организовывать дополнительную обработку прерывания INT 09h. Для этого может быть использована цепочка обработчиков прерывания.

Стандартный обработчик прерывания INT 09h


Как работает стандартный обработчик клавиатурного прерывания, входящий в состав BIOS?

Этот обработчик выполняет следующие действия:

  • читает из порта 60h скан-код нажатой клавиши;

  • записывает вычисленное по скан-коду значение кода ASCII нажатой клавиши в специальный буфер клавиатуры, расположенный в области данных BIOS;

  • устанавливает в единицу бит 7 порта 61h, разрешая дальнейшую работу клавиатуры;

  • возвращает этот бит в исходное состояние;

  • записывает в порт 20h значение 20h для правильного завершения обработки аппаратного прерывания.

Обработчик прерывания INT 09h не просто записывает значение кода ASCII в буфер клавиатуры, но также выполняет и другие действия. Например, он дополнительно отслеживает нажатие пользователем таких комбинаций клавиш, как , обрабатывает специальные клавиши и . При вычислении кода ASCII нажатой клавиши учитывается состояние клавиш и .

Буфер клавиатуры


Буфер клавиатуры имеет длину 32 байта и расположен в компьютере IBM PC/XT по адресу 0000h:041Eh.

В компьютерах моделей IBM PC/AT и IBM PS/2 расположение клавиатурного буфера задается содержимым двух слов памяти с адресами 0000h:0480h (смещение адреса начала буфера) и 0000h:0482h (смещение конца буфера). Обычно эти ячейки памяти содержат значения, соответственно, 001Eh и 003Eh. Так как смещения заданы относительно сегментного адреса 0040h, то стандартное расположение клавиатурного буфера в IBM PC/AT и IBM PS/2 соответствует его расположению в IBM PC/XT.

Буфер клавиатуры организован циклически. Это означает, что при его переполнении самые старые значения будут потеряны. Две ячейки памяти, находящиеся в области данных BIOS с адресами 0000h:041Ah и 0000h:041Ch содержат, соответственно, указатели на начало и конец буфера. Если значения этих указателей равны друг другу, буфер пуст.

Заметим, что вы можете удалить все символы из буфера клавиатуры, установив оба указателя на начало буфера. Однако есть более предпочтительный способ с использованием прерывания BIOS INT 16h, функции которого мы опишем позже в этой главе.

Указателями на начало и конец клавиатурного буфера обычно управляют обработчики прерываний INT 09h и INT 16h. Программа извлекает из буфера коды нажатых клавиш, используя различные функции прерывания INT 16h.

При переполнении внутреннего буфера клавиатуры или буфера, расположенного в области данных BIOS программа-обработчик прерывания INT 09h генерирует звуковой сигнал.

В программах MS-DOS у вас едва ли появится необходимость непосредственного манипулирования содержимым буфера клавиатуры - вы можете использовать прерывание BIOS INT 16h для выполнения практически всех клавиатурных операций.

Переключающие клавиши


Помимо управления содержимым буфера клавиатуры, обработчик прерывания INT 09h отслеживает так называемые переключающие клавиши - , , , . Состояние этих клавиш записывается в область данных BIOS в два байта с адресами 0000h:0417h и 0000h:0418h.

Формат байта 0000h:0417h:


Биты

Описание

0

Нажата правая клавиша

1

Нажата левая клавиша

2

Нажата комбинация клавиш с любой стороны

3

Нажата комбинация клавиш с любой стороны

4

Состояние клавиши

5

Состояние клавиши

6

Состояние клавиши

7

Состояние клавиши


Формат байта 0000h:0418h:


Биты

Описание

0

Нажата левая клавиша вместе с клавишей

1

Нажата левая клавиша вместе с клавишей

2

Нажата клавиша

3

Состояние клавиши

4

Нажата клавиша

5

Нажата клавиша

6

Нажата клавиша

7

Нажата клавиша


Если вы изменяете состояние светодиодов на панели клавиатуры, не забывайте устанавливать соответствующие биты в байтах состояния клавиатуры.

Программой обработки прерывания INT 09h отслеживаются некоторые комбинации клавиш. Ниже приведены эти комбинации и действия, выполняемые обработчиком прерывания при их обнаружении:


Комбинация клавиш

Выполняемые действия



Сброс и перезагрузка системы

,


Перевод компьютера в состояние ожидания до тех пор, пока пользователь не нажмет любую клавишу



Распечатка на принтере содержимого видеопамяти



Выполнение прерывания INT 1Bh, завершающего работу программы


Многие типы клавиатур имеют отдельную альтернативную цифровую панель, напоминающую клавиатуру калькулятора. Если одновременно с нажатием на клавишу набрать на этой панели число, не большее, чем 255 и не равное 0, то это число будет помещено в буфер клавиатуры, как будто бы оно было введено при помощи одной клавиши. Это число будет также записано в слово, расположенное в области данных BIOS по адресу 0000h:0419h.

Заметим, что упомянутый способ работает и в приложениях Microsoft Windows.
1   ...   4   5   6   7   8   9   10   11   ...   48

Похожие:

Библиотека системного программиста icon М. Ю. Храмцов С. В. Шарф Руководство системного программиста (администратора)...
Руководство системного программиста (администратора) системы управления прохождением задач мвс-1000/7 (версия 1, RedHat)
Библиотека системного программиста icon Руководство системного программиста
«Электронный бюджет» подсистема обеспечения интеграции, ведения реестров и формуляров
Библиотека системного программиста icon Руководство системного программиста (администратора)
Муниципальный модуль распределённой автоматизированной системы государственного банка данных о детях
Библиотека системного программиста icon Руководство системного программиста лист утверждения бкмд. 425530....
Программное обеспечение системы централизованного управления персональными мобильными устройствами и платформами в корпоративных...
Библиотека системного программиста icon Руководство системного программиста
З по выполнению государственных функций и оказанию государственных услуг, заинтересованным лицам территориальными управлениями Росоэз...
Библиотека системного программиста icon Система цифровой регистрации изображений комплект программного обеспечения
Программный документ “Руководство системного программиста” содержит сведения о “Комплексе программ для получения и визуализации данных,...
Библиотека системного программиста icon Инструкция по проведению регламентных и восстановительных работ rus. Гаро. 00001-25 32 02
Пк типа ibm pc в операционной системе Windows’98 и имеющих квалификацию инженера-программиста или системного инженера. Инструкция...
Библиотека системного программиста icon Инструкция читателя в онлайн-проекте «Библиотека ЛитРес» Аннотация...
«Библиотека ЛитРес» (biblio litres ru) позволяет читателям библиотек получить бесплатный доступ к электронным книгам, представленным...
Библиотека системного программиста icon Муниципальный модуль прикладного программного обеспечения «аист»...
Настоящий документ является эксплуатационным документом на муниципальный модуль прикладного программного обеспечения «Аист» (далее...
Библиотека системного программиста icon В. П. Казанцев инструкция по охране труда для инженера-программиста
Инструкция, регламентирует безопасный, с точки зрения охраны труда, по­рядок действий инженера-программиста в процессе исполнения...
Библиотека системного программиста icon Сектор Абонемента
ЛитРес Библиотека (поиск "ЛитРес" или "Библиотека"), ссылка на приложение: https://play google com/store/apps/details?id=ru litres...
Библиотека системного программиста icon Учебно-методический комплекс по дисциплине наименование дисциплины...
Системного подхода, системной инженерии и с обширным арсеналом методов и моделей системного анализа. Это даст необходимую методологическую...
Библиотека системного программиста icon Должностная инструкция системного администратора информационной системы персональных данных
Настоящая инструкция определяет основные обязанности, права и ответственность системного администратора информационной системы доу...
Библиотека системного программиста icon Пример описания технических требований системного блока №1 2 2 Пример...
Устройство бесперебойного питания для рабочих станций. Типовая конфигурация №1 21
Библиотека системного программиста icon Пример описания технических требований системного блока №1 2 2 Пример...
Устройство бесперебойного питания для рабочих станций. Типовая конфигурация №1 22
Библиотека системного программиста icon Пример описания технических требований системного блока №1 2 2 Пример...
Устройство бесперебойного питания для рабочих станций. Типовая конфигурация №1 17

Руководство, инструкция по применению






При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск