| 00h |
"SchedClock" called on each timer
tick
| Data: |
AL |
= |
tick interval in milliseconds |
|
| 01h |
"DevDone" device I/O complete
| Data: |
ES:BX |
 |
request header |
| Note: |
Must update status word first; may be
called from an interrupt handler. |
|
| 02h |
"PullRequest" pull next request from
queue
| Data: |
DS:SI |
 |
DWORD pointer to start of device's request queue |
|
Return: |
ZF |
- |
clear if pending request
| ES:BX |
 |
request header |
|
| ZF |
- |
set if no more requests |
|
| 03h |
"PullParticular" remove specific
request from queue
|
Data: |
DS:SI |
 |
DWORD pointer to start of device's request queue |
| ES:BX |
 |
request header |
| Return: |
ZF |
- |
set if request header not found |
|
| 04h |
"PushRequest" push the request onto
the queue
|
Data: |
DS:SI |
 |
DWORD pointer to start of device's request queue |
| ES:BX |
 |
request header |
| interrupts |
- |
disabled |
|
| 05h |
"ConsInputFilter" keyboard input
check
| Data: |
AX |
= |
character (high byte 00h if PC ASCII character) |
|
Return: |
ZF |
- |
set if character should be discarded |
| ZF |
- |
clear if character should be handled normally |
| Note: |
Called by keyboard interrupt handler so
DOS can scan for special input characters. |
|
| 06h |
"SortRequest" push request in sorted
order by starting sector
|
Data: |
DS:SI |
 |
DWORD pointer to start of device's request queue |
| ES:BX |
 |
request header |
| interrupts |
- |
disabled |
|
| 07h |
"SigEvent" send signal on keyboard
event
| Data: |
AH |
= |
event identifier |
|
Return: |
AL |
- |
destroyed |
| FLAGS |
- |
destroyed |
|
| 09h |
"ProcBlock" block on event
|
Data: |
AX:BX |
= |
k process and schedules another to run |
| CX |
= |
timeout in ms or 0000h for never |
| DH |
= |
interruptable flag (nonzero if pause may be
interrupted) |
| interrupts |
- |
disabled |
|
Return: |
after corresponding ProcRun call |
| CF |
- |
clear if event wakeup, set if unusual wakeup |
| ZF |
- |
set if timeout wakeup, clear if interrupted |
| AL |
= |
wakeup code, nonzero if unusual wakeup |
| interrupts |
- |
enabled |
| BX |
- |
destroyed |
| CX |
- |
destroyed |
| DX |
- |
destroyed |
| Note: |
Block process and schedules another to
run. |
|
| 0Ah |
"ProcRun" unblock process
| Data: |
AX:BX |
= |
event identifier (typically a pointer) |
|
Return: |
AX |
= |
number of processes awakened |
| ZF |
- |
set if no processes awakened |
| BX |
- |
destroyed |
| CX |
- |
destroyed |
| DX |
- |
destroyed |
|
| 0Bh |
"QueueInit" initialize/clear
character queue
| Data: |
DS:BX |
 |
character queue structure (see #02600) |
| Note: |
The queue size field must be set before
calling. |
|
| 0Dh |
"QueueWrite" put a character in the
queue
| Data: |
DS:BX |
 |
character queue (see #02600) |
| AL |
= |
character to append to end of queue |
| Return: |
ZF |
- |
set if queue is full |
| ZF |
- |
clear if character stored |
|
| 0Eh |
"QueueRead" get a character from the
queue
| Data: |
DS:BX |
 |
character queue (see #02600) |
|
Return: |
ZF |
- |
set if queue is empty |
| ZF |
- |
clear if characters in queue
| AL |
= |
first character in queue |
|
|
| 10h |
"GetDOSVar" return pointer to DOS
variable
|
Data: |
AL |
= |
index of variable
|
| BX |
= |
index into variable if AL specifies an array |
| CX |
= |
expected length of variable |
|
Return: |
CF |
- |
clear if successful
| DX:AX |
 |
variable |
|
| CF |
- |
set on error
| AX |
- |
destroyed |
| DX |
- |
destroyed |
|
| BX |
- |
destroyed |
| CX |
- |
destroyed |
| Note: |
The variables may not be modified. |
|
| 14h |
"Yield" yield CPU if higher-priority
task ready to run
| Return: |
FLAGS |
- |
destroyed |
|
| 1Bh |
"CritEnter" begin system critical
section
| Data: |
DS:BX |
 |
semaphore (6 BYTEs, initialized to zero) |
|
Return: |
AX |
- |
destroyed |
| BX |
- |
destroyed |
| CX |
- |
destroyed |
| DX |
- |
destroyed |
|
| 1Ch |
"CritLeave" end system critical
section
| Data: |
DS:BX |
 |
semaphore (6 BYTEs, initialized to zero) |
|
Return: |
AX |
- |
destroyed |
| BX |
- |
destroyed |
| CX |
- |
destroyed |
| DX |
- |
destroyed |
| Note: |
Must be called in the context of the
process which called CritEnter on the semaphore. |
|