         SYSTEM   SIG9
         SYSTEM   BPM
R0       SET      0
R1       SET      1
R2       SET      2
R3       SET      3
R4       SET      4
R5       SET      5
R6       SET      6
R7       SET      7
R8       SET      8
R9       SET      9
R10      SET      10
R11      SET      11
R12      SET      12
R13      SET      13
R14      SET      14
R15      SET      15
SR1      SET      R8
SR2      SET      R9
SR3      SET      R10
SR4      SET      R11
         DEF      QTANLZ
         REF      QT,DOUBLEZERO
         REF      V:LD@X
         REF      M:DO,M:SI,M:LO
         REF      OPENMD,CLOSEMD
         DEF      01:QT
01:QT    CSECT    1
QTANLZ   RES      0
         M:PC     '>'
READCOM  M:READ   M:SI,(BUF,COMMAND),(SIZE,140),WAIT
         LB,SR1   COMMAND
         CI,SR1   C'M'              MONITOR DISPLAY MODE
         BNE      TRYIN             B/ IF NOT
         LI,R6    0                 SET TO CORE MODE
         BAL,R7   OPENMD
         NOP
         B        READCOM
TRYIN    CI,SR1   C'I'              IN XXXX
         BNE      TRYEND
         LW,SR1   COMMAND
         AND,SR1  L(X'FF')          SAVE MONDUMP NUMBER
         CI,SR1   C'0'
         BL       EH
         CI,SR1   C'7'
         BG       EH
         LW,R6    SR1               MOVE MONDMP FILE NUMBER
         BAL,R7   OPENMD
         B        EH                FILE DOES NOT EXITS
         B        READCOM
TRYEND   CI,SR1   C'E'              END
         BNE      TRYX
EXIT     BAL,R7   CLOSEMD           CLOSE AND CLEAR PAGES
         M:CLOSE  M:LO,SAVE
         M:EXIT
TRYX     CI,SR1   C'X'
         BE       EXIT
TRYRUN   CI,SR1   C'R'              RUN
         BE       RUNQT
EH       M:WRITE  M:DO,(BUF,EHMESS),(BTD,0),(SIZE,3)
         B        READCOM
EHMESS   TEXT     'EH? '
RUNQT    RES      0
         LI,R2    0                 ENTRY TYPE (E0,Q,U,S.SQ)
         LI,R3    0                 PASS (S CHIAN / U CHAIN)
         LD,R14   DOUBLEZERO        Q ENTRY
         LD,R12   DOUBLEZERO        S ENTRY
         LD,R10   DOUBLEZERO        SQ ENTRY
         LI,R6    QT
         LI,R1    0                 INDEX INTO QT
GETNEXT  BAL,R7   V:LD@X            GET DOUBLE WORD
         BAL,R7   DUMP2HEX          PRINT THE ENTRY
         LI,R7    1                 HALF WORD INDEX
         EXU      MOVE,R2           MOVE ENTRY INTO ITS REGS
         EXU      NEXT,R2           GET NEXT INDEX
         BEZ      LAST              LAST IN THIS CHAIN
         EXU      BUMP,R2           BUMP TO NEXT ENTRY TYPE
         EXU      PASSI,R2
         B        GETNEXT
LAST     EXU      DECR,R2           DECREMENT TO NEXT ENTRY TYPE
         EXU      PASSD,R2
         EXU      LINK,R2           GET NEXT INDEX
         BEZ      LAST              LAST IN THIS CHAIN
         B        GETNEXT
PASSI    LI,R3    0
         LI,R3    0
         NOP
         NOP
         NOP
PASSD    LI,R3    0
         LI,R3    0
         LI,R3    1
         NOP
         NOP
MOVE     NOP      0                 E0
         LD,R14   R8                Q ENTRY
         LD,R12   R8                U ENTRY
         LD,R10   R8                S ENTRY
         NOP      0                 SQ ENTRY
NEXT     LH,R1    R8,R7             FROM E TO Q
         LH,R1    R14,R7            FROM Q TO U
         LH,R1    R12,R7            FROM U0 TO S OR U TO SQ
         LH,R1    R10,R7            FROM S TO SQ
         EXU      NEXT4,R3          FROM SQ TO SQ
NEXT4    LH,R1    R8                FROM SQ TO SQ ON S CHAIN
         LH,R1    R8,R7             FROM SQ TO SQ ON U CHAIN
BUMP     AI,R2    1                 BUMP FROM E0 TO Q
         AI,R2    1                 BUMP FROM Q TO U0
         EXU      BUMP2,R3          BUMP FROM U0 TO S OR U TO SQ
         AI,R2    1                 BUMP FROM S TO SQ
         NOP      0                 STAY IN SQ
BUMP2    AI,R2    1                 BUMP FROM U0 TO S
         AI,R2    2                 BUMP FROM U TO SQ
