         DEF      DUMP
DUMP     EQU      %
*CREATED 7/6/72 KDR
MONPROC  SET      1
         SYSTEM   UTS
         PCC      0
*        CN704757     BPM   M:DUMP
         PAGE
         DEF      DUMPER
         DEF      DUMPW,DUMPWO,FNDDCB,PRINTV
         REF      CKLIMIT,T:IACU
         REF      J:JIT,J:TREE,J:DDLL,J:DDUL                            UTS-F00

         REF      J:DCBLINK
         REF      JBTDP,JBBCP                                           UTS-F00

         REF      CFUSIZE,M17,M6                                        UTS-F00

         REF      MSRRDWT,T:OVERLAY1
         REF      S:CUN,UH:DL
         REF      Y4,J:ASSIGN
         REF     JX:CMAP,FPMC
         REF      DOUBLEONE
         REF      MAPBUFS
         DEF      SETUP,REGPRNT,UNSETUP
         DEF      PRINTM
         SPACE    5
*                 PROC'S TO PUSH/PULL INTO/FROM A STACK WHOSE SPD IS    UTS-F00

*                 POINTED TO BY R15                                     UTS-F00

*                                                                       UTS-F00

PUSH15   CNAME    X'9',X'B'                                             UTS-F00

PULL15   CNAME    X'8',X'A'                                             UTS-F00

         PROC                                                           UTS-F00

         DO       NUM(AF)=1                                             UTS-F00

LF       GEN,1,7,4,3,17  1,NAME(1),AF(1),0,15                           UTS-F00

         ELSE                                                           UTS-F00

         DO       AF(1)=1                                               UTS-F00

LF       GEN,1,7,4,3,17  1,NAME(1),AF(2),0,15                           UTS-F00

         ELSE                                                           UTS-F00

         DO       AF(1)=16                                              UTS-F00

LF       LCI      0                                                     UTS-F00

         ELSE                                                           UTS-F00

LF       LCI      AF(1)                                                 UTS-F00

         FIN                                                            UTS-F00

         GEN,1,7,4,3,17  1,NAME(2),AF(2),0,15                           UTS-F00

         FIN                                                            UTS-F00

         FIN                                                            UTS-F00

         PEND                                                           UTS-F00

         PAGE
*        DUMPER (EP)  ENTRY POINT TO DO PMD'S FROM EXIT
*        R6 -> M:DO DCB OR DCB IN TSTACK
*        R10 -> USERS D4 IN TSTACK
*        R14 -> PUSH DOWN STACK WITH FROM-TO LIMITS IN IT               UTS-F00

*        R15 -> PUSH DOWN STACK IN A BLOCKING BUFFER                    UTS-F00

*        WITH PAIRS OF FROM TO ADDRESS TO DUMP PLUS
*        ONE WORD THAT IS A FLAG.  FLAG NOT ZERO MEANS
*        GIVE EXTENDED DUMP.
DUMPER   EQU      %
         PUSH     11
         LI,7     0                 # DUMP PAIRS
         LI,0     MAIN05            SET DO TO NO VFC
SETUP    LI,12    X'130'
         AND,12   0,6               SAVE VFC & BTD
         PUSH15   2,11
         LI,13    X'130'
         LI,12    X'100'
         STS,12   0,6               SET VFC & ZERO BTD
BIR0     B        *0
MAIN11   PUSH15   2,8
         AI,7     1
MAIN05   LCI      2
         PLM,8    *14               PULL A PAIR
         BCR,2    MAIN11            PULLED IF NOT TOO FAR
         SPACE    2
MAIN10   PLW,12   *14               FLAG WORD IS LAST OUT
         PUSH15   12                SAVE EXTENDED FLAG                  UTS-F00

         LI,11    X'20000'
         CW,11    J:ASSIGN          IF NO *FILE, GIVE REGS
         BAZ      %+3                ONLY.
         CI,7     0                 IS THER ANYTHING
         BE       MAIN13             TO DUMP. NO,GET OUT
         BAL,11   REGPRNT           DUMP REGS
         LW,11    *15                                                   UTS-F00

         MTW,0    *11               EXTENDED DUMP                       UTS-F00

         BNEZ     MAIN15            YEP
         AI,7     0                 NOPE, ANY MORE TO DO
         BNEZ     MAIN20            YEP, SOME FROM TO PAIRS
