Programs can open the CLOCK$ device (via DOS fn 3dH) and use fn 3fH (read
file) to read the system time or fn 40H (write to file) to change it.

The format of all reads and writes to this device is a 6-byte (48-bit)
binary value indicating the number of milliseconds since January 1, 1980.
1000 milliseconds = 1 second; highest value is (2^48)-1 or 8915.7 years.

ClockIORec
Offset Size Contents
                                                                 
+0      2  wLowMs       least significant word (bits 0-15)
+2      2  wMidMs       middle word (bits 16-31)
+4      2  wHighMs      most significant word (bits 32-47)
6               Size of ClockIORec

Writing to CLOCK$ changes all parts of the structure.  It is much more
sensible to use DOS fns 2bH (set date) and 2dH (set time), which perform
the same task, but without the headaches.

See Also: Device Drivers
- -

CLOCK$ I/O Structure