logo search
несколько программ / bsp33

Установка таймера с сигнализацией

BIOS компьютеров IBM PC/AT содержит еще две интересные функции для работы с таймером. Это функции 83h и 86h прерывания INT 15h.

Функция 83h INT 15h позволяет запустить таймер на счет, указав адрес некоторого байта в оперативной памяти. Программа, запустившая таймер, сразу после запуска получает управление. По истечении времени, заданного при запуске таймера, функция устанавливает старший бит указанного байта в единицу, сигнализируя таким образом программе о завершении указанного временного интервала. Программа может также отменить работу таймера в этом режиме.

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

Приведем формат вызова функции 83h прерывания INT 15h:

Регистры на входе:

AH= 83h

AL = код подфункции:

0 – установить интервал, запустить таймер;

1 - отменить работу таймера;

CX = старший байт времени работы счетчика, задается в микросекундах;

DX = младший байт счетчика;

ES:BX = адрес байта, в котором по истечении интервала времени будет установлен старший бит

Регистры на выходе:

Регистры не используются