MAIN13   EQU      %
         PULL15   0                 FIX STACK                           UTS-F00

MAINEXIT PULL     1                 FIX M:DO DCB
UNSETUP  PULL15   2,11
         LI,13    X'130'
         STS,12   0,6               PUT VFC & BTD BACK
         B        0,1
         SPACE    3
MAIN15   LI,1     JITMES
         BAL,11   PRINTM
         LI,8     J:JIT                                                 UTS-F00

         LI,9     J:JIT+511
         BAL,11   DUMPW             DUMP JIT (EXTENDED DUMP)
         SPACE    2
MAIN20   EQU      %                                                     UTS-F00

         PUSH     7
         LW,2     J:TREE            ADDR. OF TREE TABLE                 UTS-F00

         LW,0     0,2
         CI,0     12
         BLE      MAIN24            NOT OVERLAY, SKIP THIS PHASE
         AW,0     2
         LI,1     SEGMES
         BAL,11   PRINTM
*                                   PRINT NAMES OF ALL SEGMENTS IN
         AI,2     1
MAIN22   LW,1     3,2               SEGMENT IN
         BGEZ     MAIN23
         LW,1     2                 YES, PRINT NAME
         BAL,11   PRINTM
MAIN23   AI,2     TTESIZE           NEXT ENTRY
         CW,2     0                 DONE
         BL       MAIN22            NO, LOOP
         SPACE    2
*
*        NEXT DUMP ALL DCB'S IF EXTENDED, GIVE CFU,FPOOL,IPOOL
*
         SPACE    1
MAIN24   EQU      %                                                     UTS-F00

         LW,2     J:DCBLINK                                             UTS-F00

         BEZ      MAIN30            NO MORE, QUIT
         LI,1     DCBMES
         BAL,11   PRINTM
MAIN26   BAL,0    FNDDCB            GETS ADDR IN R8
         BEZ      MAIN30            NO MORE, QUIT
         LW,1     12                ADDR OF NAME
         BAL,11   PRINTM
         LB,9     *8                SIZE OF DCB
         AW,9     8
         AI,9     -1
         BAL,11   DUMPW             DUMP DCB
         LW,11    *15                                                   UTS-F00

         MTW,0    *11                                                   UTS-F00

         BEZ      MAIN26            NOT EXTENDED
         LH,1     *8
         CI,1     X'20'             DCB OPEN
         BAZ      MAIN26            NO, NO EXTENDED
         LI,1     15
         AND,1    *8
         CI,1     3
         BGE      MAIN26
         PUSH15   8
         CI,1     2
         BE       MAIN28            TAPES DON'T HAVE CFU'S
         LI,1     CFUMES
         BAL,11   PRINTM
         AI,8     1
         LI,9     X'1FFFF'
         AND,9    *8
         LW,8     9
         AI,9     CFUSIZE-1
         BAL,11   DUMPW             DUMP CFU
         SPACE    2
MAIN28   EQU      %                                                     UTS-F00

         PULL15   8                                                     UTS-F00

         LW,7     8                 DCB ADDRESS
         LI,9     BUF1MSK+BUF2MSK
         AND,9    BUFX,7
         BEZ      MAIN26            NO BUF1 OR BUF2
         PUSH     5,14
         PUSH     6
         LW,6     8                 WORK DCB ADDRESS
         BAL,0    MAPBUFS           MAP BUF1 AND BUF2
         PULL     6                 DO DCB ADDRESS FPR PRINT
         PULL     5,14
         LI,9     BUF2MSK
         AND,9    BUFX,7
         BEZ      MAIN29            NO IPOOL
         LI,1     IPOLMES
         BAL,11   PRINTM
         LI,8     BUFF2             VIRTUAL ADDRESS OF BUF2
         LI,9     BUFF2+511         END OF BUF2
         BAL,11   DUMPW
         SPACE    2
