Средства 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 и предоставляют широкие возможности для отображения даты и времени в различных форматах. Подробное описание этих функций и примеры их использования вы найдете в документации на библиотеки. К сожалению, в этих библиотеках нет функций для организации программных задержек.



Содержание раздела