DECR     B        RUNQTX            EXIT RUN QT
         B        RUNQTX            EXIT RUN QT
         AI,R2    -1                FROM U TO Q
         AI,R2    -1                FROM S TO U
         EXU      DECR4,R3          FROM SQ TO S OR SQ TO U
DECR4    AI,R2    -1                FROM SQ TO S
         AI,R2    -2                FROM SQ TO U
LINK     B        RUNQTX            E0
         LH,R1    R14               Q TO Q
         LH,R1    R12               U TO U
         LH,R1    R10               S TO S
RUNQTX   B        READCOM
DUMP2HEX RES      0
         LCI      0
         PSM,R0   *R0               SAVE ALL REGISTERS
         LI,R3    20
         LW,R10   L(C'    ')
CLEAR    STW,R10  BUF-1,R3
         BDR,R3   CLEAR             CLEAR PRINT BUFFER
         LB,R11   STRTCLMN,R2       STARTING COLUMN
         LI,R7    0                 COUNT OF HEX CHARACTERS
PUTHEX   LB,R6    R8                GET HEX DIGIT
         SLS,R6   -4
         LB,R6    HEX,R6            CONVERT TO BCD
         EXU      NEXTCLMN,R2       GET NEXT COLUMN BIAS
         AW,R5    R11               ADD STARTING COLUMN
         STB,R6   BUF,R5            PUT CHARACTER IN BUFFER
         AI,R7    1
         SCD,R8   4
         CI,R7    15
         BLE      PUTHEX            CONTINUE UNTIL DONE
         AI,R5    2
         LI,R6    C'('
         STB,R6   BUF,R5
         LI,R3    7
PUTADR   LB,R6    R1
         AND,R6   L(X'F')
         BDR,R3   PUTADR1
         B        PUTADR2
PUTADR1  BEZ      PUTADR3
PUTADR2  LB,R6    HEX,R6
         AI,R5    1
         STB,R6   BUF,R5
PUTADR3  SLS,R1   4
         CI,R3    0
         BNEZ     PUTADR
         AI,R5    1
         LI,R6    C')'
         STB,R6   BUF,R5
         CI,R2    4                 SQ ENTRY
         BNE      SKIPLINE          B/ IF NO
         LI,R7    6
         LB,R6    R8,R7             GET FLAGS
         LI,R1    0
         SCS,R6   -8
         AI,R5    1
EXPAND   CI,R6    0
         BEZ      EXPAND9
         BGZ      EXPAND8
         LW,R10   MEANINGS,R1
         LB,R11   *R10
         LI,R7    1
EXPAND2  LB,R12   *R10,R7
         AI,R5    1
         STB,R12  BUF,R5
         AI,R7    1
         BDR,R11  EXPAND2
EXPAND8  SLS,R6   1
         AI,R1    1
         B        EXPAND
EXPAND9  LI,R12   C' '
         STB,R12  BUF,R5
         B        WRTBUF
SKIPLINE M:WRITE  M:LO,(BUF,L(C'    ')),(BTD,0),(SIZE,4)
WRTBUF   M:WRITE  M:LO,(BUF,BUF),(BTD,0),(SIZE,80),WAIT
         LCI      0
         PLM,R0   *R0
         B        0,R7
HEX      TEXT     '0123456789ABCDEF'
STRTCLMN DATA,1   51,41,26,16,1
         BOUND 4
NEXTCLMN LB,R5    4X4X4X4X,R7
         LB,R5    4X4X8X,R7
         LB,R5    4X4X4X2X2X,R7
         LB,R5    4X4X8X,R7
         LB,R5    4X4X4X2X2X,R7
4X4X4X4X DATA,1   0,1,2,3,5,6,7,8,10,11,12,13,15,16,17,18
4X4X8X   DATA,1   0,1,2,3,5,6,7,8,10,11,12,13,14,15,16,17
4X4X4X2X2X DATA,1 0,1,2,3,5,6,7,8,10,11,12,13,15,16,18,19
MEANINGS DATA     TXTCECB
         DATA     TXTCALL
         DATA     TXTCNOW
         DATA     TXTCASL
         DATA     TXTCBLO
         DATA     TXTCJOB
         DATA     TXTCSHA
         DATA     TXTCUPG
TXTCECB  TEXTC    'ECB EXISTS,'
TXTCALL  TEXTC    'ALLOCATED,'
TXTCNOW  TEXTC    'NO-WAIT,'
TXTCASL  TEXTC    'ASLEEP,'
TXTCBLO  TEXTC    'BLOCKEC,'
TXTCJOB  TEXTC    'JOB,'
TXTCSHA  TEXTC    'SHARE,'
TXTCUPG  TEXTC    'UPGRADE,'
         DEF      00:QT
00:QT    CSECT    0
COMMAND  RES,1    140
BUF      RES,1    80
COF      DATA     0                 0=CORE / '0'-'7'=FILE
         USECT    01:QT
         END      QTANLZ
