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