[AT]
Expects: AX    8300H
CX,DX interval in microseconds (1,000,000ths of a second)
CX is high word, BX is low word
ES:BX address of byte to be used to flag end of interval
                                                                  
Returns: AH    83H
AL    00H =means fn is busy (note: only one timer can be set)
else=CMOS timer has been set
CF    NC (0) no error
CY (1) error; fn is busy
                                                                  
Info: This sets up to have the BIOS set a flag after a certain amount
to time.

The interval is set in microseconds with CX and DX being the high
and low words, respectively.

1,000,000 microseconds = 1 second; for instance, to set an
interval for 2 seconds, set CX=001eH and DX=8480H.

Upon expiration of the interval, bit 7 of the byte at ES:BX will
be set.  You must clear this bit before starting the interval.

Notes:   Only one timer-interval may be active.  Use INT 15H 8301H to
cancel the current interval.

  Remember to cancel the wait before exiting your program!
Later, some other process will own the memory address you have
used at the time-done-flag (ES:BX).

  If CX and DX are both 0000H on entry, no action is taken.

  In most systems, the finest possible resolution is about 1000
microseconds (about one one-thousandth of a second).  Thus, CX
must be at least 1000 (3e8H) for this to be useful.

  This works asynchronously, letting you perform other tasks
while occasionally polling the byte as ES:BX.  Use INT 15H 86H
if you want the system to wait (delay) for a specific interval.

  Other timer functions include INT 1aH (1/18-th second minimum
interval) and DOS fn 2cH (1/100-th second minimum interval).

See Also: INT 15H (extended AT services)
- -

INT 15H 8300H: Set Event Wait Interval