Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Программные средства для работы с клавиатурой





Возможно использование следующих средств среднего уровня дня управления клавиатурным вводом информации:

- функция 3Fh прерывания DOS INT 21h для работы с клавиатурой как с файлом,

- группа функций прерывания DOS INT 21h для посимвольного вво­да с клавиатуры,

- три (для IBM PC/XT) или пять (для IBM PC/AT) функций клавиа­турного драйвера BIOS для покодового ввода с помощью прерывания INT 16h.

- средства загружаемого драйвера ANSI.SYS поставляемого MS DOS.

Средства высокого уровня получают доступ к данным средствам через библиотеку стандартных функций и процедур, стандартных типов, переменных и констант, входящих в состав соответствующей системы программирования на языке высокого уровня.

Посредством стандартных типов, переменных и констант пользова­тель получает доступ к регистрам и ячейкам памяти ПЭВМ, а посредс­твом процедур и функций - к соответствующим функциям прерываний INT 21h и INT 16h.

Группа из 7 функций DOS, использующая прерывание INT 21h обеспечивает разнообразные возможности посимвольного ввода с клавиатуры в различных режимах.

При вызове функции в регистр AH должен быть записан номер вызываемой функции.

1) Функция 01h

Ожидает нажатия клавиши или комбинации клавиш и вводит в регистр AL содержимое байта ASCII кода из головной части кольцевого буфера клавиатуры с эхо-отображением на экране терминала.

2) Функции 06h, 07h, 08h

Осуществляют операции, аналогичные функции 01h, но отличаются наличием или отсутствием эха на экране терминала и реакцией на ввод Ctrl-Break.

Функция 06h требует перед вызовом занесения в регистр DL кода OFFh.

Ввод данных с клавиатуры без эхо-отображения на экране терми­нала позволяет управлять работой прикладной программы с использова­нием пароля.

Некоторые программы перед своим завершением должны обязательно выполнить некоторые действия, например, сохранить файлы на диске, поэтому их аварийное завершение по Ctrl-Break может привести к неверному функционированию программы при повторном запуске. Вследс­твие этого для управления вводом в таких программах необходимо ис­пользовать функции 07h или 08h вместо 01h или 06h.

3) Функция 0Ah.

Вводит в буфер пользователя по адресу DS:DX строку символов, набираемую на клавиатуре до нажатия клавиши Enter. Перед вызовом функции в первый байт буфера должна быть занесена максимальная дли­на строки плюс 1. Во второй байт буфера после ввода всей строки, начиная с третьего байта буфера, функция заносит текущую длину вве­денной строки без учета последнего кода в буфере - кода клавиши Enter (0Dh).

4) Функция 0Bh.

Проверяет кольцевой буфер клавиатуры. Если буфер не пуст, то в регистр AL засылается код 0FFh, иначе - код 00h. Данная функция ис­пользуется для управления с помощью клавиатуры выполнением циклических программ, когда цикл продолжается до тех пор, пока оператор не нажал какую-либо клавишу, код которой анализируется и осущест­вляется выход из цикла для выполнения действий, определенных по этой клавише.

5) Функция 0Ch.

В отличие от предыдущих данная функция сначала очищает кольцевой буфер клавиатуры, а затем выполняет функцию, код которой содержится в регистре AL (01h, 06h, 07h, 08h или 0Ah). Функция используется обычно после вывода на экран терминала приглашения на ввод данных с клавиатуры, когда нужно обеспечить игнорирование случайно нажатых клавиш до вывода данного приглашения.







Date: 2015-09-18; view: 408; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию