Download in PDF format

Transcript
MP/M User's Guide
Assembly Language:
CRCQUE:
DS
DB
DW
DW
DS
DS
DS
DS
DS
BUFFER: DS
2
QL
'CIRCQUE ’
1
MSGLEN
80
NMBMSGS
2
DQPH
2
NQPH
2
MSGIN
2
MSGOUT
2
MSGCNT
80
BUFFER
; NAME
The elements of the circular queue shown above are defined as
follows:
QL
NAME
= 2
= 8
MSGLEN
= 2
NMBMSGS
= 2
DQPH
= 2
NQPH
= 2
MSG$IN
= 2
MSG$OUT
= 2
MSG$CNT
= 2
BUFFER
= n
byte link, set by system
ASCII character queue name,
set by user
bytes, length of message,
set by user
bytes, number of messages,
set by user
bytes, DQ process head,
set by system
bytes, NQ process head,
set by system
bytes, pointer to next
message in, set by system
bytes, pointer to next
message out, set by system
bytes, number of messages
in the queue, set by system
bytes, where n is equal to
the message length times the
number of messages, space
allocated by user, set by system
Note: Mutual exclusion queues require
a two byte buffer for the owner process
descriptor address.
Queue Overhead
24 bytes
LINKED QUEUES
The following example illustrates how to setup a queue
control block for a linked queue containing 4 messages. each 33
bytes in length:
55
(All Information Herein is Proprietary to Digital Research.)