"Роберт Джордайн. Справочное пособие программиста - 2 (ассемблер, операционная система MS DOS)" - читать интересную книгу автора100 TIME$ = "17:10:00" 'установка времени 110 PRINT TIME$ 'вывод времени Поскольку TIME$ возвращает строку, то для выделения отдельных частей показания часов можно использовать строковые функции MID$, LEFT$ и RIGHT$. Например, чтобы преобразовать время 17:10:00 в 5:10 Вы должны вырезать строку символов, соответствующую часам, преобразовать ее в числовой вид (используя функцию VAL), вычесть 12, а затем представить результат опять в виде строки: 100 T$ = TIME$ 'получаем строку времени 110 HOUR$ = LEFT$(T$,2) 'выделяем значение часов 120 MINUTES$ = MID$(T$,4,2) 'выделяем значение минут 130 NEWHOUR = VAL(HOUR$) 'преобразуем часы в число 140 IF NEWHOUR > 12 THEN NEWHOUR = NEWHOUR - 12 150 NEWHOUR$ = STR$(NEWHOUR) 'новое значение в строку 160 NEWTIME$ = NEWHOUR$ + ":" + MINUTES$ 'делаем новую строку Средний уровень. MS DOS предоставляет прерывания для чтения и установки време- ни, производя необходимые преобразования между значением счетчика времени суток и часами-минутами-секундами. Время выдается с точ- ностью до 1/100 секунды, но поскольку счетчик времени суток об- кунд очень приближенные. Функция 2CH прерывания 21H выдает время, а функция 2DH - устанавливает его. В обоих случаях CH содержит часы (от 0 до 23, где 0 соответствует полночи), CL - минуты (от 0 до 59), DH - секунды (от 0 до 59) и DL - сотые доли секунд (от 0 до 99). Кроме того при получении времени функцией 2CH, AL содержит номер дня недели (0 = воскресенье). Значение дня будет верным только если была установлена дата. DOS вычисляет номер дня недели по дате. Отметим также, что при установке времени функцией 2DH, AL отмечает правильность введенного значения времени (0 = пра- вильно, FF = неправильно). ;---установка времени MOV CH,HOURS ;вводим значения времени MOV CL,MINUTES MOV DH,SECONDS MOV DL,HUNDREDTHS MOV AH,2DH ;номер функции установки времени INT 21H ;устанавливаем время CMP AH,0FFH ;проверяем правильность значения JE ERROR ;переход на обработку ошибки ;---получение времени MOV AH,2CH ;номер функции получения времени |
|
|