*DECK QUEUE 
USETEXT COMCBEG 
USETEXT COMRQUE 
PROC QUEUE(QUEUEROOT);
# TITLE QUEUE - LINK QUEUE ENTRY INTO QUEUE. #
  
      BEGIN  # QUEUE #
  
# 
**    QUEUE   - LINK QUEUE ENTRY INTO QUEUE.
* 
*     LINKS QUEUE ENTRY ONTO END OF QUEUE POINTED TO BY THE 
*     SUPPLIED QUEUE ROOT.
* 
*     PROC QUEUE(QUEUEROOT).
* 
*     ENTRY   - QU$ADDRESS IS BASED ARRAY POINTING TO QUEUE ENTRY.
* 
*     EXIT    - QUEUE ENTRY LINKED TO END OF QUEUE. 
* 
*     PROCESS - SET NEXT QUEUE ENTRY ADDRESS TO ZERO OF ENTRY 
*                 TO BE LINKED. 
*               WHILE NEXT QUEUE ENTRY ADDRESS OF QUEUE IS NOT ZERO 
*                 POINT TO NEXT QUEUE ENTRY.
*               LINK ENTRY ON END OF QUEUE. 
*               INVALIDATE QUEUE POINTER ADDRESS. 
*               RETURN
* 
*     CAUTION - ASSUMES QUEUEROOT TO BE RIGHT MOST 18 BITS
*               OF 60 BIT WORD. 
* 
# 
  
      BASED ARRAY QUEUEROOT S(1); 
        BEGIN  # QUEUE ROOT # 
  
        ITEM QUE$ADDR   I(00,42,18); # ADDRESS OF NEXT QUEUE ENTRY #
  
        END  # QUEUE ROOT # 
  
  
CONTROL EJECT;
  
      QU$NXTADR = 0;
      ASLONGAS QUE$ADDR NQ 0
      DO
        BEGIN  # POINT TO NEXT QUEUE ENTRY #
        P<QUEUEROOT> = QUE$ADDR;
        END 
  
      QUE$ADDR = P<QU$ADDRESS>; 
      P<QU$ADDRESS> = O"400000";
      RETURN; 
      END  # QUEUE #
  
      TERM
