Установка таймера с сигнализацией
BIOS компьютеров IBM PC/AT содержит еще две интересные функции для работы с таймером. Это функции 83h и 86h прерывания INT 15h.
Функция 83h INT 15h позволяет запустить таймер на счет, указав адрес некоторого байта в оперативной памяти. Программа, запустившая таймер, сразу после запуска получает управление. По истечении времени, заданного при запуске таймера, функция устанавливает старший бит указанного байта в единицу, сигнализируя таким образом программе о завершении указанного временного интервала. Программа может также отменить работу таймера в этом режиме.
Эту функцию удобно использовать для организации выполнения каких-либо действий параллельно с отсчетом времени, например, можно ограничить время для ввода пароля.
Приведем формат вызова функции 83h прерывания INT 15h:
Регистры на входе: | AH = 83h
AL = код подфункции: 0 – установить интервал, запустить таймер; 1 - отменить работу таймера; CX = старший байт времени работы счетчика, задается в микросекундах; DX = младший байт счетчика; ES:BX = адрес байта, в котором по истечении интервала времени будет установлен старший бит | ||
Регистры на выходе: | Регистры не используются |