AH | Функция | ||||||||||
0h | Читать буфер клавиатуры (84-клавишная клавиатура) Выход: AH - скан-код AL - ASCII код Примечания: Ждёт нажатия, если клавиша не нажата, и потом выдаёт нажатую клавишу | ||||||||||
1 | Получить состояние клавиатуры (84-клавишная клавиатура) Выход: При ZF=1 нет клавиши При ZF=0: AH - скан-код AL - ASCII код | ||||||||||
2 | Флаги клавиатуры (84-клавишная клавиатура) Выход: AL - флаги (0 -незажата, 1 - зажата(для режимов - включён)): бит 0 : правый Shift бит 1 : левый Shift бит 2 : CTRL бит 3 : ALT бит 4 : режим Scroll lock бит 5 : режим Num Lock бит 6 : режим Caps Lock бит 7 : режим Insert Примечания: Многие биосы изменяют значение регистра AH | ||||||||||
3 | Автоповтор
| ||||||||||
4 | Звук клавиш Вход: Al==1 - включено, AL==0 - выключено Примечания: Поддерживается не всеми БИОСами Многие биосы изменяют значение регистра AH | ||||||||||
5 | Поместить символ в бувер клавиатуры Вход: CH - скан-код CL - ASCII код Выход: AL == 0 - успех, AL==1 - буфер переполнен Примечания: Многие биосы изменяют значение регистра AH | ||||||||||
9 | Функциональные возможности Вход: AL = 0 Выход: AL (если AL==0, то AH): байт возможностей: бит 0 : поддержка функции 0300h бит 1 : поддержка функции 0304h бит 2 : поддержка функции 0305h бит 3 : поддержка функции 0306h бит 4 : поддержка функции 0Ah бит 5 : поддержка клавиатуры 101/102 клавиши бит 6 : поддержка клавиатуры 122 клавиши бит 7 : резерв Примечания: Поддерживается не всеми BIOS Перед пременение реккомендуется проверить подлержку с помошью функции C0h прерывания 15h Многие биосы изменяют значение регистра AH даже если выход передан в AL | ||||||||||
Ah | ID клавиатуры Вход: AL = 0 Выход: BX : 0 - нет клавиатуры/неизвестная клавиатура 41ABh - Японская "G" клавиатура (M2F) в режиме транслита 54ABh - Японская "P" клавиатура в режиме транслита 83ABh - Японская "G" клавиатура (M2F) в режиме pass-through 84ABh - Японская "P" клавиатура в режиме pass-through 86ABh - 122-х клавишная 90ABh - старая Японская "G" клавиатура 91ABh - старая Японская "P" клавиатура 92ABh - старая Японская "A" клавиатура Примечания: Поддерживается не всеми БИОСами | ||||||||||
10h | Читать буфер клавиатуры (101/102-клавишная клавиатура) Выход: Для стандартных клавиш: AH - расширеный скан-код AL - ASCII код Для клавиш и комбинаций с расширеным кодом: AL = 0 AH - расширенный ASCII код Для доп. клавиш: AL = 0eh AH - расширенный ASCII код Примечания: Ждёт нажатия, если клавиша не нажата, и потом выдаёт нажатую клавишу | ||||||||||
11h | Получить состояние клавиатуры (101/102-клавишная клавиатура) Выход: если ZF==1, то символа нет и AL может быть установлен в единицу если ZF==0: Для стандартных клавиш: AH - расширеный скан-код AL - ASCII код Для клавиш и комбинаций с расширеным кодом: AL = 0 AH - расширенный ASCII код Для доп. клавиш: AL = 0eh AH - расширенный ASCII код | ||||||||||
12h | Флаги Клавиатуры (101/102-клавишная клавиатура) Выход: AX - байт флагов(0 -незажата, 1 - зажата(для режмов - включён)): бит 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 Примечания: В Phoenix BIOS 4 User Manual rev6 содержится ошибка: они перепутали местами значения AH и AL | ||||||||||
20h | Аналагично функции 10h, но для 122-х клавишной клавиатуры | ||||||||||
21h | Аналагично функции 11h, но для 122-х клавишной клавиатуры | ||||||||||
22h | Аналагично функции 12h, но для 122-х клавишной клавиатуры | ||||||||||
F0h | Установить скорость процессора Вход: AL = 00 - низкая 01 - средняя 02 - высокая 03 - использовать значение джампера на материнской плате 08 - высокая, но с понижением при обращении к дискетному приводу Примечания: Поддерживается не всеми BIOS как правило, реализованны только значения 00, 01 и 02 | ||||||||||
F1h | Узнать скорость процессора Выход: AL = 00 - низкая 01 - средняя 02 - высокая 03 - использовать значение джампера на материнской плате 08 - высокая, но с понижением при обращении к дискетному приводу Примечания: Поддерживается не всеми BIOS как правило, реализованны только значения 00, 01 и 02 | ||||||||||
F4h | Упраление кэшем
| ||||||||||
FFh | Добавить символ в конец буфера клавиатуры Вход: DX - скан-код клавиши Выход: AL == 0, иначе - ошибка Примечания: Поддерживается не всеми BIOS |