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. |
|