Int 9h должно вызываться программно при обработке каждого клавиатурного события. Обработчик этого прерывания должен выполнять те же действия: скан-код пропускать через Int 15h(4Fh) и помещать в клавиатурный буфер, а также модифицировать флаги клавиатуры.Int 16h. Его основное назначение — извлечение слов из клавиатурного буфера. Функция задается в регистре АН при вызове, результат помещается в регистр АХ.♦ АН
Int 15h (подфункция 90), что может использоваться ОС, например, для переключения задач. Чтобы программа не «зависала» на ожидании символа, предварительно стоит проверить готовность функцией 01h. Символы расширенной клавиатуры фильтруются — преобразуются в их аналоги 83-клавишной клавиатуры.♦ АН
ZF.♦ АН
AL — байт 0:417h, см. выше).♦ АН
BL — код задержки (00=250, 01=500, 02=750, 03=1000 мс), ВН — код частоты (см. п. 9.2.1).♦ АН
СХ в буфер (меняется указатель головы). Признак успешной записи — AL=0, если в буфере нет места, то AL=1.♦ АН
AH = 11h — функции, аналогичные 00h и 01h, но предназначены специально для 101/102-клавишных клавиатур — в них не выполняется фильтрация символов расширенной клавиатуры. Для ряда клавиш, отсутствующих в клавиатуре АТ-84, эти функции дадут результаты, отличающиеся от вызовов 00h и 01h.♦ AH
АХ — слово KbdShiftFlags101Rec), в котором младший байт совпадает с тем, что дает функция 02h (слово из 0:417h), а старший байт похож на слово из 0:418h. Назначение бит АХ: • бит 0 — клавиша Shift
• бит 1 — клавиша Shift
• бит 2 — клавиша Ctrl
• бит 3 — клавиша Alt
• бит 4 — включен индикатор Scroll Lock
• бит 5 — включен индикатор Num Lock
• бит 6 — включен индикатор Caps Lock
• бит 7 — включен режим Insert
• бит 8 — клавиша Ctrl
• бит 9 — клавиша Alt
• бит 10 — клавиша Ctrl
• бит 11 — клавиша Alt
• бит 12 — клавиша Scroll Lock
• бит 13 — клавиша Num Lock
• бит 14 — клавиша Caps Lock
• бит 15 — клавиша SysReq
AL возвращают АН — Alt-набором), сопровождаются нулевым скан-кодом. Alt-набор позволяет ввести в буфер любой символ — для этого его код в десятичной системе набирается на цифровой клавиатуре при нажатой клавише Alt, результат заносится в буфер при отпускании клавиши Alt.При AL
АН содержит Int 9h), то резидентная программа может ей «подбрасывать» слова в буфер, которые будут восприниматься как нажатие клавиш.ASCII-коды буфера, соответствующие нажатию клавиш, приведены в [1, 7]. При русификации (или другой локализации) клавиатуры отслеживание переключения регистров (языков) ложится на обработчик аппаратного прерывания клавиатуры.
12.8.2. Int 10h — видеосервис
Int 10h — видеосервис — предназначен для работы с графическим адаптером. Его первичной задачей является управление видеорежимом (BIOS Video Mode), определяющим формат экрана. BIOS адаптера должна выполнять программирование всех стандартных и специфических управляющих регистров для установки (смены) требуемого видеорежима и выбранных параметров развертки — кроме нее о способах этих переключений остальное ПО может и не знать.