Эта статья включает список общих ссылок , но в ней отсутствуют соответствующие встроенные цитаты . ( Июнь 2015 ) |
INT 16h , INT 0x16, INT 16H или INT 22 — это сокращение для BIOS interrupt call 16hex, 23-го вектора прерывания в компьютерной системе на базе x86. BIOS обычно устанавливает обработчик прерываний реального режима на этом векторе, который предоставляет услуги клавиатуры. Это прерывание отвечает за управление клавиатурой ПК.
Это прерывание отвечает за получение базовой функциональности клавиатуры, т. е. отвечает за сбор нажатий клавиш, получение статуса буфера клавиатуры и т. д. Стандартная кодировка клавиатуры, которая предлагает INT 16 h, — это клавиатура США. Чтобы адаптировать кодировку INT 16h к другому типу клавиатуры (например, международной клавиатуре), код должен проанализировать скан-код нажатой клавиши, а затем выполнить соответствующую интерпретацию.
Для клавиатур со 101 буквой и более есть некоторые клавиши, которые INT 16h интерпретирует как расширенные клавиши, имеющие скан-код, отличающийся от обычных клавиш (например, клавиша паузы).
Функция | Код функции (AH) | Устройство |
---|---|---|
Прочитать нажатие клавиши | 00ч | Клавиатура |
Получить состояние буфера клавиатуры | 01ч | Клавиатура |
Получить состояние клавиатуры | 02ч | Клавиатура |
Установить фактор повторения | 03ч | Клавиатура |
Регулировка щелчка клавиатуры | 04ч | Клавиатура |
Имитировать нажатие клавиши | 05ч | Клавиатура |
Получить идентификатор клавиатуры | 0Ач | Клавиатура |
Прочитать расширенный символ клавиатуры | 10ч | Расширенная клавиатура |
Получить статус расширенного буфера клавиатуры | 11ч | Расширенная клавиатура |
Получить расширенный статус клавиатуры | 12ч | Расширенная клавиатура |
Функция | Код функции (AH) | Устройство | Входы | Возвращаться | |
---|---|---|---|---|---|
Прочитать нажатие клавиши | 0ч | Клавиатура | Никто | AH [1] = Скан-код нажатой клавиши | AL = ASCII- символ нажатой кнопки |
Получить состояние буфера клавиатуры | 1ч | Клавиатура | Никто | AH = Скан-код, ZF = 0, если клавиша нажата | AL = символ ASCII , AX = 0, если нет кодов сканирования |
Получить состояние клавиатуры | 2ч | Клавиатура | Никто | AH = Флаги клавиатуры BIOS | |
Установить фактор повторения | 3ч | Клавиатура | AL = Режим, BH = Задержка повтора (если AL = 5), BL = Скорость Typematric | Никто | |
Регулировка щелчка клавиатуры | 4ч | Клавиатура | AL = 0 (выкл.) или 1 (вкл.) | Никто | |
Имитировать нажатие клавиши | 5ч | Клавиатура | CH = Скан-код, CL = Символ ASCII | AL = 0 в случае успеха, 1 в противном случае | |
Получить идентификатор клавиатуры | Ааа | Клавиатура | Никто | AL = Идентификатор клавиатуры |