MAIN29   EQU      %                                                     UTS-F00

         LI,9     BUF1MSK
         AND,9    BUFX,7            CHECK FOR BUF1
         BEZ      MAIN26            NO FPOOL
         LI,1     FPOLMES
         BAL,11   PRINTM
         LI,8     BUFF1             BUF1 VIRTUAL ADDRESS
         LI,9     BUFF1+511         END OF BUF1
         BAL,11   DUMPW
         B        MAIN26
         SPACE 2
MAIN30   EQU      %                                                     UTS-F00

         PULL15   12                                                    UTS-F00

         PULL     7
         AI,7     0                 ANY LIST
         BEZ      MAINEXIT                                              UTS-F00

         SPACE    2
MAIN32   LI,1     SPECMES
         BAL,11   PRINTM
MAIN33   EQU      %                                                     UTS-F00

         PUSH     7                                                     UTS-F00

         PUSH     15
         LW,7     *15
         LCI      2
         LM,7     -1,7              GET FRM-TO LIMITS
         SW,8     7                                                     UTS-F00

         LW,15    8
         SLS,15   2                 # BYTES TO CHECK
         BAL,0    CKLIMIT           ARE ANY PAGES IN THE AREA TO BE     UTS-F00

         LC       1                 RESTORE CC FROM CKLIMIT
         BCR,1    %+2               DUMPED PROTECTION TYPE 3            UTS-F00

         BCS,2    FIXLIM            YES, GO FIX 'EM
FIXED    EQU      %
         PULL     15
         PULL15   2,8                                                   UTS-F00

         BAL,11   DUMPW                                                 UTS-F00

NOGO     EQU      %
         PULL     7                                                     UTS-F00

         BDR,7    MAIN33                                                UTS-F00

         SPACE    3
*
*        DUMP PAGES GOTTEN BY M:GP
*
         SPACE    1
MAIN35   EQU      %                                                     UTS-F00

         LI,2     JBTDP                                                 UTS-F00

         LW,8     J:DDLL            GET PAGE NOS. OF LIMITS OF          UTS-F00

         LB,9     J:JIT,2           DYNAMIC DATA                        UTS-F00

         CW,9     8
         BLE      MAIN40            NO DYN PAGES
         SLD,8    9                 WORD
         AI,9     -1
         LI,1     DYNMES
         BAL,11   PRINTM
         BAL,11   DUMPW
         SPACE    3
*
*        DUMP PAGES GOTTEN BY M:GCP
*
         SPACE    1
MAIN40   EQU      %                                                     UTS-F00

         LI,2     JBBCP                                                 UTS-F00

         LB,8     J:JIT,2           GET LIMITS OF COMMON DATA           UTS-F00

         LW,9     J:DDUL                                                UTS-F00

         CW,8     9
         BGE      MAIN50
         AD,8     DOUBLEONE
         SLD,8    9                 WORD
         AI,9     -1
         LI,1     CMNMES
         BAL,11   PRINTM
         BAL,11   DUMPW
         SPACE    3
*
*        DUMP PAGES GOTTEN BY M:GVP
*
         SPACE    2
MAIN50   EQU      %                 SEARCH TDP THRU BCP FOR
         LI,2     JBTDP             PAGES WHOSE PHYSICAL ADDRESS IS
         LB,7     J:JIT,2           NOT = TO FPMC
         LI,2     JBBCP
         LB,10    J:JIT,2
         LI,1     0                 FLAG, 0 => NO MESSAGE YET
MAIN60   CW,7     10
         BG       MAINEXIT          DONE
         LOAD,2   JX:CMAP,7               PHYSICAL PAGE NR.
         CI,2     FPMC              IS IT ALLOCATED
         BE       MAIN70            NO, SKIP IT
         CI,1     0                 YES, IS MESSAGE PRINTED
         BNE      MAIN65            YES, SKIP IT
         LI,1     VPMES             NO, PRINT MESSAGE
         BAL,11   PRINTM
MAIN65   LW,8     7                 SET UP
         LW,9     7                 ARGS TO DUMP
         SLD,8    9
         AI,9     511               DUMP THE PAGE
         BAL,11   DUMPW
