<<

INT 1A - - GET AH = 00h Return: CX:DX = number of ticks since midnight AL = midnight flag, nonzero if midnight passed since time last read

Notes: there are approximately 18.2 clock ticks per , 1800B0h per 24 hrs (except on Tandy 2000, where the clock runs 20 ticks per second) IBM and many clone BIOSes set the flag for AL rather than incrementing it, leading to loss of a if two consecutive midnights pass without a request for the time (e.g. if the system is on but idle) since the midnight flag is cleared, if an application calls this function after midnight before DOS does, DOS will not receive the midnight flag and will fail to advance the

INT 1A - TIME - SET SYSTEM TIME AH = 01h CX:DX = number of clock ticks since midnight Return: nothing

Notes: there are approximately 18.2 clock ticks per second, 1800B0h per 24 hrs (except on Tandy 2000, where the clock runs at 20 ticks per second) this call resets the midnight-passed flag

INT 1A - TIME - GET REAL-TIME CLOCK TIME (AT,XT286,PS) AH = 02h Return: CF clear if successful CH = (BCD) CL = (BCD) DH = (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)

INT 1A - TIME - SET REAL-TIME CLOCK TIME (AT,XT286,PS) AH = 03h CH = hour (BCD) CL = minutes (BCD) DH = seconds (BCD) DL = daylight savings flag (00h standard time, 01h daylight time) Return: nothing

INT 1A - TIME - GET REAL-TIME CLOCK DATE (AT,XT286,PS) AH = 04h Return: CF clear if successful CH = (BCD) CL = (BCD) DH = (BCD) DL = day (BCD) CF set on error

INT 1A - TIME - SET REAL-TIME CLOCK DATE (AT,XT286,PS) AH = 05h CH = century (BCD) CL = year (BCD) DH = month (BCD) DL = day (BCD) Return: nothing