INT 15H 86H: Wait


 Expects: AH    86H

          CX,DX interval in microseconds (1,000,000ths of a second)

                CX is high word, DX is low word


 Returns: AH    86H

          AL    mask written to interrupt ctrlr 2 (if successful)

                unmodified (if fn is busy)

          CF    NC (0) no error

                CY (1) error; fn is busy


    Info: This suspends execution of the caller for the specified interval.

          Interrupts are enabled during the delay.

          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, control returns to the caller

          and bit 7 of the byte at 0040:00A0 in the BIOS Data Area will be


   Notes: ž 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 (03e8H) for this to be useful.

          ž If you want to set a timer and continue processing, use

            INT 15H 8300H.

          ž 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