PMFILE860

(George Source)

Macros used: BLOCK, CHAIN, EMPTY, FIXTRA, ILLEGAL, MASK, ON, OPEN, PMBSADD, PMDLGET, PMOVE, PMSUBSREAD, SEGENTRY, T, TAB

PMFILE860.txt
22^=    #   
23DW    #OPT  K0PMFILE=0
23YG    #LIS  K0PMFILE>K0POST>K0ALLGEO  
24XQ    #   
25CB ...#SEG  PMFILE84                     [KAREL KOSKUBA   
25X2    #   
26BL    #     THIS SEGMENT GIVES LISTINGS OF THE CONTENTS OF THE FILE CHAIN 
26W=    #   
27*W                   8HPMFILE 
27TG
28*6    #     ENTRY POINT TABLE 
28SQ    #   
29#B ... SEGENTRY K1PMFILE,XK1PMFILE
29S2 ... SEGENTRY K2PMFILE,XK2PMFILE
2?=W    #   
2?QG    #     JJFILE AND JREDTAPE ARE ONLY TEMPERARY NAMES  
2#=6          FIXTRA   JJFILE   
2#PQ                   +JFILE              [OPTIONALLY SET BLOCK LENGTH 
2BN=    NAMEA          37HERROR IN MONITORING FILE BLOCK FORMAT 
2C7W    NAMEB          45HBLOCKS ON FILE CHAIN OPEN TO CURRENT ACTIVITY 
2CMG    NAMEC          15HBREAK IN CHAIN
2D76    NAMED          6H: NONE 
2DLQ    NAMEE          16HBACKWARD RINGING  
2F6B    NAMEF          22HPOINTER TO FCB ILLEGAL
2FL2    NAMEG          19HBREAK IN FILE CHAIN   
2G5L    NAMEH          9HFCB BLOCK  
2GK=    NAMEI          12HFSTACK BLOCK  
2H4W    NAMEJ          22HFSTACK BLOCK CORRUPTED
2HJG    NAMEK          22HADDRESS OF CPAT BLOCK:
2J46    NAMEL          6HJOBNO: 
2JHQ    NAMEM          7HACTNUM:
2K3B    NAMEN          13HWORKFILE RING 
2KH2    NAMEO          30HWORKFILES ASSOCIATED WITH JOBS
2L2L    NAMEP          18HBREAK IN ACTRING -
2LG=    NAMEQ          24HBREAK IN WORKFILE RING -  
2L^W    NAMER          7H: EMPTY
2MFG    NAMES          18HFILERING CORRUPTED
2M^6    XBLCOUNT       +0                  [COUNT OF BLOCKS IN ROW TO BE PRINTED
2NDQ                                       [IN ROUTINE PRINT (ALSO ROUT. PRBLOCK
2NYB    XBACKPR        +0                  [USED BY SEARCH ROUTINES 
2PD2                                       [ALSO IN K2-ADDR OF ACTRING BACKWARD 
2PXL                                       [POINTER 
2QC=    RBACKPR        +0                  [USED BY RSEARCH ROUTINES
2QWW    MCOUNT         +0                  [USED BY PRMON ROUT. AS COUNT WORD   
2RBG    TWENTY         +20  
2RW6    TWENTY5        +25  
2S*Q    SAFR           +0                  [K1-TO HOLD START ADDR. OF FILERING  
2STB                                       [K2-TO HOLD START ADDR. OF WORKFILE  
2T*2                                       [   RING 
2TSL    MONIND         +0                  [IND. SET IF MONITORING/JD FILE  
2W#=    RELE           +0                  [TO HOLD ADDR OF CURRENT RING ELEMENT
2WRW    RBACK          +0                  [SET WHEN BACKWARD RINGING   
2X?G    MASK           #17777777
2XR6    THREE          +3   
2Y=Q    PMFILEND       +ZPMFILE+1      [END OF SEG+1
2YQB    STACTRING      +BACT+ACTRING       [START ADDRESS OF ACTRING
2^PL    XFSPNTR        +0                  [TO HOLD ADDR. OF FSTACK BLOCK   
329=    XIND           +0                  [USED IN K2-WORKFILE RING
32NW                                       [SET=0 WHEN FORWARD RINGING  
338G                                       [   =1 WHEN BACKWARD RINGING 
33N6                                       [   =2 WHEN 'BACKWARD RINGING'   
347Q                                       [      HEADING TO BE PRINTED 
34MB                                       [   =- WHEN END OF RING  
3572    X128           +128 
35LL    X45            +45  
366=    XA1            +A1  
36KW    XFCB           +FILE+FCB
36TN ...XFINDEXF       +FI+FINDEXF  
375G    XBFILE         +BFILE   
37K6    #   
384Q    #     TABLE OF TYPE/SUBTYPES OF BLOCKS TO BE PRINTED IN FILESTORE PM
38JB    #     FORMAT
3942    #   
39HL    XTABLE  
3=3=    XFURB          +FILE+FURB   
3=GW    XFUWB          +FILE+FUWB   
3?2G    #SKI  INSA&INSB 
3?G6    (   
3?^Q                   +FI+INSERT1  
3#FB                   +FI+INSERT2  
3#^2                   +FI+INSERT3  
3*DL                   +FI+INSERT4  
3*Y=                   +FI+INSERT5  
3BCW    )   
3BXG    XTABLEND       +XTABLEND
3CC6    #   
3CWQ    XSTACK         +FILE+FSTACK 
3DBB    XCPAT          +CPAT/#100   
3DW2    XACT           #60  
3F*L    X512           +512 
3FT=    X513           +513 
3G#W    PRINTING       +0                  [USE BY PRINT ROUTINE TO INDICATE
3GSG                                       [STILL PRINTING BLOCKS   
3H#6    UPARROW        4H^^^^   
3HRQ    MONFILE        4HB1B0   
3J?B    XJDFILE        4HB5B1   
3JR2    NOTLISTED      16H0NOT LISTED 0000  
3K=L ...ZLPMT          +0   
3MNQ    ZLINKA         +0                  [TO HOLD LINK ADDRS. OF ROUTINES 
3N8B    ZLINKC         +0                  [
3NN2 ...UNE            +0                  [ TO HOLD X1 
3P7L ...XFOUR          +0                  [ TO HOLD X4 
3PM=    MNEMON         4HWORK   
3Q6W    ROWCNT         +0   
3R66    #   
3RKQ    #     TABLE OF JUMPS TO CONVERSION ROUTINES 
3S5B    #   
3SK2    RTNS  BRN      ROCT 
3T4L          BRN      RCHA 
3TJ=          BRN      RDECS
3W3W          BRN      RDECP
3WHG          BRN      RDECDEC  
3X36    #   
3XGQ    #     TABLE OF START ADDRESSES OF BLOCKS
3Y2B    #   
3YG2    TAB 
3Y^L    #REP  6 
3^F=          +0
3^YW    #   
42DG    #     TABLE GIVING LENGTHS TO BE PRINTED FROM BLOCKS IN TAB 
42Y6    #   
43CQ    TABL
43XB    #REP  6 
44C2          +0
44WL    #   
45B=    #     TABLE GIVING POSITION OF NEXT WORD TO PRINT FROM BLOCKS IN TAB
45TW    #   
46*G    TABC
46T6    #REP  6 
47#Q          +0
47SB    #   
48#2    #     TABLE CONTAINING IDENTITY BLOCK TABLE POINTERS FOR EACH BLK IN TAB
48RL    #   
49?=    TABI
49QW    #REP  6 
4==G          +0
4=Q6    #   
4?9Q    #DEF  ZTABL=TABL                   [DEFINED SO TABLE
4?PB    #DEF  ZTABC=ZTABL+7                [AREAS CAN BE USED   
4#92    #DEF  ZTABI=ZTABC+7                [BY PRBLOCK ROUTINE  
4#NL    #DEF  ZCOUNT=ZTABI+1               [AND PRMON ROUTINE   
4*8=    #   
4*MW    #     ROUTINE TO GET ADDRESS OF NEXT BLOCK IN CHAIN WHEN FORWARD
4B7G    #     CHAINING  
4BM6    #     ENTRY  X2=ADDRESS OF CURRENT BLOCK
4C6Q    #     EXIT 0 &  IF FORWARD AND BACKWARD POINTERS CORRECT
4CLB    #         X2,X3=ADDRESS OF NEXT BLOCK   
4D62    #            X0=LINK
4DKL    #     EXIT 0 0  IF BREAK IN CHAIN DETECTED  
4F5=    #            X3=ADDRESS OF NEXT BLOCK   
4FJW    #     (SEARCHA:ENTRY POINT FOR FIRST BLOCK ON CHAIN 
4G4G    #   
4GJ6    SEARCH  
4H3Q          LDX   3  BPTR(2)             [J IF BPTR IN CURRENT
4HHB ...      TXU   3  XBACKPR(1)          [BLOCK INCORRECT 
4J32          BCS      S1   
4JGL    SEARCHA 
4K2= ...      STO   2  XBACKPR(1)          [STORE ADD. OF CURRENT BLOCK 
4KFW          LDX   3  FPTR(2)             [GET ADD. OF NEXT BLOCK  
4K^G    S3    TXL   3  CORES
4LF6          BCC      S1                  [J IF INVALID
4LYQ ...      TXL   3  ENDFIX                [J IF ADDR. INVALID
4MDB          BCC      S2   
4MY2 ...      TXU   3   SAFR(1) 
4NCL          BCS      S1X  
4NX=    S2    LDX   2  3
4PBW          EXIT  0  1
4PWG ...S1X   TXU   3  STACTRING(1) 
4QB6          BCC      S2   
4QH# ...      TXU   3  XBFILE(1)
4QNG ...      BCC      S2   
4QTQ    S1    EXIT  0  0                   [BREAK IN CHAIN  
4R*B    #   
4RT2    #     ROUTINE TO GET ADDRESS OF NEXT BLOCK IN CHAIN, WHEN BACKWARD  
4S#L    #     CHAINING  
4SS=    #     ENTRY & EXIT AS SEARCH
4T?W    #     (SEARCHC:ENTRY POINT FOR FIRST BLOCK ON CHAIN 
4TRG    #   
4W?6    SEARCHB 
4WQQ          LDX   3  FPTR(2)             [J IF FPTR IN CURRENT
4X=B ...      TXU   3  XBACKPR(1)          [BLOCK INCORRECT 
4XQ2          BCS      S1   
4Y9L    SEARCHC 
4YP= ...      STO   2  XBACKPR(1)          [STORE ADD. OF CURRENT BLOCK 
4^8W          LDX   3  BPTR(2)             [GET ADD. OF NEXT BLOCK  
4^NG          BRN      S3   
5286    #   
52MQ    #     ROUTINE TO GET ADDR. OF NEXT RING ELEMENT WHEN FORWARD CHAINING   
537B    #     ENTRY    X2=ADDR. OF CURRENT ELEMENT  
53M2    #     EXIT 0 1 IF FORWARD & BACKWARD PNTRS CORRECT  
546L    #           X2,X3=ADDR. OF NEXT BLOCK   
54L=    #     EXIT 0 0 IF BREAK IN CHAIN DETECTED   
555W    #              X3=ADDR. OF NEXT BLOCK   
55KG    #     (RSEARCHA:ENTRY POINT FOR INITIAL ELEMENT ADDR.   
5656    #   
56JQ    RSEARCH 
574B          LDX   3  1(2) 
57J2 ...      TXU   3  RBACKPR(1)          [J IF BACKWARD PNTR. OF  
583L          BCS      S1   
58H=    RSEARCHA
592W ...      STO   2  RBACKPR(1)          [STORE ADDR. OF CURRENT ELEMENT  
59GG          LDX   3  0(2)                [GET ADDR. OF NEXT   
5=26          BRN      S3   
5=FQ    #   
5=^B    #     ROUTINE TO GET ADDR. OF NEXT RING ELEMENT WHEN BACKWARD CHAINING  
5?F2    #     ENTRY & EXIT AS FOR RSEARCH   
5?YL    #     (RSEARCHC:ENTRY POINT FOR INITIAL ELEMENT ADDR.   
5#D=    #   
5#XW    RSEARCHB
5*CG          LDX   3  0(2)                [J IF BACKWARD POINT OF  
5*X6 ...      TXU   3  RBACKPR(1)          [CURRENT ELEMENT INCORRECT   
5BBQ          BCS      S1   
5BWB    RSEARCHC
5CB2 ...      STO   2  RBACKPR(1)          [CURRENT RING ELEMENT ADDR.  
5CTL          LDX   3  1(2)                [NEXT RING ELEMENT ADDR. 
5D*=          BRN      S3   
5DC8 ...#   
5DF6 ...#              EXITS FOR ROUTINES PRMON AND PRBLOCK 
5DH4 ...#   
5DK2 ...ROUTEXIT
5DLY ...      LDX   7  ZLINKA(1)
5DNW ...      EXIT  7  0
5DQS ...#   
5DSW    #   
5F#G    #   
5FS6    #     ROUTINE TO PRINT CONTENTS OF A BLOCK IN MONITORING FILE PRINT 
5G?Q    #     FORMAT
5GRB    #     ENTRY    TAB=START ADDR. OF BLOCK 
5H?2    #               X7=LINK 
5HQL    #     EXIT X0,X1,X4,TAB=UNCHANGED   
5J==    #          ALL OTHER ACCS UNDEFINED 
5JPW    #   
5K9G    PRMON   
5KP6 ...      STO   7  ZLINKA(1)           [STORE LINK  
5L8Q ...      LDX   2  TAB(1)   
5LNB          ADN   2  A1                  [1ST WORD OF MONITORING FILE 
5M82 ...      STOZ     MCOUNT(1)           [COUNT OF WORDS PRINTED  
5MML    PRM   LDX   5  0(2) 
5N7= ...      BZE  5  ROUTEXIT  
5NLW ...      CALL  7  (JUP)
5P6G                   +4   
5PL6 ...      TXL   5  X513(1)  
5Q5Q          BCC      PRM1                [J IF ILLEGAL NO.
5QKB ...      CALL  7  (JDECN)               [CONVERT NO. TO DEC
5R52 ...      LDX   5  MCOUNT(1)
5RJL ...      TXL   5  X512(1)  
5S4=          BCC      PRM1                [J IF MORE THAN 512 WORDS PRINTED
5SHW          LDX   3  JOZ  
5T3G          STO   3  JPMOD
5TH6 ...      CALL  7  (JDECN)               [CONVERT NO. OF WORDS PRINTED  
5W2Q ...      CALL  7  (JUP)
5WGB                   +5   
5X22          LDN   5  1(2)                [MOVE CONTENTS OF 2ND WORD OF RECORD 
5XFL          MVCH  5  4                   [INTO PRINT BUFFER   
5X^=          ADN   6  1                   [PR. BUF. MOD.   
5YDW          LDX   3  0(2)                [NO. OF WORDS IN RECORD  
5YYG          ADS   3  2                   [UPDATE MON. FILE PNTR   
5^D6 ...      ADS   3  MCOUNT(1)           [UPDATE COUNT OF WORDS PRINTED   
5^XQ          SBN   3  2                   [WORDS ALREADY SET UP IN PR. BUF.
62CB          BPZ  3  PRM5  
62X2 ...PRM6  CALL   7 (JPRINT1)
63BL          BRN       PRM 
63W=    PRM5   BZE  3   PRM6
64*W ...PRM4  TXL   3  TWENTY5(1)   
64TG          BCS      PRM2                [J IF LESS THAN 80 CHARS TO PRINT
65*6 ...      SBX   3  TWENTY5(1)   
65SQ ...      STO   3  ZTABL(1)            [NO. OF WORDS  STILL TO PRINT
66#B ...      LDX   3  TWENTY5(1)          [SET TO PRINT 25 WORDS IN LINE   
66S2    PRM2  SLL   3  2                   [CHAR. COUNT 
67?L          MVCH  5  0(3)                [MOVE REST OF RECORD INTO PR. BUFFER 
67R= ...      STO   5  ZTABL+1(1)          [POINTER TO NEXT CHAR. TO OUTPUT 
68=W ...      CALL  7  (JPRINT1)             [PRINT A LINE  
68QG ...      LDX   3  ZTABL(1)            [CHARS. STILL TO OUTPUT  
69=6          BZE   3  PRM3                [J IF WHOLE RECORD NOW OUTPUT
69PQ ...      CALL  7  (JUP)
6=9B                   +20  
6=P2 ...      LDX   5  ZTABL+1(1)          [NEXT CHAR.  
6?8L ...      STOZ     ZTABL(1) 
6?N=          BRN      PRM4 
6#7W ...PRM3  STOZ     ZTABL+1(1)   
6#MG          BRN      PRM  
6*76 ...PRM1  LDN   5  NAMEA(1)            [MOVE ERROR MESSAGE INTO PR. BUF.
6*LQ          LDX   6  JOZ  
6B6B          ADN   6  1
6BL2          MVCH  5  40   
6C5L ...      CALL  7  (JPRINT2)             [PRINT A LINE  
6CK= ...      LDX   7  MCOUNT(1)
6D4W ...      TXL   7  X512(1)  
6DJG ...      BCC      ROUTEXIT            [EXIT IF OVER 512 WORDS ALREADY OUTP.
6F46          BRN      PRBLOCKA            [PRINT AS NORMAL BLOCK   
6FHQ    #   
6G3B    #   
6GH2    #     ROUTINE TO PRINT CONTENTS OF BLOCK IN FILESTORE POSTMORTEM FORMAT 
6H2L    #     ENTRY    TAB=START ADDR. OF BLOCK 
6HG=    #               X7=LINK 
6H^W    #     EXIT X0,X1,X4,TAB=UNCHANGED   
6JFG    #          ALL OTHER ACCS UNDEFINED 
6J^6    #         ZTABL(*7)=SET TO HOLD COLUMN ADDR. POINTERS   
6KDQ    #         ZTABC(*7)=SET TO HOLD LENGTH OF EACH COL. 
6KYB    #             ZTABI=SET TO HOLD LENGTH OF BLOCK STILL TO PRINT  
6LD2    #   
6LXL    #     CALCULATE NO. OF WORDS TO BE PRINTED  
6MC=    #   
6MWW    #   
6NBG    PRBLOCK 
6NW6 ...      STO   7  ZLINKA(1)           [STORE LINK  
6P*Q    PRBLOCKA
6PTB ...      LDX   2  TAB(1)              [START ADDR. OF BLOCK
6Q*2          LDX   5  ALOGLEN(2)   
6QSL ...      ANDX  5  MASK(1)  
6R#= ...      TXL   5  X512(1)  
6RRW          BCS      PRB7                [SET LENGTH TO PRINT =   
6S?G ...PRB   LDX   5  X512(1)             [LENGTH OF BLOCK < 512   
6SR6          ADN   2  A1                  [START ADDR. OF BLOCK
6T=Q    #   
6TQB    #     SET UP COLUMNS FOR PRINTING   
6W=2    #   
6WPL    PRB7  BZE   5  PRB9                [J IF NO MORE TO PRINT   
6X9=          LDN   6  20   
6XNW ...      STO   6  ZTABC(1) 
6Y8G ...      LDN   6  ZTABC(1) 
6YN6 ...      LDN   7  ZTABC+1(1)          [SET UP TO PRINT 6 COLS*20 WORDS AND 
6^7Q          MOVE  6  5                   [                1 COL *8  WORDS 
6^MB          LDN   7  8
7272 ...      STO   7  ZTABC+6(1)   
72LL ...      STO   5  ZTABI(1) 
736=          STO   5  6
73KW ...      TXL   5  X128(1)  
745G          BCS      PRB1                [SET AMOUNT TO PRINT FROM BLOCK  
74K6          LDN   5  128  
754Q ...      SBS   5  ZTABI(1)            [AMOUNT LEFT TO PRINT
75JB          LDN   6  7                   [NO. OF COLS TO PRINT
7642          BRN      PRB2 
76HL ...PRB1  DVS   5  TWENTY(1)           [CALCULATE NO. OF COLUMNS TO PRINT   
773= ...      STOZ     ZTABI(1)            [NO WORDS LEFT TO PRINT  
77GW          SMO      6
782G ...      STO   5  ZTABC(1)            [STORE LENGTH TO PRINT IN LAST COL   
78G6          ADN   6  1
78^Q ...PRB2  STO   6  ZCOUNT(1)           [NO. OF COLS TO PRINT
79FB    PRB3  STOZ     3                   [COL. COUNT  
79P8 ...PRB4  SMO      FXPM1
79^2 ...      STO   2  ZTABL(3) 
7=8S ...      SMO      FXPM1
7=DL          ADX   2  ZTABC(3)            [STORE ADDR. OF START OF 
7=Y=          ADN   3  1                   [EACH COLUMN 
7?CW ...      TXU   3  ZCOUNT(1)
7?XG          BCS      PRB4 
7#C6    #   
7#WQ    #     PRINT COLUMNS 
7*BB    #   
7*W2    PRB6  STOZ     2                   [BLOCK COUNT 
7B*L ...PRB8  CALL  7  (JUP)
7BT=                   +1   
7C54 ...      SMO      FXPM1
7C#W          LDX   3  ZTABL(2)            [GET ADDR. OF NEXT WORD TO PRINT 
7CJN ...      SMO      FXPM1
7CSG          LDX   5  ZTABC(2)            [GET NO. OF WORDS IN COL TO PRINT
7D#6          BZE   5  PRB5                [J IF COL FINISHED   
7DRQ          LDN   5  1
7F3J ...      SMO      FXPM1
7F?B          ADS   5  ZTABL(2)            [UPDATE POINTERS 
7FH8 ...      SMO      FXPM1
7FR2          SBS   5  ZTABC(2)            [AND NO. OF WORDS LEFT   
7G=L          LDX   5  0(3)                [GET CONTENTS OF WORD AND
7GQ= ...      CALL  7  (JOCT)                [CONVERT TO OCTAL  
7H9W ...      CALL  7  (JUP)
7HPG                   +1   
7J96 ...      CALL  7  (JCHA)                [CONVERT TO CHARACTER  
7JNQ ...      CALL  7  (JUP)
7K8B                   +2   
7KN2          ADN   2  1
7L7L ...      TXU   2  ZCOUNT(1)           [TEST AND J IF STILL COLS IN ROW 
7LM=          BCS      PRB8                [TO BE PRINTED   
7M6W ...PRB5  CALL  7  (JPRINT1)             [PRINT A LINE  
7MLG ...      LDX   7  ZTABC(1) 
7N66          BNZ   7  PRB6                [J HF COLS. NOT PRHNTED HN FULL  
7NKQ ...      CALL  7  (JPRINT1)
7P5B ...      SMO      ZCOUNT(1)
7PK2 ...      LDX   2  ZTABL-1(1)          [GET NEXT WORD TO BE PRINTED 
7Q4L ...      LDX   5  ZTABI(1)            [NO. OF WORDS STILL TO PRINT 
7QJ=          BRN      PRB7 
7R3W    #   
7RHG    #     IF BLOCK PRINT FINISHED   
7S36    #   
7SGQ ...PRB9  STOZ     TABL(1)  
7T2B ...      LDN   5  TABL(1)             [SPACEFILL   
7TG2 ...      LDN   6  TABL+1(1)           [TABLE AREA  
7T^L          MOVE  5  17   
7WF= ...      BRN      ROUTEXIT 
7WYW    #   
7XDG    #   
7XY6    #     ROUTINE TO PRINT A ROW OF BLOCKS  
7YCQ    #     ENTRY    XBLCOUNT=NO. OF BLOCKS IN ROW
7YXB    #             TAB TABLE=HOLDS START ADDR  OF BLOCKS 
7^C2    #                    X7=LINK
7^WL    #     EXIT    ALL ACCS UNDEFINED
82B=    #   
82TW    PRINT   
83*G    #   
83T6    #     SET UP NO. OF WORDS IN EACH BLOCK TO BE PRINTED   
84#Q    #   
84SB ...      LDX   2  FXPM1
85#2 ...PR1   LDX   3  TAB(2)              [GET ADDR. OF NEXT BLOCK 
85RL          LDX   6  ALOGLEN(3)          [GET LENGTH  
86?= ...      ANDX  6  MASK(1)  
86QW          ADN   6  A1   
87=G ...      TXL   6  JJFILE(1)
87Q6          BCS      PR3                 [J IF LEN< MAX  TO BE PRINTED
889Q          LDX   4  ATYPE(3) 
88PB          SRL   4  12   
893R ...      TXU   4  XFCB(1)  
898^ ...      BCC      PR4  
89B8 ...      TXU   4  XFINDEXF(1)  
89NL          BCS      PR2                 [J IF BLOCK NOT FCB  
8=8= ...PR4   TXL   6  X512(1)  
8=MW          BCS      PR3                 [J IF LENGTH<512 
8?7G ...      LDX   6  X512(1)             [OTHERWISE LOAD MAX. LENGTH  
8?M6          BRN      PR3  
8#2? ...PR2   LDX   6  JJFILE(1)           [LOAD MAXIMUM LENGTH 
8#*D ...PR3   STO   6  TABL(2)             [STORE NO. OF WORDS TO PRINT 
8#NK ...      ADN   2  1
8*3Q ...      LDX   5  2
8*BX ...      SBX   5  FXPM1
8*Q4 ...      TXU   5  XBLCOUNT(1)         [J IF STILL MORE 
8B5=          BCS      PR1                 [BLOCKS TO PRINT 
8BJW    #   
8C4G    #     CODING TO PRINT BLOCKS
8CJ6    #   
8D3Q    PRINTA  
8DHB ...      STO   7  ZLINKC(1)           [STORE LINK  
8F32 ...      CALL  7  (JPRINT1)             [THROW A LINE  
8FGL ...PP3   LDX   1  FXPM1           [BLOCKCOUNT+MODIFIER 
8G2=    PP2   LDX   5  TABC(1)             [WORD POINTER
8GFW          TXL   5  TABL(1)             [NO. OF WORDS TO PRINT   
8G^G          BCS      PP                  [J IF STILL PRINTING 
8HF6 ...      CALL  7  (JUP)                 [UPDATE PRINT BUFFER MOD.  
8HYQ                   +20  
8JDB          BRN      PP11 
8JY2 ...PP    CALL  7  (JUP)                 [UPDATE PRINT BUFFER MOD.  
8KCL                   +2   
8KX=          LDN   7  1
8L74 ...      SMO      FXPM1
8LBW          STO   7  PRINTING            ['STILL PRINTING' IND.   
8LWG          BNZ   5  PP4                 [J IF NOT FPTR   
8MB6    #   
8MTQ    #     CODING TO PRINT ACTUAL ADDR. OF FORWARD POINTER   
8N*B    #   
8NT2          LDX   2  TAB(1)              [GET ADDR. OF BLOCK  
8P#L          LDX   5  TAB(1)   
8PS= ...      CALL  7  (JDECN)               [CONVERT TO DECIMAL
8Q?W          LDN   3  3                   [CONVERSION ROUT. IND.   
8QRG    #   
8R?6    #     TO CONVERT CONTENTS OF A WORD IN SPECIFIED FORMAT 
8RQQ    #   
8S=B    PP1   LDX   5  0(2)                [GET CONTENTS OF ADDR.   
8SQ2          SMO      3
8T9L          CALL  7  RTNS                [J TO APPROPRIATE CONVERSION ROUTINE 
8TP=    #   
8W8W    #     TO UPDATE COUNTS,PRINT A LINE ETC.
8WNG    #   
8X86    PP11  LDN   7  1
8XMQ          ADS   7  TABC(1)             [UPDATE WORD COUNT   
8Y7B    PP17  ADN   1  1                   [UPDATE BLOCK COUNT  
8Y*L ...      LDX   5  1
8YHW ...      SBX   5  FXPM1
8YQ6 ...      SMO      FXPM1
8YYB ...      TXU   5  XBLCOUNT 
8^6L          BCS      PP2                 [J IF STILL BLOCKS IN ROW
8^L= ...      SMO      FXPM1
92KG          LDX   7  PRINTING 
9356          BZE   7  PRINTFIN 
93JQ ...      CALL  7  (JPRINT1)             [PRINT A LINE  
944B          BRN      PP12 
94J2    PRINTFIN
953L          LDX   7  JOZ                 [ RESET JPMOD
95H=          STO   7  JPMOD
962W ...      SMO      FXPM1
99XW          STOZ     TABL 
9=7N ...      SMO      FXPM1
9=CG          LDN   6  TABL 
9=M# ...      SMO      FXPM1
9=X6          LDN   7  TABL+1   
9?BQ          MOVE  6  17                  [ZEROISE TABLES  
9?LJ ...      LDX   1  FXPM1
9?WB ...      LDX   7  ZLINKC(1)
9#68 ...      EXIT  7  0
9#B2 ...PP12  SMO      FXPM1
9#KS ...      STOZ     PRINTING 
9#TL          LDN   7  ATYPE+1  
9**=          TXU   7  TABC-1(1)
9*SW          BCS      PP3                 [J IF LAST WORD NOT = ATYPE  
9B#G          BRN      T
9BS6    #   
9C?Q    #     IF NOT PRINT FPTR 
9CRB    #   
9D5R ...PP4   SMO      FXPM1
9DD8 ...      TXL   5  XA1  
9DQL          BCC      PP13                [J IF NOT RED TAPE WORD  
9F==    #   
9FPW    #     TO SET UP TO PRINT IN REDTAPE WORD FORMAT 
9G9G    #   
9GP6          ADX   5  TABC(1)  
9H4T ...      ADN   5  REDTAPE             [X5=POINTER TO REDTAPE TABLE 
9HDJ ...      ADX   5  FXPM1
9HNB    #   
9J82    #     TO ANALYSE NEXT WORD IN IDENT. TABLE  
9JML    #   
9K7=    PP7   SMO      5
9KLW          LDX   7  0                   [GET MNEMONIC FROM TABLE 
9L6G          BZE   7  PP15                [J IF NO MNEMONIC
9LB# ...      SMO      FXPM1
9LL6          TXU   7  UPARROW  
9M5Q          BCC      PP8                 [J IF END OF TABLE REACHED   
9MKB          LDCH  6  7
9N52          SRL   7  18   
9NJL          SBN   7  #72  
9P4=          BNZ   7  PP14                [J IF NOT RECURSIVE TABLE
9PHW    #   
9Q3G    #     TO BACKSPACE IDENT. TABLE POINTER WHEN END OF RECURSIVE TABLE 
9QH6    #   
9R2Q    PP10  SBN   5  2
9RGB          SMO      5
9S22          STOZ     0                   [CLEAR MNEMONIC ENTRY
9SFL          SBN   6  2
9S^=          BNZ   6  PP10                [J IF NOT AT START OF RECURSION  
9TDW          ADN   5  2
9TYG          STO   5  TABI(1)             [RESET IDENT. TABLE POINTER  
9WD6    #   
9WXQ    #     TO PRINT REOATIVE ADR. BEFORE PRINT CONTENTS IN SPECIFIED FORMAT  
9XCB    #   
9XX2    PP15  LDX   5  TABC(1)  
9YBL ...      CALL  7  (JDECN)               [CONVERT RELATIVE ADR. TO DECIMAL  
9YW=          LDX   5  TABI(1)  
9^*W          SBN   5  1                   [GET POINTER TO PRINT FORMAT 
9^TG          BRN      PP16 
=2*6    #   
=2SQ    #     TO PRINT ADDR. AND CONTENTS TO FORMAT SPECIFIED IN AN IDENT /OR   
=3#B    #     REDTAPE) TABLE
=3S2    #   
=4?L ...PP14  CALL  7  (JUP)
=4R=                   +2   
=5=W          MVCH  5  5                   [MOVE IDENT MNEMONICS INTO BUFFER
=5QG          STO   6  JPMOD
=6=6    PP16  SMO      5
=6PQ          LDCH  3  0
=79B    PP9   LDX   2  TAB(1)   
=7P2          ADX   2  TABC(1)             [X2=ADDR. OF WORD TO BE CONVERTED
=88L          BRN      PP1  
=8N=    #   
=97W    #     IF NOT A RED TAPE WORD
=9MG    #   
==76    PP13  LDX   5  TABI(1)  
==LQ          BZE   5  PP8                 [J IF NO IDENT. LIST 
=?6B          LDN   7  2
=?L2          ADS   7  TABI(1)             [UPDATE IDENT. TABLE POINTER 
=#5L          BRN      PP7  
=#K=    #   
=*4W    #     IF NO SPECIFIED PRINT FORMAT FOR WORD 
=*JG    #   
=B46    PP8   STOZ     TABI(1)             [STOZ WHEN BRN FROM PP7  
=BHQ    PP6   LDX   5  TABC(1)             [GET ADDR. RELATIVE TO START OF BLOCK
=C3B ...      CALL  7  (JDECN)               [CONVERT ADDR. TO DEC(N)   
=CH2          STOZ     3                   [CONVERT CONTENTS TO OCTAL   
=D2L          BRN      PP9  
=DG=    #   
=D^W    #     CODING TO CONVERT CONTENTS OF ADDR. IN VARIOUS FORMATS
=FFG    #   
=F^6    #     OCTAL 
=GDQ    #   
=GYB ...ROCT  LDX   3  JOCT 
=HD2 ...RN    CALL  7  (JUP)
=HXL                   +2   
=JC=          CALL  7  (3)  
=JWW          BRN      PP11 
=KBG    #   
=KW6    #     CHARACTERS
=L*Q    #   
=LTB ...RCHA  CALL  7  (JUP)
=M*2                   +7   
=MSL ...      CALL  7  (JCHA)   
=N#=          BRN      PP11 
=NRW    #   
=P?G    #     DECIMAL(+N)   
=PR6    #   
=Q=Q ...RDECS CALL  7  (JUP)
=QQB                   +3   
=R=2 ...      CALL  7  (JDECS)  
=RPL          BRN      PP11 
=S9=    #   
=SNW    #     DECIMAL(N.N)  
=T8G    #   
=TN6 ...RDECP LDX   3  JDECP
=W7Q          BRN      RN   
=WMB    #   
=X72    #     DECIMAL(N/N)  
=XLL    #   
=Y6=    RDECDEC 
=YKW ...      CALL  7  (JUP)
=^5G                   +4   
=^K6 ...      CALL  7  (JDECDEC)
?24Q          BRN      PP11 
?2JB    #   
?342    #     CODING TO GET AND INSERT TYPE AND SUBTYPE MNEMONICS IN LISTING AND
?3HL    #     SET UP TABLES OF BLOCK IDENTIFIERS
?43=    #   
?4GW    T   
?52G    #   
?5G6    #     READ DOWN TYPE AND SUBTYPE TABLES 
?5^Q    #   
?6*F ...      LDX   1  FXPM1
?6P8 ...      PMOVE    PMTYPES,PMFILEND(1)  
?74X ...      LDX   1  FXPM1
?7DL    #   
?7Y=    #     MOVE TYPE MNEMONICS INTO PRINT BUFFER & SET UP POINTER TO SUBTYPE 
?8CW    #   
?8XG ...T1    CALL  7  (JUP)
?9C6                   +6   
?9WQ          LDX   3  TAB(1)   
?=BB          LDCH  2  ATYPE(3)            [GET BLOCK TYPE  
?=L8 ...      SMO      FXPM1
?=W2          MPY   2  THREE
??5S ...      SMO      FXPM1
??*L          ADX   3  PMFILEND            [ADDR. OF TYPE MNEMONIC  
??T=          LDX   4  JPMOD
?##W          MVCH  3  8                   [MOVE TYPE MNEMONIC INTO PR. BUFFER  
?#SG          LDX   7  0(3) 
?*#6          STO   7  TABI(1)             [STORE SUBTYPE REFERENCE 
?*RQ ...      CALL  7  (JUP)
?B?B                   +14  
?BR2          ADN   1  1
?B^= ...      LDX   7  1
?C7G ...      SBX   7  FXPM1
?C*Q ...      SMO      FXPM1
?CJ2 ...      TXU   7  XBLCOUNT            [J IF MORE BLOCKS IN ROW 
?CQ=          BCS      T1   
?D9W ...      CALL  7  (JPRINT1)             [PRINT A LINE  
?DPG    #   
?F96    #     TO GET SUBTYPE MNEMONIC & B/S ADDR. OF IDENT TABLES   
?FNQ    #   
?G5= ...      LDX   1  FXPM1
?GFQ ...      PMSUBSREAD  PMFILEND(1)   
?GW= ...      LDX   1  FXPM1
?H=Q ...      CALL  7  (JUP)
?HM=                   +2   
?J6W    T6    LDXC  4  TABI(1)  
?JLG          BCS      T3                  [J IF NO SUBTYPE BUT IDENT. TABLE
?K66          BZE   4  T3                  [J IF NEITHER
?KKQ          STOZ     3
?L5B          SRC   34 12                  [X4=LENGTH OF S/F ENTRIES
?LK2          SRL   3  12                  [X3=ADDR. RELATIVE TO PMTYPES
?LSS ...      SMO      FXPM1
?M5X ...      ADX   3  PMFILEND            [X3=START OF THE SUBTYPE TABLES  
?MC3 ...      SMO      FXPM1
?MPD ...      SBX   3  ZLPMT
?N3W          LDX   2  TAB(1)   
?NHG          BCHX  2  £
?P36          LDCH  7  ATYPE(2)            [GET SUBTYPE OF BLOCK
?PGQ    T5    LDCH  6  0(3)                [GET SUBTYPE FROM TABLE ENTRY
?Q2B          TXU   6  7
?QG2          BCC      T4                  [J IF REQUIRED ENTRY 
?Q^L ...      ADN   3  3
?RF= ...      SBN   4  3                   [SEARCH DOWN TABLE   
?RYW          BNZ   4  T5   
?S2S ...#   
?S4Q ...#      TO MOVE 'NOT LISTED' INTO THE BUFFER 
?S6N ...#   
?S8N ...      SMO      FXPM1
?SDG          LDN   3  NOTLISTED           [IF ENTRY NOT FOUND  
?SY6 ...      BCHX  3  £                    [X3 POINTS TO THE 1ST CHAR OF 'NOT L
?TCQ ...      CALL  7  (JUP)
?TXB ...               +4                   [4 SPACES BEFORE TYPE OR SUBTYPE
?WC2          LDX   4  JPMOD
?WWL ...      MVCH  3  11                   [MOVE NOT LISTED INTO BUFFER
?XB=          LDX   4  0(3) 
?XTW ...      CALL  7  (JUP)
?Y*G ...               +16                 [NO OF CHAR POS. TO UPDATE BUFFER
?YT6          BRN      T2   
?YW# ...#   
?YXG ...#      TO MOVE SUBTYPE MNEMONIC INTO THE BUFFER 
?YYN ...#   
?Y^W ...T4    BCHX  3  £                    [X3 POINTS TO THE 1ST CHAR OF SUBTYP
?^34 ...      CALL  7  (JUP)
?^4= ...               +4   
?^5D ...      LDX   4  JPMOD
?^6L ...      MVCH  3  7                    [MOVE SUBTYPE MNEMONIC INTO BUFFER  
?^7S ...      LDX   4  0(3) 
?^92 ...      CALL  7  (JUP)
?^=8 ...               +16  
?^?B ...      BRN      T2   
?^#Q ...T3    CALL  7  (JUP)                 [UPDATE PRINT BUFFER MOD. IF NO
?^SB                   +20                 [SUBTYPE 
#2#2    T2    STO   4  TABI(1)             [STORE IDENT. TABLE REFERENCE
#2RL          ADN   1  1
#2^W ...      LDX   7  1
#386 ...      SBX   7  FXPM1
#3BB ...      SMO      FXPM1
#3JL ...      TXU   7  XBLCOUNT 
#3QW          BCS      T6                  [J IF STILL BLOCKS IN ROW
#4=G ...      CALL  7  (JPRINT1)             [PRINT A LINE  
#4Q6    #   
#59Q    #     CODING TO READ DOWN IDENT. TABLES 
#5PB    #   
#692 ...      LDX   1  FXPM1
#6NL ...      LDX   4  PMFILEND(1)         [START ADDR IN CORE  
#78=    T11   LDX   6  TABI(1)             [B/S ADDR. OF TABLE  
#7MW          BZE   6  T10                 [J IF NO TABLE   
#87G          LDN   0  JREP2+1             [LENGTH  
#8=L ...      SMO      FXPM1
#8*Q ...      STO   4  XFOUR
#8DW ...      SMO      FXPM1
#8J2 ...      STO   1  UNE  
#8M6 ...      PMBSADD  GEO,0,0,4,6         [ READ DOWN TABLE
#8Q= ...      SMO      FXPM1
#8TB ...      LDX   4  XFOUR
#8YG ...      SMO      FXPM1
#93L ...      LDX   1  UNE  
#9H= ...      STO   4  TABI(1)             [IDENT. TABLE ADDRESS IN CORE
#=2W ...      ADN   4  JREP2+1           [CORE ADDRESS OF NEXT TRANSFER 
#=KL    T10   ADN   1  1
#=RW ...      LDX   7  1
#?26 ...      SBX   7  FXPM1
#?8B ...      SMO      FXPM1
#?BL ...      TXU   7  XBLCOUNT 
#?JW          BCS      T11                 [J IF STILL BLOCKS IN ROW
##4G          BRN      PP3  
##J6    #   
#*3Q    #     ENTRY POINT TO PRINT BLOCKS IN FILE CHAIN OPEN TO CURRENT ACTIVITY
#*HB    #   
#*NJ ...XK1PMFILE   
#*TQ ...      LDX   1  FXPM1
#B2Y ...      ADS   1  PMFILEND(1)  
#B5H ...      ADS   1  XTABLEND(1)  
#B86 ...      PMDLGET  PMTYPES,,2   
#B*# ...      STO   2  ZLPMT(1) 
#BGL    #   
#C2=    #     CODING TO ANALYSE CONTENTS OF FX2 
#CFW    #   
#C^G          LDX   2  FX2                 [CURRENT ACTIVITY
#DF6 ...      ANDX  2  MASK(1)  
#DYQ          TXL   2  CORES
#FDB ...      BCC      (JPMSEG)              [J IF ILLEGAL  
#FY2 ...      TXL   2  X45(1)   
#GCL ...      BCS      (JPMSEG)              [J IF INVALID  
#GX=          LDCH  7  ATYPE(2) 
#HBW ...      TXL   7  XACT(1)  
#HWG ...      BCS      (JPMSEG)              [J IF NOT AN ACTIVITY  
#JB6          SBN   7  BAT/#100 
#JTQ ...      BZE   7  (JPMSEG)              [J IF CURRENT ACT = BLANKET
#K*B ...      LDN   6  NAMEB(1) 
#KT2 ...      LDX   7  JOZ  
#L#L          BCHX  7  £                   [MOVE HEADING INTO PRINT BUFFER  
#LS=          MVCH  6  45   
#M?W    #   
#MRG    #     TEST IF ANY RING ELEMENTS ON FILERING 
#N?6    #   
#NQQ          LDN   2  FILERING(2)  
#P=B ...      STO   2  SAFR(1)             [ADDR. OF FILERING   
#PQ2          LDX   6  0(2) 
#Q9L          TXU   6  2                   [DOES FILERING POINT TO ITSELF   
#QP=          BCS      RE1                 [J IF NOT
#R8W ...      LDN   6  NAMED(1) 
#RNG          MVCH  6  6                   [INSERT ': NONE' IN PRINT BUFFER 
#S86 ...      CALL  7  (JPRINT2)             [PRINT A LINE  
#SMQ ...      BRN      (JPMSEG) 
#T7B    #   
#TM2    #     GET ADDRESS OF NEXT RING ELEMENT  
#W6L    #   
#WL= ...RE1   CALL  7  (JPRINT2)             [PRINT HEADING 
#X5W ...      LDN   3  RSEARCHA(1)         [TO GET FIRST ELEMENT ON RING
#XKG          BRN      RE2  
#Y56 ...RE4   LDX   0  RBACK(1)            [BACKWARD RINGING IND.   
#YJQ ...      LDN   3  RSEARCH(1)   
#^4B          BZE   0  RE2                 [J IF FORWARD RINGING
#^J2 ...      LDN   3  RSEARCHB(1)  
*23L    RE2   CALL  0  (3)                 [GET ADDR. OF NEXT RING ELEMENT  
*2H=          BRN      RE3                 [J IF BREAK IN RING  
*32W ...      TXU   2  SAFR(1)             [J IF POINTS AT  
*3GG ...      BCC      (JPMSEG)              [START OF RING 
*426    #   
*4FQ    #     TO PRINT FCB AND FSTACK BLOCKS
*4^B    #   
*5F2 ...RE5   STO   2  RELE(1)             [RECORD OF CURRENT RING ELEMENT  
*5YL          ADX   2  FBACKPOINT(2)
*6D=          TXL   2  CORES
*6XW          BCC      RE6                 [J IF ILLEGAL ADDRESS
*7CG ...      TXL   2  X45(1)   
*7X6          BCS      RE6                 [J IF INVALID ADDRESS
*8BQ ...      STO   2  TAB+1(1)            [ADDR. OF FSTACK BLOCK   
*8WB ...      STO   2  XFSPNTR(1)   
*9B2          LDX   6  ATYPE(2) 
*9TL          SRL   6  12   
*=*= ...      SBX   6  XSTACK(1)           [TEST AND
*=SW ...      BNZ   6  RE8            [ J IF NOT FSTACK 
*?#G ...      LDN   4  1
*#RB          LDX   2  BPTR(2)             [GET ADDR. OF PREVIOUS BLOCK 
**?2          TXL   2  CORES
**QL          BCS      RC1                 [J IF VALID ADDRESS  
*B== ...RC7   LDN   6  NAMEF(1) 
*BPW          LDX   7  JOZ  
*C9G          ADN   7  1
*CP6          MVCH  6  22   
*D8Q ...      CALL  7  (JPRINT2)             [PRINT 'POINTER TO FCB ILLEGAL'
*DNB ...      LDX   2  TAB+1(1) 
*F82 ...      STO   2  TAB(1)   
*FML ...      STOZ     4
*G7=          BRN      RC8  
*GLW ...RC1   TXL   2  X45(1)   
*H6G          BCS      RC7  
*HL6 ...      STO   2  TAB(1)              [STORE ADDR. 1ST BLOCK TO PRINT  
*J5Q ...      STOZ     MONIND(1)
*JKB          LDX   2  FLAN(2)  
*K52 ...      TXU   2  MONFILE(1)          [J IF MONITORING FILE
*KJL          BCC      RC9  
*L4= ...      TXU   2  XJDFILE(1)   
*LHW          BCS      RC11                [J IF NOT JOB DESCRIPTION FILE   
*M3G ...RC9   STO   2  MONIND(1)           [SET IND. TO PRINT FURB/FUWB IN  
*MH6                                       [MONITORING FILE FORMAT  
*N2Q ...RC11  CALL  7  (JUP)
*NGB                   +7   
*P22 ...      LDN   5  NAMEH(1) 
*PFL          MVCH  5  9                   ['FCB BLOCK' TO PRINT BUFFER 
*P^= ...      CALL  7  (JUP)
*QDW                   +13  
*QYG ...RC8   CALL  7  (JUP)
*RD6                   +7   
*RXQ ...      LDN   5  NAMEI(1) 
*SCB          MVCH  5  12                  ['FSTACK BLOCK' TO PRINT BUFFER  
*SX2 ...      CALL  7  (JPRINT2)             [PRINT SUB-HEADING 
*TBL ...      ADN   4  1
*TW= ...      STO   4  XBLCOUNT(1)         [COUNT OF BLOCKS TO PRINT
*W*W          CALL  7  PRINT               [PRINT FCB AND FSTACK BLOCKS 
*WTG ...      LDX   6  XFSPNTR(1)          [TEST AND J IF   
*X*6          BZE   6  RE8                 [BLOCK TYPE NOT FSTACK   
*XSQ    #   
*Y#B    #     TO PRINT FURB AND FUWB BLOCKS 
*YS2    #   
*^?L ...      LDN   3  SEARCHA(1)   
*^R=          BRN      RC6  
B27Q ...RC5   LDN   3  SEARCH(1)
B2J= ...RC6   LDX   2  XBLCOUNT(1)  
B2YQ ...      SMO      FXPM1
B3*= ...      LDX   2  TAB-1(2)            [ADDR. OF LAST BLOCK PRINTED 
B3PQ          CALL  0  (3)                 [GET ADDR. OF NEXT BLOCK 
B49B          BRN      RC2                 [J IF BREAK IN CHAIN 
B4P2 ...      TXU   2  XFSPNTR(1)          [J IF LOOPED BACK TO 
B58L          BCC      RC2                 [FSTACK BLOCK
B5N= ...      TXU   2  XBFILE(1)
B67W          BCC      RC3                 [J IF END OF CHAIN   
B6MG          LDX   7  ATYPE(2) 
B776          SRL   7  12                  [TYPE/SUBTYPE
B7LQ ...      TXU   7  XFCB(1)  
B86B          BCC      RC3                 [J IF FCB BLOCK  
B8L2 ...      LDN   3  XTABLE(1)
B95L    RC13  TXU   7  0(3) 
B9K=          BCC      RC10                [J IF BLOCK TO BE PRINTED IN 
B=4W          ADN   3  1                   [FILESTORE PM FORMAT 
B=JG ...      TXU   3  XTABLEND(1)  
B?46          BCS      RC13 
B?HQ ...      STO   2  TAB(1)   
B#3B ...      LDN   4  1
B#H2 ...      STO   4  XBLCOUNT(1)         [PRINT AS NORMAL BLOCK   
B*2L          CALL  7  PRINT               [IF NOT FUWB OR FURB 
B*G=          BRN      RC5  
B*^W ...RC10  STO   2  TAB(1)              [ADDR. OF BLOCK  
BBFG ...      LDN   4  1
BB^6 ...      STO   4  XBLCOUNT(1)         [NO. OF BLOCKS TO PRINT  
BCDQ          LDN   7  A1   
BCYB ...      STO   7  TABL(1)  
BDD2          CALL  7  PRINTA              [PRINT RED TAPE WORDS
BDXL ...      CALL  7  (JPRINT1)             [THROW A LINE  
BFC= ...      LDN   3  PRBLOCK(1)   
BFWW ...      LDX   7  MONIND(1)
BGBG          BZE   7  RC4                 [J IF NOT MONITORING FILE
BGW6 ...      LDN   3  PRMON(1) 
BH*Q    RC4   CALL  7  (3)                 [PRINT BLOCK 
BHTB          BRN      RC5  
BJ*2    #   
BJSL    #     IF BREAK IN FILERING ENCOUNTERED  
BK#=    #   
BKRW ...RE3   LDX   0  RBACK(1) 
BL?G ...      BNZ   0  (JPMSEG)              [J IF ALREADY BACKWARD RINGING 
BLR6          LDN   0  1
BM=Q ...      STO   0  RBACK(1)            [SET IND.
BMQB ...      LDN   6  NAMEE(1) 
BN=2          LDX   7  JOZ  
BNPL          ADN   7  1
BP9=          MVCH  6  16   
BPNW ...      CALL  7  (JPRINT2)             [PRINT 'BACKWARD RINGING   
BQ8G ...      CALL  7  (JPRINT1)
BQN6 ...      LDX   2  SAFR(1)             [START READING BACKWARD DOWN RING
BR7Q ...      LDN   3  RSEARCHC(1)  
BRMB          BRN      RE2  
BS72    #   
BSLL    #     IF FILERING CORRUPTED,I.E. NOT FSTACK BLOCK   
BT6= ...#   
BTKW ...RE8   LDN   5  NAMES(1) 
BW5G          LDX   6  JOZ  
BWK6          ADN   6  1
BX4Q          MVCH  5  18                  [PRINT FILERING CORRUPTED
BXJB ...      CALL  7  (JPRINT2)
BY42          BRN   RE3 
BYHL    #   
B^3=    #     IF RELATIVE POINTER IN RING ELEMENT CORRUPTED 
B^GW ...#   
C22G ...RE6   LDN   5  NAMEJ(1) 
C2G6          LDX   6  JOZ  
C2^Q          ADN   6  1
C3FB          MVCH  5  22                  [PRINT 'FSTACK BLOCK CORRUPTED'  
C3^2          BRN      RC12 
C4DL    #   
C4Y=    #     IF BREAK IN FILECHAIN ENCOUNTERED 
C5CW ...#   
C5XG ...RC2   LDN   6  NAMEG(1) 
C6C6          LDX   7  JOZ  
C6WQ          ADN   7  1
C7BB          MVCH  6  19   
C7W2 ...RC12  CALL  7  (JPRINT2)             [PRINT 'BREAK IN FILE CHAIN'   
C8*L ...      CALL  7  (JPRINT1)
C8T= ...RC3   LDX   2  RELE(1)             [GET ADDR. CURRENT RING ELEMENT  
C9#W          BRN      RE4  
C9SG    #   
C=#6    #     ENTRY POINT TO PRINT WORKFILES ASSOCIATED WITH JOBS   
C=GS ...#   
C=PG ...XK2PMFILE   
C=Y8 ...      LDX   1  FXPM1
C?6W ...      ADS   1  PMFILEND(1)  
C?=9 ...      ADS   1  XTABLEND(1)  
C?*J ...      PMDLGET  PMTYPES,,2   
C?J= ...      STO   2  ZLPMT(1) 
C?R2    #   
C#=L    #     PRINT HEADING 
C#Q=    #   
C*9W ...      CALL  7  (JPRINT2)
C*PG ...      LDN   5  NAMEO(1) 
CB96          LDX   6  JOZ  
CBNQ          BCHX  6  £
CC8B          MVCH  5  30                  [SET UP AND  
CCN2 ...      CALL  7  (JPRINT2)             [PRINT HEADING 
CD7L    #   
CDM=    #     GET ADDR OF NEXT ACTRING ENTRY
CF6W    #   
CFLG ...      LDX   2  STACTRING(1) 
CG66 ...      LDN   3  RSEARCHA(1)         [TO GET FIRST ENTRY ON RING  
CGKQ          BRN      WFA1 
CH5B ...WFA   LDN   3  RSEARCH(1)          [NEXT ENTRY FORWARD RINGING  
CHK2 ...      LDX   7  RBACK(1) 
CJ4L          BZE   7  WFA1                [J IF FORWARD RINGING
CJJ= ...      LDN   3  RSEARCHB(1)         [NEXT ENTRY BACKWARD RINGING 
CK3W    WFA1  CALL  0  (3)                 [GET NEXT ENTRY  
CKHG          BRN      WFA10               [J IF BREAK IN RING  
CL36 ...      TXU   2  STACTRING(1) 
CLGQ ...      BCC      (JPMSEG)              [J IF END OF RING  
CM2B    #   
CMG2    #     CHECK IF BLOCK ON RING=CPAT BLOCK 
CM^L    #   
CNF=          SBN   3  ACTRING  
CNYW          LDCH  7  ATYPE(3) 
CPDG ...      TXU   7  XCPAT(1) 
CPY6          BCS      WFA                 [J IF NOT A CPAT BLOCK   
CQCQ    #   
CQXB    #     PRINT INFORMATION ON CPAT BLOCK   
CRC2    #   
CRWL ...      STO   2  RELE(1)             [KEEP CURRENT ACTRING ADDR.  
CSB=          LDX   2  3
CSTW ...      LDX   7  RBACKPR(1)          [AND RECORD OF PREVIOUS  
CT*G ...      STO   7  XBACKPR(1)          [ENTRY ON RING   
CTT6 ...      LDN   5  NAMEK(1) 
CW#Q          LDX   6  JOZ  
CWSB          BCHX  6  £
CX#2          MVCH  5  22                  [MOVE 'ADDRESS OF CPAT BLOCK:' SUB-  
CXRL          STO   6  JPMOD               [HEADING INTO PRINT BUFFER   
CY?=          LDX   5  2                   [CONVERT ADDRESS OF CPAT BLOCK TO DEC
CYQW ...      CALL  7  (JDECN)  
C^=G ...      CALL  7  (JPRINT2)             [PRINT A LINE  
C^Q6 ...      CALL  7  (JUP)
D29Q                   +17  
D2PB ...      LDN   5  NAMEL(1) 
D392          MVCH  5  6                   [MOVE 'JOBNO' INTO PRINT BUFFER  
D3NL          STO   6  JPMOD
D48=          LDX   5  JOBNO(2) 
D4MW ...      CALL  7  (JDECN)               [CONVERT JOBNUM TO DEC.
D57G ...      CALL  7  (JPRINT1)             [PRINT A LINE  
D5M6 ...      CALL  7  (JUP)
D66Q                   +16  
D6LB ...      LDN   5  NAMEM(1)            [MOVE 'ACTNUM:' INTO PRINT BUFFER
D762          MVCH  5  7
D7KL          STO   6  JPMOD
D85=          LDX   5  ACTNUM(2)
D8JW ...      CALL  7  (JDECN)               [CONVERT ACTNUM TO DEC.
D94G ...      CALL  7  (JPRINT1)             [PRINT A LINE  
D9J6 ...      CALL  7  (JUP)
D=3Q                   +4   
D=HB ...      LDN   5  NAMEN(1) 
D?32          MVCH  5  13                  [MOVE 'WORKFILE RING' INTO PRINT BUF.
D?GL    #   
D#2=    #     GET ADDR. OF NEXT BLOCK ON WORKFILE RING AND STORE READY FOR  
D#FW    #     PRINTING  
D#^G    #   
D*F6 ...      STOZ     XBLCOUNT(1)         [BLOCK COUNT 
D*YQ ...      STOZ     XIND(1)             [FORWARD CHAINING IND.   
DBDB          LDN   2  BWORKRING(2) 
DBY2 ...      STO   2  SAFR(1)             [START ADDR. OF RING 
DCCL          LDX   7  0(2) 
DCX=          TXU   7  2                   [TEST AND
DDBW          BCS      WF6                 [J IF ENTRY IN WORKRING  
DDWG ...      LDN   5  NAMER(1)            [OTHERWISE ADD 'NONE' TO SUB-HEADING 
DFB6          MVCH  5  7
DFTQ ...WF6   CALL  7  (JPRINT2)             [PRINT 'WORKFILE RING' SUB HEADING 
DG*B ...      LDN   3  RSEARCHA(1)         [TO GET FIRST ENTRY ON RING  
DGT2          BRN      WF1  
DH#L ...WF    LDN   3  RSEARCH(1)          [TO GET NEXT ENTRY, FORWARD RINGING  
DHS=          LDX   7  XIND 
DJ?W          BZE   7  WF1                 [J IF FORWARD CHAINING   
DJRG ...      LDN   7  RSEARCHB(1)         [TO GET NEXT ENTRY, BACKWARD RINGING 
DK?6    WF1   CALL  0  (3)                 [GET NEXT ENTRY  
DKQQ          BRN      WF10                [J IF BREAK IN RING  
DL=B ...      TXU   2  SAFR(1)  
DLQ2          BCC      WF11                [J IF END OF RING
DL^S ...      SMO      XBLCOUNT(1)  
DM9L          STO   3  TAB(1)              [STORE START ADDR. OF BLOCK  
DMH2 ...      LDN   4  6
DMSB ...      LDN   5  1
DN5Q ...      ADS   5  XBLCOUNT(1)  
DNC6 ...      TXU   4  XBLCOUNT(1)  
DNNG          BCS      WF                  [THROUGH IF 6 BLOCKS READ
DP86    #   
DPMQ    #     PRINT BLOCKS  
DQ7B    #   
DQM2 ...WF5   LDX   4  XBLCOUNT(1)  
DR6L ...      BZE   4  WF2                 [ J IF NO BLOCKS TO PRINT
DRL= ...      CALL  7  (JUP)
DT56                    +3  
DTJQ ...      LDX   5   ROWCNT(1)   
DW4B          ADN   5   1   
DWJ2 ...      STO   5   ROWCNT(1)   
DX3L ...      CALL  7  (JDECN)  
DXH= ...      CALL  7  (JUP)
DY2W                    -8  
DYGG ...      LDN   6   MNEMON(1)   
D^26          LDX   7   JPMOD   
D^FQ          MVCH  6   4   
D^^B ...      CALL  7  (JPRINT2)
F2YL          CALL  7  PRINT               [PRINT BLOCKS
F3D=    #   
F3XW    #     PREPARE TO PRINT NEXT ROW 
F4CG    #   
F4X6 ...WF2   LDXC  7  XIND(1)  
F5BQ          BCS      WF13                [END OF RING 
F6B2 ...      BNZ   7  WF3                 [IF BACKWARD RINGING 
F6TL ...WF4   SMO      XBLCOUNT(1)  
F7*= ...      LDX   2  TAB-1(1)            [GET ADDR OF LAST
F7K4 ...      STOZ     XBLCOUNT(1)  
F7SW          BRN      WF   
F8#G    #   
F8S6    #     IF BACKWARD RINGING   
F9?Q    #   
F9RB    WF3   SBN   7  1                   [J IF 'BACKWARD  RINGING' ALREADY
F=?2          BZE   7  WF4                 [PRINTED 
F=QL ...      STO   7  XIND(1)  
F?== ...      LDN   5  NAMEQ(1) 
F?PW          LDX   6  JPMOD
F#9G          BCHX  6  £
F#P6          MVCH  5  24                  [MOVE 'BACKWARD  
F*8Q ...      LDN   5  NAMEE(1)            [RINGING' HEADING
F*NB          MVCH  5  16                  [INTO PRINT BUFFER   
FB82 ...      CALL  7  (JPRINT2)
FBML ...      LDX   2  SAFR(1)             [SET TO SEARCH BY
FC7= ...      LDN   3  RSEARCHC(1)         [BACKWARD RINGING
FCC4 ...      STOZ     XBLCOUNT(1)  
FCLW          BRN      WF1  
FD6G    #   
FDL6    #     IF ALL BLOCKS ON WORKFILE RING PRINTED
FF5Q    #   
FFKB ...WF13  LDX   2  RELE(1)             [SET TO GET  
FG52 ...      LDX   7  XBACKPR(1)          [NEXT ADDR. ON ACTRING   
FGJL ...      STO   7  RBACKPR(1)   
FH4= ...      CALL  7  (JPRINT2)
FHHW ...      CALL  7  (JPRINT2)
FJ3G          BRN      WFA  
FJH6    #   
FK2Q    #     BREAK IN WORKFILE RING AND END OF RING ENCOUNTERED
FKGB    #   
FL22 ...WF10  LDX   7  XIND(1)  
FLFL          LDN   6  2
FL^=          BZE   7  WF12                [J IF THIS IS FIRST BREAK ENCOUNTERED
FMDW    WF11  LDCT  6  256                 [END OF CHAIN INDICATOR  
FMYG ...WF12  STO   6  XIND(1)  
FND6          BRN      WF5  
FNXQ    #   
FPCB    #     BREAK IN ACTRING ENCOUNTERED  
FPX2    #   
FQBL ...WFA10 LDX   7  RBACK(1)            [J IF THIS IS NOT
FQW= ...      BNZ   7  (JPMSEG)              [THE 1ST BREAK ENCOUNTERED 
FR*W          LDN   7  1
FRTG ...      STO   7  RBACK(1)            [BACKWARD RINGING IND.   
FS*6 ...      LDN   5  NAMEP(1) 
FSSQ          LDX   6  JPMOD
FT#B          BCHX  6  £
FTS2          MVCH  5  18                  [SET UP 'BACKWARD
FW?L ...      LDN   5  NAMEE(1)            [RINGING' HEADER 
FWR=          MVCH  5  16   
FX=W ...      CALL  7  (JPRINT2)
FXQG ...      LDX   2  STACTRING(1)        [SET TO CONTINUE SEARCH  
FY=6 ...      LDN   3  RSEARCHC(1)         [BY BACKWARD RINGING 
FYPQ          BRN      WFA1 
F^9B    #   
F^?Q ...REDTAPE 
F^B6 ...               8H00000000   
F^DG ...               8HBPTR   3   
F^GW ...               8HASIZE  3   
F^K= ...               8HAFLAG  0   
F^ML ...               8HATYPE  0   
F^Q2 ...               8HBACK1  3   
F^SB ...               8HBACK2  0   
F^WQ ...               8HALOGL  3   
F^^6 ...               8HARGNO  0   
G23G ...               4H^^^^   
G25W ...#   
G28L    #   
G2N=    ZPMFILE 
G37W    #   
G3MG    #END
^^^^ ...76446261001200000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1