Скэн-коды

Клавиатура имеет по две клавиши для таких символов как *, + и -. Нажатие «звездочки», например, устанавливает код символа шест.2A в регистре AL и один из двух скэн-кодов в регистре AH в зависимости от того, какая из клавишей была нажата: шест.09 для звездочки над цифрой 8 или шест.29 для звездочки на клавише PrtSc.

Функциональные клавиши Скэн-коды

Alt/A — Alt/Z 1E — 2C

F1 — F10 3B — 44

Home 47

Стрелка вверх 48

PgUp 49

Стрелка влево 4B

Стрелка вправо 4D

End 4F

Стрелка вниз 50

PgDu 51

Ins 52

Del 53

Приведем пример программы для установки курсора в строку 0 и cтолбец 0 при нажатии клавиши Номе (скэн-код 47):

MOV AH,00 ;Выполнить ввод с клавиатуры

INT 16H ; CMP AL,00 ;Функциональная клавиша?

JNE EXIT1 ; нет — выйти

CMP AH,47H ;Скэн-код для клавиши Home?

JNE EXIT2 ; нет — выйти

MOV AH,02 ;

MOV BH,00 ;Установить курсор

MOV DX,00 ; по координатам 0,0

INT 10H ;Вызвать BIOS

 

Функциональные клавиши F1—F10 генерируют скэн-коды от шест.3B до шест.44. Следующий пример выполняет проверку на функциональную клавишу F10:

CMP AH,44H ;Клавиша F10?

JE EXIT1 ; Да!

По адресу EXIT1 программа может выполнить любое необходимое действие.