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