Int 15H [AT] [PS/2] Function 83H (131) Event wait

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.