Message Services |
Function Number | Function |
0x20 | Get message |
0x24 | Check for message |
0x28 | Return message |
0x30 | Send message |
0x40 | Open message queue |
0x68 | Release block |
0x80 | Open message port |
0xA0 | Allocate IRQ |
0xE0 | Register new local user interface |
0xEF | Shutdown computer |
0xF0 | Self Test |
This gets a message from a message queue. If there are no message this service waits until one is received.
Input
EBX queue ID
Output
EBX Senders ID
ECX function
EDX data 1
ESI data 2
AL status
This gets a message from a message queue. If there are no messages it returns an error.
Input
EBX queue ID
Output
EBX Senders ID
ECX function
EDX data 1
ESI data 2
AL status
This function handles all messages that a message receiver doesn't handle.
Input
EBX Senders ID
ECX function
EDX data 1
ESI data 2
EDI Receivers ID
Output
AL status
This sends a message to a message queue.
Input
EBX Senders queue ID
ECX function
EDX data 1
ESI data 2
EDI Receivers queue ID
Output
AL status
You can't receive messages without first opening a message queue.
Input
BX code ID
Output
EBX queue ID
AL status
This service releases a block.
Input
EBX Sender ID
ECX Function number
EDX Size of block
ESI Start address of block
Output
AL status (0 means ok, no error
string)
System code can allocate a message port without a queue. When a message is sent to this port the code is called directly, the message is not queued.
Input
BX code ID
ECX offset to call
Output
AL status
This allocates an IRQ. When the interrupt occurs a message is sent to the owner.
Input
EBX message port ID
ECX returned function number
DL IRQ number
Output
AL status
The message sent when an IRQ occurs has this format:
Function: As set when IRQ allocated
Data1: IRQ number
Data2: tickHigh when message sent
0xE0 Register local user interface
When a message is sent to this port the code is called directly, the message is not queued. The local user interface always has message port ID 0.
Input
BX code ID
ECX offset to call
Output
AL status
This service spawns a task and returns like a normal. The spawned task performs an orderly shutdown before rebooting the computer.
Input
None
Output
AL status
This service test the message services data structures.
Input
none
Output
EBX address of error string (unless no
error)
AL status (0 means ok, no error
string)
Home Index |