INT 15H 8300H: Set Event Wait Interval

 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)
          BIOS Data Area
          ROM-BIOS Functions