"Архитектура ввода-вывода персональных ЭВМ IBM PC" - читать интересную книгу автора (Лукач Ю.С.)

out 20h,al ;контроллеру прерываний
pop ax
iret

Перечень скан-кодов всех клавиш приведен в приложении 1. Вы
можете запретить прерывания от клавиатуры либо маскировкой бита
1 в регистре IMR контроллера прерываний, либо установкой бита 6
порта РВ ППИ:

in al,21h ;чтение IMR
or al,2 ;установка бита 1
out 21h,al ;запись IMR
или
in al,61h ;чтение РВ
or al,40h ;установка бита 6
out 61h,al ;запись РВ

Для разрешения работы клавиатуры необходимо выполнить
обратные действия.


6.2. Клавиатура IBM PC AT

Взаимодействие с клавиатурой в PC AT базируется на
микропроцессоре Intel 8042; благодаря этому программист имеет
гораздо большие возможности по управлению клавиатурой, нежели в
PC/XT.

Управление клавиатурой производится обращением к порту
ввода-вывода 64h. Для совместимости со старыми ПЭВМ допустимо
использование порта 60h. Если приведенные ниже примеры не
работают на Вашей ПЭВМ, то используйте порт 60h.

Порт 64h предназначен для вывода команд и данных и для
чтения состояния клавиатуры. Обшая схема посылки команд клавиа-
турe такова:

cli ;запрет прерываний
call wait_kbd ;ожидание готовности клавиатуры
mov al,cmd_code ;код команды
out 64h,al ;вывод в порт
sti ;разрешение прерываний

Для команд, сопровождающихся байтом данных, эта схема
принимает вид:

cli
call wait_kbd
mov al,cmd_code ;код команды
out 64h,al