MAIN70   AI,7     1                 INCR INDEX
         B        MAIN60            & LOOK AT NEXT PAGE
         PAGE
*
*        REMOVE PROTECTION TYPE 3 PAGES
*        FROM THE PMD RANGE SPECIFIED
*        BY THE USER.
*
FIXLIM   EQU      %
         PULL     15                R15 POINTS TO ADR PAIR STACK
         PULL15   2,8               PULL BAD PAIR INTO R8,R9
         MTW,-1   *TSTACK           DECREMENT PAIR COUNT
         LW,10    6                 SAVE R6
         LD,6     8                 PUT BAD PAIR IN WORKING REGS
         SLS,6    -9                BOTTOM VP OF RANGE
         SLS,7    -9                TOP VP OF RANGE
         LI,5     -1                SET 'TOP BAD' FLAG
CHK      EQU      %
         BAL,11   T:IACU            CHECK ACCESS OF TOP
         BCR,2    PGOK              O.K., 00 OR 01
         BCR,1    PGOK              O.K., NOT 11
         CI,5     0                 ARE THERE ANY GOOD PAGES
         BE       PUSH              YES, AT LEAST ONE
         SLS,9    -9
         SLS,9    9
CHK1     EQU      %
         AI,9     -1                STEP DWN TO HIGHEST ADR, NXT LWR PG
         CW,9     8                 ARE WE FINISHED
         BLE      DONE              YES
         AI,7     -1                NO, CHECK NEXT LOWER PAGE
         LI,5     -1                SET 'TOP BAD' FLAG
         B        CHK
PGOK     EQU      %
         LI,5     0                 RESET 'TOP BAD' FLAG
         CW,7     6                 ARE WE FINISHED
         BE       PUSH1             YES (WITH A PUSH)
         AI,7     -1                NO, CHECK NEXT LOWER PAGE
         B        CHK
PUSH     EQU      %
         LW,3     9                 CURRENT TOP
         LW,2     7                 CURRENT BOTTOM
         AI,2     1                 STEP UP TO LAST GOOD PAGE
         SLS,2    9                 WORD ADDRESS
         PUSH15   2,2               PUSH GOOD PAIR INTO ADR PR STK
         MTW,1    *TSTACK           INCREMENT PAIR COUNT
         AI,2     -X'200'           SET NEW BAD TOP TO
         LW,9     2                   LAST BAD BOTTOM
         B        CHK1
PUSH1    EQU      %
         PUSH15   2,8               PUSH GOOD PR INTO ADR PR STK
         MTW,1    *TSTACK           INCREMENT PAIR COUNT
DONE     EQU      %
         LW,6     10                RESTORE R6
         MTW,0    *TSTACK           ANY GOOD PAIRS
         BEZ      NOGO              NO
         PUSH     15                YES
         B        FIXED
         PAGE
         SPACE    3
REGPRNT  EQU      %                                                     UTS-F00

         PUSH15   11                                                    UTS-F00

         LI,1     PSDMES
         BAL,11   PRINTM
         LW,8     10
         AI,8     -17
         LD,8     *8                PSD FROM STACK
         PUSH15   2,8                                                   UTS-F00

         LW,9     *15                                                   UTS-F00

         LW,8     *15                                                   UTS-F00

         AI,8     -1
         BAL,11   DUMPWO            DUMP PSD
         PULL15   2,8                                                   UTS-F00

         LI,1     REGMES
         BAL,11   PRINTM
         LW,9     10
         LW,8     10
         AI,8     -15
         BAL,11   DUMPWO
         PULL15   11                                                    UTS-F00

         B        *11
         PAGE
*
*        PRINTM - PRINT MESSAGE
*        R1 -> TEXTC MESSAGE
*        BAL,11
*        ALL MESSAGES GET DOUBLE SPACE
*        NO VOLATILE REGS
*
PRINTM   EQU      %                                                     UTS-F00

         PUSH15   7,12                                                  UTS-F00

         PUSH     15                                                    UTS-F00

         LB,2     *1                BYTE COUND
         AI,2     4
         SLS,2    -2
         CI,2     34
         BLE      %+2
         LI,2     34                34 WORDS IS BIGGEST MESSAGE
