INT 15h,  83h (131)      Event Wait                                      many

Modifies a byte in the user's memory after a specified time interval.
Control is transferred to the caller immediately after this service is

On entry:      AH         83h
AL         Subservice
00h - Set interval
01h - Cancel set interval
ES:BX - Pointer to byte that will be posted
CX:DX - Microseconds until posting (long integer)

Returns:       Carry      Set if service not supported, else cleared


After this service is called, control is returned immediately to the
caller. This service does not work by delaying and then returning
control to the user, but returns control immediately; the user must
periodically look at the byte specified (pointed to by ES:BX) to
determine when the interval has elapsed.

Notes:         The PC, PCjr, and the XT dated 11/08/82 do not
support this service. The AT dated 1/10/84 is only
able to set the interval; thus the value in AL is
not used.

The byte is posted by setting the high bit (bit 7).
To test the end of the interval, make sure the high
bit of the byte is clear before calling Subservice 0
(Set Interval).

The real-time clock is used to count the number of

The granularity of the time is 976 microseconds.

CX is the high-order word of the count. For example,
if CX is 98h and DX is 9680h, then a 10-second delay
would be specified.

See also: INT 15h, 86h

INT 15h, 83h (131) Event Wait many