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


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать неотразимый комплимент Как противостоять манипуляциям мужчин? Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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: 81; Нарушение авторских прав

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