Witam,
Za pomocą przerwań BIOS'a chcę otrzymać datę i czas. Jeśli miałbym użyć do tego przerwań DOS'a, to skorzystałbym z $2C. Ale w przypadku biosa, korzystam z int $1A, gdzie AH:= $02. Otrzymuję w tym momencie czas w kodzie BCD.
Informacja o przerwaniu:
AH = 02h
CF clear to avoid bug (see below)Return:
CF clear if successful
CH = hour (BCD)
CL = minutes (BCD)
DH = seconds (BCD)
DL = daylight savings flag (00h standard time, 01h daylight time)
CF set on error (i.e. clock not running or in middle of update)
Staram się skonwertować otrzymany wynik na ludzką postać, do kodu dziesiętnego.
writeln(CH and 240,':',CL and 112);
Jeśli jeszcze w przypadku godziny wynik był poprawny, to już dalej nie mogę dobrać odpowiedniej maski.