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