{{page>en:templates:biosint}} ====== Int 1AH, AH=00H ====== ===== Version ===== IBM 5150 and higher ===== Brief ===== GetTime ===== Family API ===== [[en:docs:fapi:DosGetDateTime]] ===== Input ===== * AH = 00h ===== Return ===== * CX:DX = number of clock ticks since midnight * AL = midnight flag, nonzero if midnight passed since time last read ===== Macro ===== INCLUDE BIOS.INC @GetTime ===== 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) * IBM and many clone BIOSes set the flag for AL rather than incrementing it, leading to loss of a day 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 date * Modern releases of MS-DOS/PC DOS (5.0+???) assume that AL is a day rollover counter rather than a flag, as expected by older releases. DOS 5 - 7.10 (Windows 98 SE) provide an undocumented CONFIG.SYS SWITCHES=/T option to force the old behaviour of the day advancing code, that is using a flag instead of a counter. * DR DOS 3.31 - DR-DOS 7.03 handle AL as a flag. ===== Note ===== Text based on [[http://www.cs.cmu.edu/~ralf/files.html|Ralf Brown Interrupt List Release 61]] {{page>en:templates:biosapi}} {{page>en:templates:fapi}}