"Роберт Джордайн. Справочное пособие программиста - 2 (ассемблер, операционная система MS DOS)" - читать интересную книгу авторадату. Для получения даты поместите в AH 2AH и выполните прерыва-
ние. При возврате CX будет содержать год в виде числа от 0 до 119, что соответствует диапазону лет 1980 - 2099 (можно сказать что выдается смещение относительно 1980 г.). DH содержит номер месяца, а DL - день. MOV AH,2AH ;номер функции получения даты INT 21H ;получение даты MOV DAY,DL ;день из DL MOV MONTH,DH ;месяц из DH ADD CX,1980 ;добавляем базу к году MOV YEAR,CX ;получаем номер года Для установки даты поместите день, месяц и год в те же регист- ры и выполните функцию 2BH. Если значения, указанные для даты неверны, то в AL будет возвращено FF, в противном случае - 0. MOV DL,DAY ;помещаем день в DL MOV DH,MONTH ;помещаем месяц в DH MOV CX,YEAR ;помещаем год в CX SUB CX,1980 ;берем смещение относительно 1980 MOV AH,2BH ;номер функции установки даты INT 21H ;установка даты CMP AH,0FFH ;проверяем успешность операции JE ERROR ;неверная дата, идем на обработку ошибки .h3 2.1.4 Установка/чтение часов реального времени. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Часы реального времени имеют свой собственный процессор, кото- рый может подсчитывать время не влияя на другие компьютерные опе- рации. Они имеют также независимый источник питания, используемый когда компьютер выключен. Программно можно как читать, так и устанавливать часы рельного времени. Обычно имеется дополнитель- ное программное обеспечение, которое устанавливает счетчик време- ни суток BIOS и переменную даты DOS таким образом, чтобы они соответствовали текущим показаниям часов реального времени. Но можно программно проверить соответствие между ними и при обнару- жении разногласий принять необходимые меры. Различные установки времени и даты осуществляются через набор адресов портов. Многие многофункциональные платы расширения для IBM PC имеют часы реального времени, но, к сожалению, нет стан- дартной микросхемы и диапазона адресов портов. AT оборудуется часами реального времени, основанными на микросхеме MC146818 фирмы Motorola, которые используют те же регистры, что и микрос- хема, содержащая данные о конфигурации системы. Доступ к этим регистрам можно получить, послав сначала номер требуемого регист- ра в порт 70H, а затем прочитав значение регистра через порт 71H. Регистры, связанные с часами, следующие: |
|
|