PRINTM05 AI,2     -1
         BLZ      PRINTM10
         LW,0     *1,2
         STW,0    *14,2
         B        PRINTM05
         SPACE    2
PRINTM10 LB,15    *1                GET BYTE COUND AGAIN
         AI,15    1                 1 MORE FOR VFC
         LI,0     'A'
         STB,0    *14
         BAL,12   PRINTV
         PULL     15                                                    UTS-F00

         PULL15   7,12                                                  UTS-F00

         B        *11
         SPACE    5
*
*        FNDDCB - FINDS NEXT DCB IN DCB TABLE
*        RETURNS DCB ADDRESS IN R8
*                 R12 = 0 MEANS NO MORE DCB'S
*                 CC SET BY AI,12   0 BEFORE EXIT
*        R12 -> TEXTC DCB NAME ON RETURN
*        BAL,R0
*        ON ENTRY:  R2 -> LAST DCB ADDRESS OR
*                   R2 -> 1ST WORD OF DCB TABLE
*        USES R3,R12,R13
*
FNDDCB10 LW,2     0,2               NEXT TABLE
         SPACE    2
FNDDCB   AI,2     1
         LW,12    0,2               1ST WORD OF NAME
         BEZ      BIR0
         LB,3     12
         BEZ      FNDDCB10          CHECK NEXT TABLE
         LW,12    2                 DCB NAME POINTER
         AI,3     4                 GET PAST NAME
         SLS,3    -2
         AW,2     3
         LW,8     0,2               ADDR OF DCB
         BEZ      FNDDCB            PREF, NO GOOD
         B        *0                GOT IT, RETURN
         PAGE
*
*        DUMPW,DUMPWO - CORE DUMP WITH AND WITHOUT ADDRESSES
*        R6 -> OUTPUT DCB
*        R14 -> OUTPUT BUFFER
*        R8       HAS LOWEST ADDRESS
*        R9       HAS HIGEST ADDRESS
*        USES 0-4,12,13,15
*        BAL,11
*
DUMPWO   LI,1     -1                NO ADDRESSES FLAG
         B        %+2
         SPACE    1
DUMPW    LI,1     0                 SET ADDRESSES FLAG
         AND,9    M17
         AND,8    M17
         PUSH15   10,2                                                  UTS-F00

         LW,10    1
         BLZ      DUMP10            NO ADDR, NO NEED TO LINE UP
         LW,10    8
         AND,8    YFFFFFFF8         8 WORD BOUND
         SW,10    8
         SPACE    2
DUMP10   LI,11    ' '               SET VFC CHAR
         AI,8     -8
DUMP20   LW,3     S:CUN
         LH,5     UH:DL,3
         CI,5     X'F000'
         BAZ      NOABRT            CHK BRK,EC,ERR,ABRT
         AI,1     0
         BGEZ     DUMP90
NOABRT   AI,8     8
         CW,8     9                 DONE
         BG       DUMP90            YEP, GET OUT
         BAL,5    CLEAR                                                 UTS-F00

         STB,11   *14
         LI,2     1
         AI,10    0
         BLZ      DUMP30            SKIP ADDRESS.
         SPACE    2
         LW,5     8
         SLS,5    12                ONLY 5 DIGIT ADDR
         LI,1     5
DUMP22   LI,4     0
         SLD,4    4
         LB,4     CNVT,4
         STB,4    *14,2
         AI,2     1
         BDR,1    DUMP22
         B        CHECK             CHECK FOR A BUNCH ALIKE             UTS-F00

         SPACE    2
DUMP23   AI,10    0                 SPECIAL CASE
         BLE      DUMP40            NO
         LW,1     10                YEP, FIX REGS
         MI,1     10
         LW,7     10                WORD INDEX
         LI,3     2
         CI,10    4                 PAST HALF LINE
         BL       DUMP35            NOPE
         AI,1     2                 YEP, 2 XTRA SPCS FOR MIDDLE
         LI,3     1                 ONLY 1 HALF LINE TO GO
