Page 21 - 4875
P. 21
Таблиця 3.4 – Функції переривання int 16h
Функція Значення
Читання символу з клавіатури з
00h, 10h, 20h
очікуванням.
01h, 11h, 21h Перевірка буферу на наявність символу.
05h Переміщення символу в буфер клавіатури.
02h, 12h, 22h Читання стану клавіатури.
Більшість цих функцій використовуються рідко, розглянемо
основні:
1 Зчитування з клавіатури з очікуванням
На вході: АН = 00h
На виході: АL = ASCII код або „0” коли в AH
розширений код
АН = розширений ASCII код при AL=0
Дана функція здійснює зчитування символу з буфером
клавіатури, якщо він там є, якщо буфер пустий, то програма переходить
в очікування поки не буде натиснута будь-яка клавіша. Крім того вона
повертає ще й комбінації з функціональною клавіатурою (Shift + Enter і
т.д.).
2 Перевірка буферу на наявність символу
На вході: АН = 01h
На виході: АL = ASCII код або „0”. коли в AH
розширений код
АН = розширений ASCII код при AL=0
ZF = „0” – якщо в буфері є символ
„1” – якщо немає.
Дана функція перевіряє буфер клавіатури, але при відсутності
натиснутих клавіш програма не переходить в режим очікування, а
встановивши ZF, передає управління програмі. Цю функцію часто
використовують разом із 00h для очистки вмісту буфера клавіатури.
3 Отримання станів переключаючи клавіш
На вході: АН = 02h
На виході: АL = байт стану переключаючих клавіш,
який відповідає
20