Requests setting of a semaphore after a specified interval or cancels a previous request.
Call with:
If requesting event wait
AH = 83H
AL = 00H
CX:DX = microseconds
ES:BX = segment:offset of semaphore byte
If canceling event wait
AH = 83H
AL = 01H
Returns:
If called with AL = 00H, and function successful
Carry flag = clear
If called with AL = 00H, and function unsuccessful (Event Wait already active)
Carry flag = set
If called with AL = 01H
Nothing
Notes:
The function call returns immediately. If the function is successful, bit 7 of the semaphore byte is set when the specified interval has elapsed. The calling program is responsible for clearing the semaphore before requesting this function.
The actual duration of an event wait is always an integral multiple of 976 microseconds. The CMOS date/clock chip interrupts are used to implement this function.
Use of this function allows programmed, hardware-independent delays at a finer resolution than can be obtained through use of the MS-DOS Get Time function (Int 21H Function 2CH, which returns time in hundredths of a second).
See also Int 15H Function 86H, which suspends the calling program for the specified interval in milliseconds.
This function is not supported on the PS/2 Models 25 and 30.