ИНТ 16H

Вызов прерывания BIOS

INT 16h , INT 0x16, INT 16H или INT 22 — это сокращение для BIOS interrupt call 16hex, 23-го вектора прерывания в компьютерной системе на базе x86. BIOS обычно устанавливает обработчик прерываний реального режима на этом векторе, который предоставляет услуги клавиатуры. Это прерывание отвечает за управление клавиатурой ПК.

Функции

Это прерывание отвечает за получение базовой функциональности клавиатуры, т. е. отвечает за сбор нажатий клавиш, получение статуса буфера клавиатуры и т. д. Стандартная кодировка клавиатуры, которая предлагает INT 16 h, — это клавиатура США. Чтобы адаптировать кодировку INT 16h к другому типу клавиатуры (например, международной клавиатуре), код должен проанализировать скан-код нажатой клавиши, а затем выполнить соответствующую интерпретацию.

Для клавиатур со 101 буквой и более есть некоторые клавиши, которые INT 16h интерпретирует как расширенные клавиши, имеющие скан-код, отличающийся от обычных клавиш (например, клавиша паузы).

Список услуг INT 16 ч.

ФункцияКод функции (AH)Устройство
Прочитать нажатие клавиши00чКлавиатура
Получить состояние буфера клавиатуры01чКлавиатура
Получить состояние клавиатуры02чКлавиатура
Установить фактор повторения03чКлавиатура
Регулировка щелчка клавиатуры04чКлавиатура
Имитировать нажатие клавиши05чКлавиатура
Получить идентификатор клавиатуры0АчКлавиатура
Прочитать расширенный символ клавиатуры10чРасширенная клавиатура
Получить статус расширенного буфера клавиатуры11чРасширенная клавиатура
Получить расширенный статус клавиатуры12чРасширенная клавиатура

Подробный список функций INT 16h

ФункцияКод функции (AH)УстройствоВходыВозвращаться
Прочитать нажатие клавишиКлавиатураНиктоAH [1] = Скан-код нажатой клавишиAL = ASCII- символ нажатой кнопки
Получить состояние буфера клавиатурыКлавиатураНиктоAH = Скан-код, ZF = 0, если клавиша нажатаAL = символ ASCII , AX = 0, если нет кодов сканирования
Получить состояние клавиатурыКлавиатураНиктоAH = Флаги клавиатуры BIOS
Установить фактор повторенияКлавиатураAL = Режим, BH = Задержка повтора (если AL = 5), BL = Скорость TypematricНикто
Регулировка щелчка клавиатурыКлавиатураAL = 0 (выкл.) или 1 (вкл.)Никто
Имитировать нажатие клавишиКлавиатураCH = Скан-код, CL = Символ ASCIIAL = 0 в случае успеха, 1 в противном случае
Получить идентификатор клавиатурыАааКлавиатураНиктоAL = Идентификатор клавиатуры

Смотрите также

Ссылки

  1. ^ "Сканировать коды".
  • объясненный и полный список прерываний 16h
Retrieved from "https://en.wikipedia.org/w/index.php?title=INT_16H&oldid=1267946414"