RTC & будильник
Как это сделать с помощью прерывания (если не ошибаюсь (4ah))??
Заранее спасибо.
1. Цепляетесь на 70h прерывание /от часов реального времени, IRQ9/. В обработчике читайте ячейку 0Ch /там содержатся биты источника прерываний/. Источников может быть три: по окончанию обновления часов /ежесекундно/, периодические /можно настроить по степеням двойки от 2 до 8192 Гц, по умолчанию настроено на 1024 Гц/ и от будильника /который вам и нужен/. Обычно /в MS-DOS/ это прерывание свободно /т.е. просто стоит IRET/. Если есть обработчик, то он ничего особо полезного не делает и его можно заменить своим /я так и делаю - значительно проще получается/. Маленький совет: перед выходом из прерывания читайте ячейку 0Ch /чтение этой ячейки сбрасывает состояние прерывания МС часов реального времени/. Если это не сделать, то в случае прихода еще одного прерывания в процессе отработки старого вы никогда больше /до чтения ячейки 0Ch/ не получите 70-го прерывания...
2. Прописываете нужное вам время просыпания и разрешаете в ячейке 0Bh генерацию преываний от будильника.