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