DUMP35   AW,2     1                 BUFFER POINTER
         LCW,1    10
         AI,1     4
         BLEZ     %-1               # WORDS TO END OF HALF LINE
         B        DUMP45
         SPACE    2
DUMP30   LI,2     10                SET BUFFER POINTER
DUMP40   LI,3     2                 # HALF LINES
         LI,7     0                 #WORDS GONE
DUMP44   LI,1     4                 #WORDS/HALF LINE
DUMP45   LI,0     8                 # HALF BYTES/WORD
DUMP46   LW,5     *8,7              WORD TO DUMP
DUMP47   LI,4     0
         SLD,4    4                 CONVERT
         LB,4     CNVT,4               AND
         STB,4    *14,2                   STORE
         AI,2     1                          IT
         BDR,0    DUMP47            HALF BYTE LOOP
         AI,2     2                 2 SPACES BETWEEN WORDS
         ANLZ,5   DUMP46
         CW,5     9                 DONE
         BGE      DUMP49            BRANCH YES
         AI,7     1
         BDR,1    DUMP45            WORD LOOP
         AI,2     2                 2 EXTRA BETWEEN HALF LINES
         BDR,3    DUMP44            HALF LINE LOOP
         SPACE    2
*
*        PUT IN EBCDIC NEXT
*
         SPACE    1
DUMP49   LI,2     94                WHERE TO START
         CI,10    0                 SPECIAL 1ST TIME CASE
         BLE      DUMP50            NO
         LW,2     10                YES, CALCULATE # BYTES TO SKIP
         SLS,2    2
         LI,3     32
         SW,3     2                 # BYTES TO PROCESS
         LW,1     2                 WHERE TO START IN CORE
         AI,2     94                WHERE TO START IN BUFFER
         LI,10    0                 RESET FLAG
         B        DUMP52
         SPACE    2
DUMP50   LI,3     32
         LI,1     0                 BYTE COUNTER
DUMP52   LI,4     '*'               DELIMETER AT START
         STB,4    *14,2
DUMP55   LB,5     *8,1
         BAL,12   CONVERT           CONVERT EACH BYTE                   UTS-F00

         AI,2     1
         STB,5    *14,2             INTO BUFFER
         ANLZ,5   DUMP55
         AI,5     1
         SLS,5    -2
         CW,5     9                 DONE
         BG       DUMP57            BRANCH YES
         AI,1     1
         BDR,3    DUMP55
DUMP57   AI,2     1
         STB,4    *14,2             DELIMETER AT END
         PUSH     15                                                    UTS-F00

         BAL,12   PRINT             PRINT BUFFER
         PULL     15                                                    UTS-F00

         B        DUMP20
         SPACE    2
DUMP90   EQU      %                                                     UTS-F00

         PULL15   10,2                                                  UTS-F00

         B        *11
         SPACE    5
CLEAR    LD,2     BLKS              CLEAR BUFFER
         LI,1     16
         STD,2    *14,1
         AI,1     -1
         BGEZ     %-2
         B        0,5
         SPACE    5
*
*        CHECK - CHECKS FOR A BUNCH OF WORDS ALIKE
*        IF FOUND, PRINTS:  THRU YYYYY
*        SET R2 FOR NEXT LINE AND RETURNS
*        BAL,15
*
CHECK    LI,1     1                 WORD COUNTER
         LW,5     *8
         SPACE    1
CHECK10  CW,5     *8,1              SAME
         BNE      CHECK20           NO - SEE IF ENOUGH TO BOTHER
         AI,1     1                 YEP, INCREMENT # WORDS
         ANLZ,2   CHECK10           DONE
         CW,2     9
         BL       CHECK10
         SPACE    2
CHECK20  AND,1    YFFFFFFF8         SCRUB TO 8 WORD BOUND
         CI,1     16                2 LINES IS MINIMUM
         BLE      CHECK90           NO, EXIT
         AW,8     1                 YES, INCREMENT WORD POINTER
         AI,8     -8
         LI,1     1
         LD,2     THRU              GET MESSAGE
         STD,2    *14,1             INTO BUFFER
         LW,5     8
         AI,5     7                 PROPER ADDRESS TO PRINT
         LI,2     13                BUFFER POINTER
         LI,1     5
         SLS,5    12
