Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
29-32.doc
Скачиваний:
9
Добавлен:
23.04.2019
Размер:
220.67 Кб
Скачать

Получение состояния переключающих клавиш

На входе: AH = 02h

На выходе: AL = Байт состояния переключающих клавиш

Функция возвращает в регистре AL состояние переключающих клавиш (Shift, Ctrl, Alt, ScrollLock, NumLock, CapsLock, Ins). Формат байта состояния соответствует формату байта, находящегося в области данных BIOS по адресу 0000h:0417h:

Биты Значение

0 Нажата правая клавиша Shift.

1 Нажата левая клавиша Shift.

2 Нажата комбинация клавиш Ctrl-Shift с любой

стороны.

3 Нажата комбинация клавиш Alt-Shift с любой

стороны.

4 Состояние клавиши ScrollLock.

5 Состояние клавиши NumLock.

6 Состояние клавиши CapsLock.

7 Состояние клавиши Insert.

Функция может быть использована для анализа текущего состояния переключающих клавиш.

Установка временных характеристик клавиатуры

На входе: AH = 03h;

AL = 05h;

BL = Период автоповтора (количество повторов

за одну секунду):

0 - 30.0; 0Ah - 10.0;

1 - 26.7; 0Dh - 9.2;

2 - 24.0; 10h - 7.5;

4 - 20.0; 14h - 5.0;

8 - 15.0; 1Fh - 2.0.

BH = Задержка включения режима автоповтора:

0 - 250 мс;

1 - 500 мс;

2 - 750 мс;

3 - 1000 мс.

На выходе: Не используются.

Если BIOS, установленная в вашей машине, изготовлена после 15 декабря 1985 года, вы можете воспользоваться этой функцией для ускорения (или замедления) работы клавиатуры.

Запись символов в буфер клавиатуры

На входе: AH = 05h;

CL = ASCII-код записываемого символа;

CH = скан-код записываемого символа, или 0.

На выходе: AL = 0 - запись выполнена успешно;

1 - буфер клавиатуры переполнен.

С помощью этой функции можно вставить символы в буфер клавиатуры, как будто они были введены оператором.

Чтение символа с ожиданием для 101-клавишной клавиатуры

Функция 10h полностью аналогична функции 00h, но она предназначена для работы с клавиатурой, имеющей 101 клавишу.

Приведем формат вызова функции:

На входе: AH = 10h.

На выходе: AL = ASCII-код символа или 0, если AH содержит

расширенный ASCII-код символа;

AH = скан-код или расширенный ASCII-код

символа, если AL=0.

Функция определена для BIOS, изготовленной не раньше 15 декабря 1985 года.

Проверка буфера на наличие в нем символов для 101-клавишной клавиатуры

На входе: AH = 11h.

На выходе: ZF = 0, если в буфере имеется код нажатой

на клавиатуре клавиши;

ZF = 1, если буфер клавиатуры пуст;

AL = ASCII-код символа или 0, если AH содержит

расширенный ASCII-код символа;

AH = скан-код или расширенный ASCII-код

символа, если AL=0.

Функция 11h полностью аналогична функции 01h, но она предназначена для работы с клавиатурой, имеющей 101 клавишу.

Эта функция определена для BIOS, изготовленной не раньше 15 декабря 1985 года.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]