Электронная библиотека книг Александра Фролова и Григория Фролова.
Shop2You.ru Создайте свой интернет-магазин
Библиотека
Братьев
Фроловых

Аппаратное обеспечение IBM PC

© Александр Фролов, Григорий Фролов
Том 2, книга 1, М.: Диалог-МИФИ, 1992.

[Назад] [Содеожание] [Дальше]

5.4. Средства MS-DOS для работы с таймером

MS-DOS использует четыре функции прерывания INT 21h для работы с системным таймером. Эти функции позволяют узнать и установить текущие дату и время. MS-DOS версии 3.30 и более поздних версий при установке времени и даты изменяет также показания часов реального времени.

Для получения текущей даты используется функция 2Ah:

На входе:       AH = 2Ah.

На выходе:      DL = день (0...31);

                DH = месяц (1...12);

                CX = год (1980...2099);

                AL = номер дня недели:

                  0 - воскресенье;
                  1 - понедельник;
                  2 - вторник;
                        .........
                  6 - суббота.


Обратите внимание на то, что функция возвращает вам номер дня недели, который она вычисляет на основе даты.

Для установки даты используйте функцию 2Bh:

На входе:       AH = 2Bh;

                DL = день (0...31);

                DH = месяц (1...12);

                CX = год (1980...2099).

На выходе:      AL = 0, если установка выполнена        правильно;
                AL =    FFh, если при установке были заданы
                        неправильные параметры.


Для того, чтобы определить текущее время, можно воспользоваться функцией 2Ch:

На входе:       AH = 2Ch.

На выходе:      CH = часы (0...24);

                CL = минуты (0...59);

                DH = секунды(0...59);

                DL = сотые доли секунды (0...99).


Точность времени, полученного при помощи этой функции, определяется таймером (время обновляется 18.2 раза в секунду).

Для установки времени можно использовать функцию 2Dh:

На входе:       AH = 2Dh;

                CH = часы (0...24);

                CL = минуты (0...59);

                DH = секунды(0...59);

                DL = сотые доли секунды (0...99).

На выходе:      AL = 0, если установка выполнена        правильно;
                AL =    FFh, если при установке были заданы
                        неправильные параметры.


Стандартные библиотеки трансляторов Microsoft QC 2.5 и C 6.0 содержат многочисленные функции для работы с датой и временем. Они основаны на описанных выше функциях MS-DOS и предоставляют широкие возможности для отображения даты и времени в различных форматах. Подробное описание этих функций и примеры их использования вы найдете в документации на библиотеки. К сожалению, в этих библиотеках нет функций для организации программных задержек.

[Назад] [Содеожание] [Дальше]