CHECK25  LI,4     0
         SLD,4    4
         LB,4     CNVT,4
         AI,2     1
         STB,4    *14,2
         BDR,1    CHECK25
         LI,11    'A'               DOUBLD SPACE NEXT TIME
         STB,11   *14               AND THIS TIME
         PUSH15   5                                                     UTS-F00

         PUSH     15
         BAL,12   PRINT
         BAL,5    CLEAR                                                 UTS-F00

         PULL     15
         PULL15   5                                                     UTS-F00

         B        CHECK95
         SPACE    3
CHECK90  LI,11    ' '               SET SINGLE SPACEING
CHECK95  LI,2     10                BUFFER POINTER
         B        DUMP23
CONVERT  LB,7     GOODS
         CB,5     GOODS,7
         BE       *12                                                   UTS-F00

         BDR,7    %-2
         CI,5     'A'-1
         BG       %+3
         LI,5     '.'
         B        *12                                                   UTS-F00

         AND,5    M6
         LB,5     CNVT2,5
         B        *12                                                   UTS-F00

*
*        PRINT - SUBROUTINE TO DO PRINTING
*        BAL,12
*        R6 -> DCB
*        R14 -> BUFFER
*        133 CHARS IF PRINT, R15 HAS COUNT IF PRINTV
*        USES R13,R15,R0
*
PRINT    LI,15    133
PRINTV   LW,13    =X'34000000'
         LI,0     0                 BTD
         PUSH     16,1
         LW,7     TSTACK
         AI,7     -4                POINTS TO FPT -1
         LI,8     X'11'             WRITE CODE
         LW,5     Y4                SET BIT FOR NO
         STS,5    J:ASSIGN          BUFFER CHEX
         LI,5     J:JIT
         LI,1     7
         AND,1    0,6               GET DCB ASN
         CI,1     2                 TAPE
         BNE      PRINT10           NO, JUST BAL
         LI,1     MSRRDWT           YES, DO OVERLAY
         LD,2     LBLT
         BAL,11   T:OVERLAY1
         B        %+2
PRINT10  BAL,11   MSRRDWT
         PULL     16,1
         B        *12
         SPACE    5
TTESIZE  EQU      11
         BOUND    8
LBLT     TEXTC    'LTAPE'
THRU     TEXT     'THRU    '
BLKS     TEXT     '        '
YFFFFFFF8 DATA    -8
CNVT     TEXT     '0123456789ABCDEF'
GOODS    TEXTC    '.(+&%*);,-/%:#@''=>< '
CNVT2    TEXT     '.ABCDEFGHI......',;
                  '.JKLMNOPQR......',;
                  '..STUVWXYZ......',;
                  '0123456789......'
PSDMES   TEXTC    'USER''S PROGRAM STATUS DOUBLE WORD.'
REGMES   TEXTC    'USER''S GENERAL REGISTERS.'
JITMES   TEXTC    'CURRENT JOB INFORMATION TABLE (JIT).'
SEGMES   TEXTC    'THE FOLLOWING SEGMENTS ARE PRESENTLY IN CORE.'
DCBMES   TEXTC    'ALL USER DCB''S FOLLOW.'
CFUMES   TEXTC    'SYSTEM CFU FOR ABOVE DCB.'
IPOLMES  TEXTC    'SYSTEM INDEX BUFFER FOR ABOVE DCB.'
FPOLMES  TEXTC    'SYSTEM BLOCKING BUFFER FOR ABOVE DCB.'
SPECMES  TEXTC    'USER SPECIFIED DUMP LIMITS FOLLOW.'
DYNMES   TEXTC    'USER''S DYNAMIC PAGES FOLLOW.'
CMNMES   TEXTC    'USER''S COMMON DYNAMIC PAGES FOLLOW.'
VPMES    TEXTC    'USER''S VIRTUAL PAGES FOLLOW.'
         END

