Железо ПК
Для начинающих пользователейДля любопытных пользователей
Для продвинутых пользователей
Трюки
Базовые операции с системной платойНастройка системной платы
Процессор
Память
Жесткие диски
Производительность жестких дисков
Видео
Устройства ввода/вывода
Загрузка
Настройка нового компьютера
Аппаратные интерфейсы ПК
ВведениеПараллельный интерфейс— LPT-порт
Последовательный интерфейс — СОМ-порт
Беспроводные интерфейсы
Последовательные шины USB и FireWire
Шина SCSI
Шины и карты расширения
Интерфейсы электронной памяти
Специализированные интерфейсы периферийных устройств
Интерфейсы устройств хранения
Интерфейсы компьютерных сетей
Вспомогательные последовательные интерфейсы и шины
Архитектурные компоненты IBM PC-совместимого компьютера
Интерфейсы питания, заземление и гальваническая развязка
Архитектурные компоненты IBM PC-совместимого компьютера
Для клавиатуры USB или иного устройства ввода, заменяющего клавиатуру в каче¬стве консоли, прерывание Int 9h должно вызываться программно при обработке каждого клавиатурного события. Обработчик этого прерывания должен выпол¬нять те же действия: скан-код пропускать через Int 15h(4Fh) и помещать в кла¬виатурный буфер, а также модифицировать флаги клавиатуры.
Интерфейс прикладного уровня для клавиатуры представляет BIOS Int 16h. Его основное назначение — извлечение слов из клавиатурного буфера. Функция зада¬ется в регистре АН при вызове, результат помещается в регистр АХ.
♦
АН = OOh — чтение (с ожиданием готовности) и выборка слова из буфера
(меняется указатель хвоста). Индикаторы клавиатуры обновляются в соответ¬
ствии с состоянием флагов. Если буфер пуст, то на AT выполняется прерыва¬ние Int 15h (подфункция 90), что может использоваться ОС, например, для переключения задач. Чтобы программа не «зависала» на ожидании символа, предварительно стоит проверить готовность функцией Olh. Символы расши¬ренной клавиатуры фильтруются — преобразуются в их аналоги 83-клавишной клавиатуры.
♦
АН = Olh — проверка готовности, чтение без выборки (указатели не изменяют¬ся). Признак наличия символа в буфере — установленный флаг ZF.
♦
АН = 02h — чтение состояния флагов (в AL — байт 0:417h, см. выше).
♦
АН = 03h — установка задержки и частоты автоповтора: BL — код задержки (00=250, 01=500,02=750,03=1000 мс), ВН - код частоты (см. п. 9.2.1).
♦
АН = 05h — запись слова из регистра СХ в буфер (меняется указатель головы). Признак успешной записи — AL=Q, если в буфере нет места, то AL=1.
♦
АН = 10h и AH=*llh — функции, аналогичные ООН и Olh, но предназначены специально для 101/102-клавишных клавиатур — в них не выполняется филь¬трация символов расширенной клавиатуры. Для ряда клавиш, отсутству¬ющих в клавиатуре АТ-84, эти функции дадут результаты, отличающиеся от вызовов OOh и Olh.
12.8. Сервисы и прерывания BIOS
485
♦ AH=12h .