CodeNet / Языки программирования / Ассемблер / Прерывания DOS и BIOS
CodeNet / Платформы / Другие платформы / DOS / Прерывания DOS и BIOS
CodeNet / Платформы / Другие платформы / DOS / Прерывания DOS и BIOS
Функции BIOS - INT 1aH: ввод-вывод для времени
Этот сервис предоставляет доступ к системным часам. PC BIOS работает со "счетчиком тиков" - числом 55-мс интервалов, прошедших с момента включения или сброса PC. AT BIOS предоставляет также доступ к значениям часов реального времени, которые постоянно обновляются независимо от работы процессора и хранятся в CMOS-памяти компьютера AT.
AH сервис --- ---------------------------------------------------------------------------- 00H читать часы (счетчик тиков) выход: CX,DX = счетчик тиков с момента сброса. CX - старшая часть значения. AL = 0, если таймер не переполнялся за 24 часа с момента сброса. замечание: часы обновляются каждые 1193180/65536 (ў 18.2) тиков в секунду. тиков в секунде ў 18 тиков в минуте ў 1092 тиков в часе ў 65543 тиков в сутках ў 1573040 --- ---------------------------------------------------------------------------- 01H установить часы (счетчик тиков) вход: CX,DX = счетчик тиков. CX - старшая часть значения. --- ---------------------------------------------------------------------------- 02H ¦AT¦ читать время из "постоянных" (CMOS) часов реального времени выход: CH = часы в коде BCD (пример: CX = 1243H = 12:43) CL = минуты в коде BCD DH = секунды в коде BCD выход: CF = 1, если часы не работают --- ---------------------------------------------------------------------------- 03H ¦AT¦ установить время на "постоянных" (CMOS) часах реального времени вход: CH,CL = часы,минуты в коде BCD DH = секунды в коде BCD DL = 1 для опции "единиц светового дня" --- ---------------------------------------------------------------------------- 04H ¦AT¦ читать дату из "постоянных" (CMOS) часов реального времени выход: CH = столетие в коде BCD (пример: CX = 1987H = 1987) CL = год в коде BCD DH = месяц в коде BCD (пример: DX = 0312H = 12-е марта) DL = день в коде BCD выход: CF = 1, если часы не работают --- ---------------------------------------------------------------------------- 05H ¦AT¦ установить дату на "постоянных" (CMOS) часах реального времени вход: CH,CL = столетие,год в коде BCD DH,DL = месяц, день в коде BCD --- ---------------------------------------------------------------------------- 06H ¦AT¦ установить сигнал часов реального времени. В указанное время вызывается пользовательская программа по вектору прерывания INT 4aH. Лишь один сигнал может быть активен в каждый момент времени. вход: CH,CL = часы,минуты в коде BCD DH = секунды в коде BCD выход: CF = 1, если часы не работают или сигнал уже активен --- ---------------------------------------------------------------------------- 07H ¦AT¦ сбросить сигнал часов реального времени. это позволяет вам отменить один сигнал перед установкой другого.