Ассемблер и программирование для IBM PC



       

ГЛАВА 9. Экранные операции II: Расширенные возможности - часть 10


AH=07: Прямой ввод с клавиатуры без эхо отображения. Дан ная функция работает аналогично функции 01 с двумя отличия ми: введенный символ не отображается на экране, т.е. нет эхо, и oтсутствует реакция на запрос Ctrl/Break.

AH=08: Ввод с клавиатуры без эхо отображения. Данная функ ция действует аналогично функции 01 с одним отличием: введенный символ не отображается на экран, т.е. нет эхо.

AH=0B: Проверка состояния клавиатуры. Данная функция возвращает шест.FF в регистре AL, если ввод с клавиатуры возможен, в противном случае - 00. Это средство связано с функциями 01, 07 и 08, которые не ожидают ввода с клавиатуры.

ВВОД С КЛАВИАТУРЫ ПО КОМАНДЕ BIOS INT 16H ------------------------------------------------------------

Команда BIOS INT 16H выполняет специальную операцию, которая в соответствии с кодом в регистре AH обеспечивает следующие три функции ввода с клавиатуры.

AH=00: Чтение символа. Данная функция помещает в регистр AL oчередной ASCII символ, введенный с клавиатуры, и устанавливает скэн код в регистре AH. (Скэн-коды объясняются в следующем разделе). Если на клавиатуре нажата одна из специальных клавишей, например, Номе или F1, то в регистр AL заносится 00. Автоматическое эхо символа на экран по этой функции не происходит.

AH=01: Определение наличия введенного символа. Данная функция сбрасывает флаг нуля (ZF=0), если имеется символ для чтения с клавиатуры; очередной символ и скэн-код будут помещены в регистры AL и AH соответственно и данный элемент останется в буфере.

AH=02: Определение текущего состояния клавиатуры. Данная функция возвращает в регистре AL состояние клавиатуры из адреса памяти шест. 417:

Бит 7 Состояние вставки активно (Ins) 6 Состояние фиксации верхнего регистра (Caps Lock) переключено 5 Состояние фиксации цифровой клавиатуры (Num Lock) переключено 4 Состояние фиксации прокрутки (Scroll Lock) переключено 3 Нажата комбинация клавишей Alt/Shift 2 Нажата комбинация клавишей Ctrl/Shift 1 Нажата левая клавиша Shift 0 Нажата правая клавиша Shift




Содержание  Назад  Вперед