PMFS85

(George Source)

Macros used: BLOCK, BXE, BXGE, BXU, CHAIN, FINDPEREC, FIXTRA, JBUSY, LBSUN, MASK, PMBSNUM, PMCORES, PMESSAGE, SEGENTRY, SETBIT

PMFS85.txt
22FL    #OPT  K0PMFS=0  
22^=    #LIS  K0PMFS>K0POST>K0ALLGEO
23DW    #SEG  PMFS85                       [M.C.D. MANN 
23YG    #              THIS SEGMENT GIVES A POSTMORTEM OF FILE STORE RELEVANT   
24D6    #              ONLY TO THE CURRENT JOB OR,IF THERE IS NO CURRENT JOB,   
24XQ    #              THAT RELEVANT ONLY TO THE CURRENT ACTIVITY.ALL   
25CB    #              MONITORING FILES OPEN AT SYSTEM BREAK TIME WILL BE   
25X2    #              LISTED AND IF ANY CHAINS OR RINGS ARE FOUND TO BE
26BL    #              BROKEN THEN ALL JOBS WILL BE TREATED IN THE SAME WAY 
26W=    #              AS THE CURRENT ONE.  
27*W    #   
27TG                   8HPMFS   
28*6    #   
28SQ    #     ENTRY POINT TABLE 
29#B    #   
29S2          SEGENTRY K1PMFS,XK1PMFS   
2=?L    #   
2=R=    #     TABLE USED BY RESTORE TIME MACRO TO CONTAIN NAMES OF FILES WHICH  
2?=W    #     ARE TO BE PRINTED IN FULL BY PMFS 
2?QG    #   
2#=6          FIXTRA   AFRESBS  
2#PQ    XAFRESBS       +RESBS              [END OF PMFS 
2*9B       FIXTRA FNUMBER                 [USED FOR REMAINDER WHEN PRINTING 
2*P2    NUMBER         +0                  [IN BLOCK FORMAT 
2B8L          FIXTRA   JTFCB
2BN=    TFCB           +FILE+FCB
2C7W          FIXTRA   JTRDATUM 
2CMG    PTRDATUM       +0                  [PTR.TO F.DESC.TABLE FOR B/S 
2D76          FIXTRA   JXFCB
2DLQ    XFCB           +0                  [ADDR. OF FILE/FCB BLOCK 
2DW3 ...      FIXTRA   JMASK1   
2F5# ...MASK1          #77777777
2F#K ...      FIXTRA   JXBITAB  
2FHW ...XBITAB                             [BIT MAP AREA
2FR7 ...#REP  21
2G2D ...               0
2G9P ...XBITEND                            [END OF BIT MAP AREA 
2GF2 ...XJFULLTAB                          [LIST OF FILES TO BE PRINTED 
2GN? ...               12HSYSTEM
2GXJ ...               12HIDF   
2H6T ...      FIXTRA   JFULLTAB            [MENDABLE VIA "PMFILE" MACRO 
2HB6 ...#GAP  30
2HKC ...      FIXTRA   JTABEND  
2HSN ...               0                   [ZERO RECORD AT END OF TABLE 
2HYC ...      FIXTRA   JBSREC   
2J46    XBSREC  
2JHQ    #GAP  K53-K50                      [DEVICE LIST RECORD  
2K3B                   +0   
2K55 ...#SKI G3 
2K6S ...(   
2K8H ...      FIXTRA   JJZDECANT
2K== ...      BRN      ZDECANT2 
2K?^ ...#   
2K*N ...RECSW          +0   
2KCC ...PAGES          +0   
2KF6 ...)   
2KH2    MASK           #17777777
2L^W    MASK2          #77777   
2MFG    MASKCGC        #03400000           [CLEAN/GENERAL/COPY MODE MASK
2M^6    MJOBDES        4HB5B1              [LANGUAGE CODE - JOB DESCRIPTION FILE
2NDQ    MONFILE        4HB1B0              [              - MONITORING FILE 
2NYB    MDIR           4HC1                [              - DIRECTORY FILE  
2PD2    MSYST          4HB1                [              - SYSTEM FILE 
2PXL    MBLKNO         +0                  [USED TO STORE BLOCK NUM 
2QC=    SUMCORE        +0                  [CHECKSUM OF BLOCK IN CORE   
2QWW    RESH1          4H   :              [COLON TO PRECEDE USER NAME  
2RBG    NGEN           +0                  [GEN NO. - 1 IF DIRECTORY ELSE FGEN  
2RW6    TFSTACK        +FILE+FSTACK 
2S*Q    TFURB          +FILE+FURB   
2STB    TFUWB          +FILE+FUWB   
2T2J ...TFURRB          +FILE+FURRB 
2T7Q ...TFURWB          +FILE+FURWB 
2T*2    SPACES  
2TSL    #REPT 3                             [USED BY ZDECANT TO STORE   
2W#=                   4H                  [LOCAL NAME AS SPACES
2WRW    TWTY           +19  
2X?G    X24            +24  
2XR6    XACT           #60  
2Y=Q    XLINK0         +0   
2YQB    XLINK1         +0   
2^=2    XLINK2         +0   
34MB    XX3            +0                  [USED TO 
3572    XX5            +0                  [PRESERVE
35LL    XX7            +0                  [ACCS.   
366=    PREF           +0                  [LOGICAL FILE NO 
36KW    RBACKPR        +0                  [ADDR. OF CURRENT ELEMENT ON RING
375G    SBACKPR        +0                  [ADDR. OF CURRENT BLOCK ON CHAIN 
37K6    SYSTDIR        +0                  [NON-ZERO IF DIRECTORY OF SYSTEM FILE
384Q    XBACTRING      +0                  [ADDR. OF ACTRING WORD OF CURRENT
38JB                                       [ACTIVITY BLOCK  
3942    XBFILER        +0                  [BASE OF AN ACTIVITY'S FILE RING 
39HL    XBLIST         +0                  [BLOCK LIST MODIFIER WORD
3=3=    XBRIND         +0                  [ZBLXPRINT CHAIN BREAK IND   
3=GW    XBSCOMP        +0                  [B/S COMPARISON MARKER   
3?2G    XCGC           +0                  [SET NON-ZERO IF FILE OPEN IN ANY OF 
3?G6                                       [CLEAN/GENERAL/COPY MODES
3?^Q    XCOND LDX   1  ALFTP               [DATA
3#FB          LDX   1  AFDTP
3#^2          LDN   1  0                   [BREAK IN INDEX CHAIN
3*DL    XCOUNT         +0                  [COUNT OF ELEMENTS IN FSTACK BLOCK   
3*Y=    XFCBLEN        +0                  [SET TO NO.OF BLOCKS OF FCB+1
3BCW    XJOBNO         +0                  [CURRENT ACTIVITY'S JOB NO.  
3BXG    XNEXTACT       +0                  [USED BY NEXTACT - CONTAINS ADDR. OF 
3CC6                                       [BLOCK ON ACT. RING  
3CWQ    XPRINTED       +0                  [BLOCKS PRINTED IND. 
3DBB    UFSTACK        +0                  [ADDR. OF FILE/FSTACK BLOCK  
3DW2    USER0          +0                  [SET IF LOCALNAME OF JFULLTAB ENTRY 0
3F*L    TEXT0          8HEND OF 
3FT=    TEXT1          20HFILESTORE POSTMORTEM  
3G#W    TEXT2          20HFSTACK BLOCK CORRUPT  
3GSG    TEXT3          20HFGN/LNG=       /  
3H#6    TEXT4          20HNO BLOCKS TO PRINT
3HRQ    TEXT5          40HTHE FOLLOWING BLOCK IS PRINTED FROM CORE  
3J?B    TEXT6          52HCORE VERSION DIFFERS FROM B/S : B/S VERSION FOLLOWS   
3JR2    TEXT7          8HBLOCK  
3K=L    TEXT8          44HB/S TRANSFER IMPOSSIBLE-INDEX CHAIN CORRUPT   
3KQ=    TEXT9          40HLOGICAL FILE           DOES NOT EXIST 
3L9W    TEXT12         16HMONITORING FILES  
3LPG    TEXT13         36HFULL PRINT OF FILES REQUIRED ENSUES   
3M96    TEXT14         48HCHAIN/RING BREAK FOUND:FULL FILESTORE PM ENSUES   
3MDY ...TEXT15         13HBLOCK CORRUPT 
3MNQ    #   
3N8B    #     ROUTINE TO GET ADDR. OF NEXT BLOCK ON CHAIN AND VALIDATE ITS  
3NN2    #     FORWARD POINTER   
3P7L    #   
3PM=    #     ENTRY    X0=LINK  
3Q6W    #         SBACKPR=ADDR. OF CURRENT BLOCK
3QLG    #   
3R66    #     EXIT  0  1 IF POINTERS OF NEXT BLOCK OK.  
3RKQ    #                X2 & SBACKPR = ADDR. OF NEXT BLOCK 
3S5B    #     EXIT  0  0 IF CHAIN BREAK DETECTED
3SK2    #   
3T4L    SEARCH                             [FORWARD CHAINING
3TJ=          SMO      SBACKPR(1)   
3W3W          LDX   2  FPTR                [LOAD ADDR. OF NEXT BLOCK
3WHG    SEARCHA                            [TO VALIDATE FPTR OF BLOCK   
3X36          LDX   3  FPTR(2)  
3XGQ    S3    STO   2  SBACKPR(1)          [STORE BLOCK ADDR.   
3Y2B    S2    PMCORES 3,S1                 [J IF FORWARD PTR INVALID
3YG2          EXIT  0  1                   [OK  
3Y^L    S1    EXIT  0  0                   [CORRUPTION  
3^F=    #   
3^YW    SEARCHB                            [BACKWARD CHAINING   
42DG          SMO      SBACKPR(1)   
42Y6          LDX   2  BPTR                [LOAD ADDR. OF NEXT BLOCK
43CQ    SEARCHC                            [TO VALIDATE FORWARD PTR 
43XB          LDX   3  BPTR(2)  
44C2          BRN      S3   
44WL    #   
45B=    #     ROUTINE TO GET ADDR.OF NEXT ELEMENT ON RING AND VALIDATE ITS  
45TW    #     FORWARD POINTER   
46*G    #   
46T6    #     ENTRY    X0=LINK  
47#Q    #         RBACKPR=ADDR. OF CURRENT ELEMENT  
47SB    #   
48#2    #     EXIT  0  1 IF POINTERS OF NEXT ELEMENT OK 
48RL    #                X2 & RBACKPR = ADDR. OF NEXT ELEMENT   
49?=    #     EXIT  0  0 IF CHAIN BREAK DETECTED
49QW    #   
4==G    RSEARCH                            [FORWARD RINGING 
4=Q6          SMO      RBACKPR(1)   
4?9Q          LDX   2  0                   [LOAD ADDR. OF NEXT ELEMENT  
4?PB    RSEARCHA                           [TO VALIDATE FORWARD PTR OF ELEMENT  
4#92          LDX   3  0(2) 
4#NL          STO   2  RBACKPR(1)          [STORE ELEMENT ADDR. 
4*8=          BRN      S2   
4*MW    #   
4B7G    #     ROUTINE TO GET ADDR. OF NEXT ELEMENT ON ACT. RING AND VALIDATE
4BM6    #     ITS POINTERS.THIS ROUTINE IS USED EXCLUSIVELY BY ZGETACT. 
4C6Q    #   
4CLB    #     ENTRY    X0=LINK  
4D62    #        XNEXTACT=ADDR. OF CURRENT ELEMENT  
4DKL    #   
4F5=    #     EXIT     1 IF POINTERS OF NEXT ELEMENT OK 
4FJW    #                X2 & XNEXTACT = ADDR. OF NEXT ELEMENT  
4G4G    #     EXIT     0 IF CHAIN BREAK DETECTED
4GJ6    #   
4H3Q    NEXTACT                            [FORWARD RINGING 
4HHB          SMO      XNEXTACT(1)  
4J32          LDX   2  0                   [LOAD ADDR. OF NEXT ELEMENT  
4JGL          LDX   3  1(2) 
4K2=          TXU   3  XNEXTACT(1)  
4KFW          BCS      S1                  [J IF ELEMENTS BACKWORD PTR CORRUPT  
4K^G    NEXTACTA
4LF6          LDX   3  0(2) 
4LYQ          STO   2  XNEXTACT(1)         [STORE ELEMENT ADDR. 
4MDB          BRN      S2   
4MY2    #   
4NCL    #     THIS ROUTINE IS TO FIND THE BLOQPTR AND EXPECTS 'CALL 3 ' TO BE   
4NX=    #     FOLLOWED BY - +BSTB+(?)*#10000
4PBW    #   
4PWG    #     ENTRY    X3=LINK  
4QB6    #   
4QTQ    #     EXIT     1 - X1=BLOQPTR   
4R*B    #   
4RT2    MHUNTIL 
4S#L          LDN   1  BINDEX   
4SS=          LDX   1  FPTR(1)  
4T?W          PMCORES 1,WRONG2  
4TRG          LDX   0  ATYPE(1) 
4W?6          SBX   0  0(3)                [TEST FOR REQ'D BLOCK
4WQQ          BZE   0  OUT                 [EXIT IF REQ'D BLOCK 
4X=B          LDX   0  FPTR(1)  
4XQ2          SBN   0  BINDEX   
4Y9L          BNZ   0  MHUNTIL+1           [J IF NOT BASE OF CHAIN  
4YP=    WRONG2  
4^8W          LDX   7  FXPM2                   [INDEX CHAIN IS BROKEN   
4^NG    TRYAGAIN
5286          SMO      7
52MQ          OBEY     XCOND               [PICK UP TABLE ADDRESS   
537B          BZE   1  MIND                [J AS BLOCK NOT FOUND - CORRUPTION   
53M2          PMCORES 1,MIND
546L          LDX   0  ATYPE(1) 
54L=          SBX   0  0(3) 
555W          BZE   0  OUT                 [J IF REQ'D BLOCK
55KG          ADN   7  1
5656          BRN      TRYAGAIN 
56JQ    OUT   EXIT  3  1
574B    MIND  LDX   3  FXPM2
57J2          PMESSAGE TEXT8(3),11  
583L          LDX   1  FXPM2               [EXIT FROM ZBLKPRINT ROUTINE 
58H=          LDX   0  XLINK2(1)
592W          EXIT  0  0
59GG    #   
5=26    #     ROUTINE TO PRINT A BLOCK OF A FILE DEFINED BY CURRENT FCB AND A   
5=FQ    #     BLOCK LIST WORD MODIFIER.ALSO THE ROUTINE WILL COMPARE THE BLOCK  
5=^B    #     IN CORE WITH ITS B/S ORIGIN UNDER CERTAIN CIRCUMSTANCES AND IF
5?F2    #     DIFFERENT WILL PRINT THE B/S VERSION. 
5?YL    #   
5#D=    #     ENTRY    X0=LINK  
5#XW    #          XBLIST=BLOCK LIST MODIFIER WORD  
5*CG    #            XFCB=ADDR. OF FILE/FCB BLOCK   
5*X6    #   
5BBQ    #     EXIT     0
5BWB    #              ALL ACCS. UNDEFINED  
5CB2    ZBLKPRINT   
5CTL          STO   0  XLINK2(1)
5D*=          STOZ     XBSCOMP(1)          [CLEAR B/S COMPARISON MARKER 
5DSW          LDX   2  XFCB(1)  
5F#G          SMO      XBLIST(1)
5FS6          LDX   4  FBLKS(2)            [LOAD BLOCK NO. OF REQUIRED BLOCK
5G?Q          STO   4  MBLKNO(1)
5GRB          CALL  0  SEARCHA             [VALIDATE FCBS FPTR  
5H?2          BRN      ZBREAK              [J IF CHAIN BREAK
5HQL    ZB1   CALL  0  SEARCH              [GET ADDR. OF NEXT BLOCK ON CHAIN
5J==          BRN      ZBREAK              [J IF CHAIN BREAK(POINTERS INVALID)  
5JPW          LDX   6  ATYPE(2) 
5K9G          SRL   6  12   
5KP6          TXU   6  TFCB(1)  
5L8Q          BCC      ZB7                 [J IF ANOTHER FILE/FCB BLOCK 
5L=^ ...      BXE   6  TFSTACK(1),ZB1   
5L*8 ...      BXE  6  TFURB(1),ZBUB 
5LCC ...      BXE  6  TFUWB(1),ZBUB 
5LFL ...      BXE  6  TFURRB(1),ZBUB
5LHT ...      BXU  6  TFURWB(1),ZB1 
5LL4 ...ZBUB                    [USAGE BLOCK FOUND  
5LNB          TXU   4  BACK2(2) 
5M82          BCS      ZB1                 [J IF NOT REQUIRED BLOCK NO. 
5MML          LDX   5  XAFRESBS(1)  
5N7=          LDN   4  A1(2)
5NLW          MOVE  4  0                   [MOVE BLOCK TO END OF PMFS   
5P6G          TXU   6  TFURB(1) 
5PL6          BCC      ZBCHSUM             [J IF FILE/FURB TO CHECKSUM BLOCK
5Q5Q          TXU   6  TFUWB(1) 
5QKB          BCS      ZBPRINT             [J IF NOT FILE/FUWB & DON'T CHECKSUM(
5R52          LDX   7  XCGC(1)             [IF CLEAN/GENERAL/COPY SWITCH
5RJL          BZE   7  ZBPRINT             [UNSET,DON'T CHECKSUM
5S4=    #     NOW TO CHECKSUM BLOCK 
5SHW    ZBCHSUM 
5T3G          STO   6  XBSCOMP(1)          [SET B/S COMPARISON MARKER   
5TH6          SUM   3  0                   [CALCULATE CHECKSUM  
5W2Q          STO   3  SUMCORE(1)   
5WGB    ZBPRINT 
5X22          PMESSAGE TEXT5(1),10            ['THE FOLLOWING BLOCK IS PRINTED  
5XFL                                       [FROM CORE'  
5X^=    ZB2   LDN   4  TEXT7(1) 
5YDW          LDX   5  JPMOD
5YYG          ADN   5  2
5^D6          MVCH  4  5                   [STORE 'BLOCK' IN BUFFER 
5^XQ          BCHX  5  £
62CB          STO   5  JPMOD
62X2          LDX   5  XBLIST(1)
63BL          CALL  7  (JDECN)               [CONVERT & STORE BLOCK LIST MODIFIE
63W=          CALL  7  (JUP)
64*W                   +3   
64TG          LDX   5  MBLKNO(1)
65*6          CALL  7  (JOCT)                [CONVERT & STORE BLOCK NO. 
65SQ          CALL  7  (JPRINT2)
66#B    #     NOW TO PRINT BLOCK
66S2    ZB3   SMO      FXPM1
67?L          STOZ     FMODBLK             [INITIALISE BLOCK MODIFIER   
67R=          LDN   3  512  
68=W          STO   3  NUMBER(1)
68QG          LDN   4  0                   [INITIALISE LINE MODIFIER
68T5 ...#SKI G3 
68XN ...(   
692? ...      LDX   5  RECSW(1)            [ARE WE PRINTING RECALL FILE 
694W ...      BNG   5  RECP1               [YES 
697F ...)   
69=6          LDX   5  TEXT3+4(1)          [LOAD FILES LANGUAGE CODE
69PQ          TXU   5  MONFILE(1)   
6=9B          BCC      ZBCHAR   
6=P2          TXU   5  MJOBDES(1)   
6?8L          BCS      ZBLOCK   
6?N=    #     MONITORING & JOB DESCRIPTION FILES ARE NOW PRINTED IN CHARACTER   
6#7W    #     FORMAT
6#MG    ZBCHAR  
6*76          CALL  7  (JPRINT1)
6*LQ          LDN   3  512  
6B6B          SMO      FXPM1
6BL2          STO   3  FREMAIN             [SET REMAINDER   
6C5L          LDN   1  0                   [INITIALISE WORD MODIFIER
6CK=    ZB4   LDX   7  FXPM1
6D4W          ADX   7  FPRRCD   
6DJG          CALL  3  (7)                 [NOW PRINT IN CHARACTER FORMAT   
6F46          BRN      ZB4                 [J TO PRINT NEXT RECORD  
6FHQ          BRN      ZB6                 [J AS BLOCK PRINTED  
6G3B                                       [ERROR SO PRINT IN BLOCK FORMAT  
6GH2    #     PRINT IN BLOCK FORMAT 
6H2L    ZBLOCK  
6HG=          LDX   7  FXPM1
6H^W          ADX   7  FPRLIN   
6JFG          CALL  3  (7)                 [NOW PRINT IN BLOCK FORMAT   
6J^6          LDX   1  FXPM2
6KDQ          TXU   4  TWTY(1)  
6KYB          BCC      ZB5                 [J AS FIRST/NEXT 128 WORDS PRINTED   
6LD2          BUX   4  ZBLOCK   
6LXL    ZB5   LDX   0  NUMBER(1)
6MC=          SBN   0  129  
6MWW          BNG   0  ZB6                 [J IF ALL PRINTED
6NBG          CALL  7  (JPRINT1)
6NW6          LDN   4  0
6P*Q          LDN   5  128  
6PTB          SBS   5  NUMBER(1)
6Q*2          SMO      FXPM1
6QSL          ADS   5  FMODBLK  
6R#=          BRN      ZBLOCK              [J TO PRINT NEXT 128 WORDS   
6RRW    ZB6   LDX   1  FXPM2
6S?G          LDX   5  XBSCOMP(1)   
6SR6          BZE   5  ZEX                 [EXIT IF B/S COMPARISON NOT REQUIRED 
6T=Q          BRN      ZB7  
6T?6 ...#SKI G3 
6T?G ...(   
6T?W ...#   
6T#= ...#     PRINT OF RECALL FILE  
6T#L ...RECP1   
6T*2 ...      LDX   1  FXPM1
6T*B ...      LDX   7  FXPM1
6T*Q ...      ADX   7  JRECBLK  
6TB6 ...      CALL  0  (7)  
6TBG ...      BRN      RECP2               [BLOCKLET PRINTED OK 
6TBW ...      LDX   1  FXPM2
6TC= ...      LDX   2  CONSCNTRL           [HAVE WE REACHED END OF FILE?
6TCL ...      LDX   0  PAGES(1) 
6TD2 ...      SBX   0  CORET(2) 
6TDB ...      BPZ   0  RECP3               [YES 
6TDQ ...      PMESSAGE TEXT15(1),4         [NO THEN ERROR   
6TF6 ...      LDN   4  0                   [INITIALISE LINE MODIFIER
6TFG ...      LDN   0  1
6TFW ...      ADS   0  PAGES(1) 
6TG= ...      SMO      FXPM1
6TGL ...      LDX   2  FMODBLK  
6TH2 ...      BNZ   2  ZBLOCK   
6THB ...      ADS   0  PAGES(1) 
6THQ ...      BRN      ZBLOCK   
6TJ6 ...RECP2 LDX   1  FXPM2
6TJG ...      LDN   0  1
6TJW ...      ADS   0  PAGES(1) 
6TK= ...      LDX   0  NUMBER(1)
6TKL ...      SBN   0  256  
6TL2 ...      BZE   0  ZEX                 [FINISHED
6TLB ...      STO   0  NUMBER(1)
6TLQ ...      LDN   5  256  
6TM6 ...      SMO      FXPM1
6TMG ...      ADS   5  FMODBLK  
6TMW ...      BRN      RECP1
6TN= ...RECP3 LDX   0  XLINK1(1)           [EXIT DIRECT FROM ZDECANT
6TNL ...      EXIT  0  0
6TP2 ...#   
6TPB ...)   
6TQB    ZBREAK  
6W=2          LDN   5  1
6WPL          STO   5  XBRIND(1)           [SET CHAIN BREAK INDICATOR   
6X9=    #   
6XNW    #     THERE NOW FOLLOWS THE CODE FOR LOCATING DEVICE HOLDING REQUIRED   
6Y8G    #     RESIDENCE AND BLOCK   
6YN6    #   
6^7Q    ZB7   LDX   3  XFCB(1)  
6^MB          LDX   4  BSPRE(3) 
7272          BZE   4  WRNG3               [J IF LOGICAL FILE NO. ZERO  
72LL          BXE   4  PREF(1),ZBTRAN         [J IF B/S SAME AS BEFORE  
736=          STO   4  PREF(1)             [STORE LOGICAL FILE NO.  
73KW          CALL  3  MHUNTIL  
745G    #HAL  +BSTB+ALFTABLE,0  
74K6          SMO      FXPM2
754Q          LDX   2  PREF                [RESTORE LOGICAL FILE NO.
75JB          SLL   2  1                   [MULTIPLY BY 2 TO POINT TO ALFTBL
7642          BXGE  2  ALOGLEN(1),WRNG3 
76HL          SMO      2
773=          LDX   5  A1(1)               [PICK UP FIRST WORD OF PAIR  
77GW          BNG   5  WRNG3
782G          LDN   2  #7777
78G6          ANDX  2  5                   [POINTER FOR FILE DESC.TABLE IN 2
78^Q          SRL   5  12                  [BSUNIT NO. OF BSFILE
79FB          CALL  3  MHUNTIL  
79^2    #HAL  +BSTB+FDTABLE,0   
7=DL          SMO      2                   [NOT EQUIVALENT TO      SMO    2 
7=Y=          LDN   3  0(1)                [                       LDX  3 1 
7?CW          LDX   1  FXPM2
7?XG          STO   3  PTRDATUM(1)         [FOR DATUMBLK
7#C6          LDCH  2  A1(3)
7#WQ          FINDPEREC 3,APFOTY,2,NEXT    [NEXT USED AS LABEL IN MACRO 
7*BB          BNG   3  WRNG3               [(3) SHOULD POINT TO A DEVICE LIST   
7*W2          LBSUN 3,4                    [B/S UNIT NO. IN X4  
7B*L          SBX   4  5                   [IF NOT CORRECT ONE  
7BT=          BNZ   4  NEXT                [RE-ENTER FINDPEREC  
7C#W          SMO      FXPM1
7CSG          LDX   0  JBSPTR   
7D#6          BZE   0  RDUMP               [IF NO JBSPTR SET NO NEED TO UNDUMP  
7DRQ          SBX   0  3
7F?B          BZE   0  ZBTRAN              [IF NO CHANGE - NO NEED TO SWAP  
7FR2          LDN   4  XBSREC(1)
7G=L          SMO      FXPM1
7GQ=          LDX   5  JBSPTR   
7GXD ...XBUSY   
7H4L ...      JBUSY   5,XBUSY               [JUMP IF DEVICE IS BUSY 
7H9W          MOVE  4  K53                 [ELSE UNDUMP FROM XBSREC TO  
7HPG                                       [PREVIOUS JBSPTR.
7J96    RDUMP SMO      FXPM1
7JNQ          STO   3  JBSPTR              [THEN SET UP PRESENT JBSPTR  
7K8B          LDX   4  3
7K#? ...
7KD8 ...WTBSTRAN
7KJ5 ...      JBUSY    3,WTBSTRAN          [WAIT FOR DEVICE HOLDING THE FILE STO
7KN2          LDN   5  XBSREC(1)
7L7L          MOVE  4  K53                 [AND DUMP FROM PRESENT JBSPTR
7LM=                                       [TO XBSREC   
7M6W    ZBTRAN  
7MLG          PMBSNUM  XAFRESBS(1),MBLKNO(1)     [TRANSFER BLOCK FROM B/S   
7N66          LDX   1  FXPM2
7NKQ          LDX   7  XBSCOMP(1)   
7P5B          BZE   7  ZB2                 [J IF B/S COMPARISON NOT REQUIRED
7PK2          STOZ     XBSCOMP(1)          [UNSET B/S COMPARISON MARKER 
7Q4L          LDX   4  XAFRESBS(1)  
7QJ=          SUM   3  0                   [CHECKSUM B/S VERSION
7R3W          SBX   3  SUMCORE(1)   
7RHG          BZE   3  ZEX            [EXIT IF CHECKSUMS EQUAL  
7S36          CALL  7  (JPRINT1)
7SGQ          PMESSAGE TEXT6(1),13  
7T2B          CALL  7  (JPRINT1)
7TG2          BRN      ZB3                 [J TO PRINT B/S VERSION  
7T^L    #   
7WF=    WRNG3 LDX   1  FXPM2
7WYW          LDN   2  TEXT9(1)            [LOGICAL FILE NO. DOES NOT EXIST 
7XDG          LDX   3  JLPMOD   
7XY6          MOVE  2  10   
7YCQ          CALL  7  (JUP)
7YXB                   +14  
7^C2          LDX   5  PREF(1)  
7^WL          CALL  7  (JOCT)                [OCTALISE LOGICAL FILE NO. 
82B=          CALL  7  (JPRINT2)             [& OUTPUT ERROR MESSAGE
82TW    ZEX   LDX   0  XLINK2(1)
83*G          EXIT  0  0
83T6    #   
84#Q    #     THIS ROUTINE INTERPRETS A 21 WORD AREA AS A BIT MAP,EACH SET BIT  
84SB    #     (BY ITS POSITION) INDICATING A BLOCK,RELATIVE TO START OF FCB'S   
85#2    #     BLOCK LIST,WHICH IS REQUIRED TO BE PRINTED.THE REQUIRED BLOCKS
85RL    #     ARE THEN PRINTED. 
86?=    #   
86QW    #     ENTRY    X0=LINK  
87=G    #            XFCB=ADDR. OF FILE/FCB BLOCK   
87Q6    #   
889Q    #     EXIT     0 - OK   
88PB    #              1 - INVALID PTR FOUND BY BLOCK PRINTING CODE(ZBLKPRINT)  
8992    #              ALL ACCS. UNDEFINED  
89NL    ZDECANT 
8=8=          STO   0  XLINK1(1)
8=MW          LDX   2  XFCB(1)  
8?7G    #     PRINT FILE NAME HEADING   
8?M6          LDX   7  COMM(2)  
8#6Q          BNG   7  YDIR                [J IF DIRECTORY  
8#LB          LDX   6  FGEN(2)             [LOAD GENERATION NO. 
8*62          LDX   7  FLAN(2)             [LOAD LANGUAGE CODE  
8*KL          LDN   4  FLOC1(2)            [LOCAL NAME OF FILE  
8B5=          LDN   2  FUSER1(2)           [ADDR. OF USER NAME  
8BJW          BRN      ZD1  
8BLS ...#SKI G3 
8BNQ ...(   
8BQN ...ZDECANT2
8BSL ...      LDX   2  MASK1(1) 
8BWJ ...      STO   2  RECSW(1)            [SET SWITCH TO INDICATE PRINT RECALL 
8BYG ...      BRN      ZDECANT  
8C2D ...)   
8C4G    YDIR
8CJ6          LDN   4  SPACES(1)           [LOCAL NAME AS SPACES
8D3Q          LDN   2  FME1(2)             [LOAD ADDR.OF USER NAME  
8DHB          LDN   6  1                   [LOAD GENERATION OF 1
8F32          LDX   7  MDIR(1)             [LOAD DIRECTORY FILE LANGUAGE CODE   
8FGL    ZD1 
8G2=          STO   6  NGEN(1)             [STORE GEN. NO.  
8GFW          STO   7  TEXT3+4(1)          [STORE LANGUAGE CODE 
8G^G    #     SET UP FILE NAME HEADING IN BUFFER
8HF6          LDX   6  RESH1(1) 
8HYQ          LDX   3  JLPMOD   
8JDB          STO   6  2(3) 
8JY2          ADN   3  3
8KCL          MOVE  2  3                   [STORE USER NAME 
8KNC ...#   
8K^8 ...#  REMOVING THE TRAILING SPACES FROM USER NAME BY BACKWARD SCANNING 
8L9^ ...#   
8LGQ ...      LDN  7  12
8LRH ...      ADN   3  3                   [POINTER TO WORD IMMEDIATELY NEXT TO 
8M4# ...ZD2   SLC   3  2                   [CONVERT INTO CHAR ADDR  
8M*5 ...      SBN   3  1                   [ADDR OF THE LAST CHAR OF WORD FME3 O
8MKW ...      SRC   3  2
8MWM ...      LDCH  0  0(3)                [LAST CHAR OF USER NAME ON FIRST ENTR
8N7D ...      SBN   0  #20                 [IS IT A SPACE?  
8ND9 ...      BNZ   0  ZD3                 [J IF CHAR NOT SPACE 
8NP2 ...      BCT   7  ZD2  
8N^R ...ZD3   BCHX  3  £
8P=J ...      LDN   0  #36  
8PH* ...      DCH   0  0(3)                [DEPOSIT '.' AS LAST CHAR IN USER NAM
8PS=          BCHX  3  £
8Q?W          LDX   2  4
8QRG          MVCH  2  12                   [STORE FILE NAME
8R?6    #     NOW SET UP FGN/LNG
8RQQ          LDX   3  JLPMOD   
8S=B          ADN   3  10   
8SQ2          LDN   2  TEXT3(1) 
8T9L          MOVE  2  5                   [STORE 'FGN/LNG=       / 
8TP=          LDX   5  NGEN(1)             [LOAD GEN. NO.   
8W8W          ADN   3  2
8WNG          STO   3  JPMOD
8X86          CALL  7  (JDECN)               [CONVERT & STORE GEN. NO. IN CHARS.
8XMQ          CALL  7  (JPRINT2)             [NOW PRINT THE HEADER LINE 
8Y7B    #   
8YM2          STOZ     XBRIND(1)           [CLEAR ZBLXPRINT CHAIN BREAK IND.
8^6L          STOZ     XPRINTED(1)         [CLEAR BLOCKS PRINTED INDICATOR  
8^L=          SMO      XFCB(1)  
925W          LDX   6  FBLMOD              [LENGTH OF FCB RELATIVE TO FBLMOD
92KG          SBN   6  FBLKS-A1            [LOAD NO. OF BLOCKS+1
9356          STO   6  XFCBLEN(1)   
93JQ          LDN   6  0                   [BLOCK LIST MODIFIER 
944B          LDN   3  XBITAB(1)           [LOAD ADDR.OF BIT MAP AREA   
94J2    ZD4   LDN   4  XBITEND(1)   
953L          TXU   3  4
95H=          BCC      ZDEND               [J IF END OF BIT MAP AREA
962W          LDN   7  24                  [LOAD BIT REMAINDER COUNT
96GG          LDX   5  0(3)                [LOAD FIRST/NEXT WORD OF BIT MAP AREA
9726    ZD5   BZE   5  ZD7                 [J IF NO MORE BITS SET   
97FQ          BPZ   5  ZD6                 [J IF BLOCK NOT TO BE PRINTED
97^B          TXL   6  XFCBLEN(1)          [J IF BLOCK LIST MODIFIER > SIZE 
98F2          BCC      ZDEND               [OF FCB'S BLOCK LIST 
98YL          STO   3  XPRINTED(1)         [SET BLOCKS PRINTED INDICATOR
99D=          STO   5  XX5(1)              [STORE ENTRY FROM MAP AREA   
99XW          STO   6  XBLIST(1)           [STORE BLOCK LIST MODIFIER   
9=CG          STO   7  XX7(1)              [STORE BIT REMAINDER COUNT   
9=X6    #   
9?BQ          CALL  0  ZBLKPRINT           [PRINT BLOCK 
9?WB    #   
9#B2          LDX   3  XPRINTED(1)         [RESTORE ACCS.   
9#TL          LDX   5  XX5(1)   
9**=          LDX   6  XBLIST(1)
9*SW          LDX   7  XX7(1)   
9B#G    ZD6   SLL   5  1                   [READY TO TEST NEXT BIT OF MAP AREA(1
9BS6          ADN   6  1                   [INCREAS BLOCK LIST MODIFIER 
9C?Q          SBN   7  1                   [REDUCE BIT REMAINDER COUNT  
9CRB          BRN      ZD5  
9D?2    ZD7   ADX   6  7                   [INCREASE BLOCK MOD. BY BITS REM.
9DQL          ADN   3  1                   [ADDR.OF NEXT WORD IN MAP AREA   
9F==          BRN      ZD4  
9FPW    ZDEND   
9G9G          LDX   4  XPRINTED(1)  
9GP6          BNZ   4  ZDEND1              [J IF BLOCKS PRINTED 
9H8Q          PMESSAGE TEXT4(1),5             [OTHERWISE MESS. - NO BLOCKS  
9HNB    ZDEND1  
9J82          CALL  7  (JPRINT) 
9JML          LDX   4  XBRIND(1)           [LOAD CHAIN BREAK IND.   
9K7=          LDX   0  XLINK1(1)           [OTHERWISE   
9KLW          BZE   4  ZDEX                [EXIT 0 IF NO CHAIN BREAKS   
9L6G          EXIT  0  1                   [EXIT 1  
9LL6    ZDEX  EXIT  0  0
9M5Q    #   
9MKB    #     THIS ROUTINE WILL SET THE BITS IN THE BIT MAP AREA(XBITAB) TO 
9N52    #     INDICATE WHICH BLOCKS ARE TO BE PRINTED   
9NJL    #   
9P4=    #     ENTRY    X2=ADDRESS OF FILE/FCB BLOCK 
9PHW    #              X7=NO.OF L.S. BITS SET INDICATES NO OF BLOCKS REQUIRED   
9Q3G    #                 TO BE PRINTED. E.G. BITS 22 & 23 SET INDICATES
9QH6    #                 CURRENT & LAST BLOCK(WRITTEN,READ ETC.) TO BE PRINTED 
9R2Q    #              X0=LINK  
9RGB    #   
9S22    #     EXIT     X4,X5,X6 & X7 UNDEFINED  
9SFL    #   
9S^=    SETWRITE
9TDW          LDX   6  FBLMOD(2)           [LOAD BLOCK NO. OF LAST BLOCK
9TYG          SBN   6  FBLKS-A1+1          [APPENDED RELATIVE TO FBLKS OF FCB   
9WD6    #   
9WXQ    #     ENTRY    X6=BLOCK NO. TO BE PRINTED RELATIVE TO FBLKS OF FCB  
9XCB    #   
9XX2    SETBIT  
9YBL          DVS   5  X24(1)              [BLOCK NO. MULTIPLE OF 24 + REMAINDER
9YW=          LDN   4  23   
9^*W          SBX   4  5
9^TG          LDX   5  6
=2*6          LDN   6  0
=2SQ          SMO      4
=3#B          SLL   67 0                   [POSITION BLOCK NO. USING REMAINDER  
=3S2          BZE   5  SET1                [J IF BLOCK NO < 24  
=4?L          SMO      5
=4R=          ORS   6  XBITAB-1(1)         [SET BITS IN 
=5=W    SET1  SMO      5                   [APPROPRIATE WORD
=5QG          ORS   7  XBITAB(1)           [OF BIT MAP AREA 
=6=6          EXIT  0  0
=6PQ    #   
=79B    #     FOR A GIVEN FCB & FSTACK THIS ROUTINE WILL SET UP A BIT MAP   
=7P2    #     REPRESENTING THOSE BLOCKS OF THE FILE WHICH IT IS REQUIRED
=88L    #     TO PRINT.MONITORING FILES ARE IGNORED BY THIS ROUTINE.
=8N=    #   
=97W    #     ENTRY    X0=LINK  
=9MG    #            XFCB=ADDR. OF FILE/FCB BLOCK   
==76    #         UFSTACK=ADDR. OF FILE/FSTACK BLOCK
==LQ    #   
=?6B    #     EXIT     0 - OK   
=?L2    #              1 - FILE IS A MONITORING FILE
=#5L    #              ALL ACCS. EXCEPT X1 UNDEFINED
=#K=    XFSTACK 
=*4W          STO   0  XLINK1(1)
=*JG          LDX   2  XFCB(1)  
=B46          LDX   6  FLAN(2)             [LOAD LANGUAGE CODE OF FILE  
=BHQ          TXU   6  MONFILE(1)   
=C3B          BCS      XF1  
=CH2          EXIT  0  1                   [EXIT IF MONITORING FILE 
=D2L    #   
=DG=    XF1   STOZ     SYSTDIR(1)   
=D^W          STOZ     XCGC(1)  
=FFG          STOZ     XBITAB(1)
=F^6          LDN   4  XBITAB(1)
=GDQ          LDN   5  XBITAB+1(1)  
=GYB          MOVE  4  20                  [ZEROISE BIT MAP AREA
=HD2    #   
=HXL          LDX   3  UFSTACK(1)   
=JC=          LDX   4  ARINGNO(3)          [LOAD NO.OF ELEMENTS IN FSTACK BLOCK 
=JWW          ANDX  4  MASK2(1) 
=K6N ...      BZE   4  XF12 
=KBG          ADN   3  ARINGNO+1           [OBTAIN ADDR. OF FIRST ELEMENT   
=KW6          TXU   6  MSYST(1) 
=L*Q          BCC      XFSYD               [J IF SYSTEM FILE
=LTB          LDX   6  COMM(2)  
=M*2          BPZ   6  XF2                 [J IF NOT DIRECTORY FILE 
=MSL    XFSYD STO   3  SYSTDIR(1)          [SET INDICATOR   
=N#=    XF2   STO   4  XCOUNT(1)           [SET COUNT OF FSTACK ELEMENTS
=NRW          LDX   7  FGENERAL1(3) 
=P?G          SLC   7  2
=PR6          BPZ   7  XF3                 [J IF NOT APPEND MODE
=Q=Q          LDN   7  3                   [BIT PATTERN TO PRINT CURRENT & LAST 
=QQB                                       [BLOCK APPENDED  
=R=2          CALL  0  SETWRITE            [SET BITS IN BIT MAP AREA
=RPL    XF3   LDX   7  FGENERAL1(3) 
=S9=          ANDX  7  MASKCGC(1)   
=SNW          BZE   7  XF5  
=T8G          STO   7  XCGC(1)             [SET CLEAN/GENERAL/COPY MODE SWITCH  
=TN6    XF5   LDX   7  FGENERAL1(3) 
=W7Q          SLC   7  3
=WMB          BPZ   7  XF11                [J IF NOT WRITE MODE 
=X72          LDN   7  1                   [SET BIT IN BIT MAP AREA TO PRINT
=XLL          CALL  0  SETWRITE            [CURRENT APPEND BLOCK
=Y6=          LDX   6  SYSTDIR(1)   
=YKW          BNZ   6  XF7                 [J IF DIR. OR SYST. FILE 
=^5G          LDX   7  FGENERAL1(3) 
=^K6          SLC   7  4
?24Q          BPZ   7  XF10                [J IF NOT GENERAL MODE   
?2JB    XF7   LDX   6  FREADBLOCK(3)
?342          BNG   6  XF9                 [J AS FREADBLOCK NOT USABLE  
?3HL          SBN   6  FBLKS-2             [SET BITS CORRESPONDING TO CURRENT   
?43=          LDN   7  #37                 [READ BLOCK AND UP TO TWO EITHER 
?4GW    XF8   CALL  0  SETBIT              [SIDE
?52G    XF9   ADN   3  FELLEN              [UPDATE FSTACK ELEMENT POINTER   
?5G6          LDX   4  XCOUNT(1)
?5^Q          BCT   4  XF2                 [REDUCE FSTACK ELEMENT COUNT 
?6FB ...XF12  LDX   0  XLINK1(1)
?6^2          EXIT  0  0
?7DL    #   
?7Y=    XF10  LDX   6  FREADBLOCK(3)
?8CW          BNG   6  XF9  
?8XG          SBN   6  FBLKS               [SET BITS CORRESPONDING TO CURRENT   
?9C6          LDN   7  3                   [AND PREVIOUS READ BLOCKS
?9WQ          BRN      XF8  
?=6J ...XF11  LDX   4  SYSTDIR             [SYSTEM FILE OR DIRECTORY?   
?=BB ...      BNZ   4  XF7                 [J TO SET APPROPRIATE BITS   
?=L8 ...      SLC   7  1
?=W2          BNG   7  XF7                 [J IF GENERAL MODE   
??*L          SRC   7  3
??T=          BNG   7  XF10                [J IF READR MODE 
?##W          SRC   7  1
?#SG          BNG   7  XF10                [J IF READ MODE  
?*#6          BRN      XF9  
?*RQ    #   
?B?B    #     ROUTINE TO EXAMINE AN ACTIVITY TO DETERMINE WHAT FILES IT HAS 
?BR2    #     OPEN;EXAMINE THE MODES IN WHICH THESE FILES ARE OPEN AND PRINT
?C=L    #     THE APPROPRIATE BLOCKS FROM THESE FILES   
?CQ=    #   
?D9W    #     ENTRY    X0=LINK  
?DPG    #              X2=ADDR.OF ACTRING WORD OF CURRENT ACTIVITY BLOCK
?F96    #   
?FNQ    #     EXIT     0 - OK   
?G8B    #              XCHNBRK - INVALID POINTER FOUND  
?GN2    #              ALL ACCS. UNDEFINED EXCEPT X1
?H7L    ZFILEPRINT  
?HM=          STO   0  XLINK0(1)
?J6W          ADN   2  FILERING-ACTRING    [STORE BASE ADDR. OF THIS
?JLG          STO   2  XBFILER(1)          [ACTIVITY'S FILE RING
?K66          CALL  0  RSEARCHA            [VALIDATE ELEMENTS FORWARD PTR   
?KKQ          BRN      XCHNBRK  
?L5B    ZF1   CALL  0  RSEARCH             [GET NEXT ELEMENT ADDR. CHECKING PTRS
?LK2          BRN      XCHNBRK  
?M4L          TXU   2  XBFILER(1)   
?MJ=          BCS      ZF2  
?N3W          LDX   0  XLINK0(1)
?NHG          EXIT  0  0
?P36    ZF2   ADX   2  FBACKPOINT(2)       [LOAD BLOCK START ADDR.  
?PGQ          PMCORES 2,ZFERR              [IS FBACKPOINT CORRUPT   
?Q2B          LDX   4  ATYPE(2) 
?QG2          SRL   4  12   
?Q^L          TXU   4  TFSTACK(1)   
?RF=          BCC      ZF3                 [J IF FILE/FSTACK BLOCK  
?RYW          BRN      ZF1  
?SDG    #   
?SY6    ZFERR PMESSAGE TEXT2(1),5             ['FSTACK BLOCK CORRUPT
?TCQ          BRN      ZF1  
?TXB    #     STEP BACK TO PREVIOUS FILE/FCB BLOCK  
?WC2    ZF3   STO   2  UFSTACK(1)          [STORE ADDR. OF FSTACK BLOCK 
?WWL          CALL  0  SEARCHC             [VALIDATE FSTACK FORWARD PTR.
?XB=          BRN      XCHNBRK  
?XTW    ZF4   CALL  0  SEARCHB             [GET ADDR.OF NEXT BLOCK CHECKING PTRS
?Y*G          BRN      XCHNBRK  
?YT6          LDX   4  ATYPE(2) 
?^#Q          SRL   4  12   
?^SB          TXU   4  TFCB(1)  
#2#2          BCC      ZF5                 [J IF FILE/FCB BLOCK 
#2RL          TXU   4  TFSTACK(1)   
#3?=          BCC      XCHNBRK             [J IF ANOTHER FSTACK BEFORE FCB  
#3QW          BRN      ZF4  
#4=G    #   
#4Q6    ZF5   STO   2  XFCB(1)             [STORE ADDR. OF FCB  
#59Q          CALL  0  XFSTACK             [SET UP FILE BLOCK INFORMATION   
#5PB    #   
#692          CALL  0  ZDECANT             [PRINT BLOCKS REQUIRED   
#6NL          BRN      ZF1                 [OK  
#78=          BRN      XCHNBRK             [INVALID POINTER FOUND.  
#7MW    #   
#87G    #     THIS ROUTINE GETS THE NEXT ACTIVITY BLOCK ON THE ACTIVITY RING
#8M6    #     WITH A GIVEN JOB NUMBER IN ITS JOBNO WORD.IF KEY JOB NUMBER IS
#96Q    #     ZERO WE DON'T SEARCH AT ALL.  
#9LB    #   
#=62    #     ENTRY    X7=LINK  
#=KL    #          XJOBNO=KEY JOB NO. WORD  
#?5=    #        XNEXTACT=ADDR. OF ACTRING WORD OF CURRENT ACT. BLOCK   
#?JW    #       XBACTRING=BASE OF SEARCH
##4G    #   
##J6    #     EXIT     0 - OK,XNEXTACT=ADDR. OF ACTRING WORD OF NEXT ACT. BLOCK 
#*3Q    #                              WITH JOB NO. SAME AS KEY JOB NO. 
#*HB    #              1 - IF XJOBNO ZERO OR BASE OF SEARCH REACHED 
#B32    #              XCHNBRK - IF BLOCK POINTERS INVALID  
#BGL    #   
#C2=    ZGETACT 
#CFW          LDX   4  XJOBNO(1)
#C^G          BZE   4  ZG2                 [EXIT 1 IF KEY JOB NO. ZERO  
#DF6    ZG1   CALL  0  NEXTACT             [GET ADDR. OF NEXT ACT. BLOCK
#DYQ          BRN      XCHNBRK             [J IF INVALID PTR'S  
#FDB          TXU   2  XBACTRING(1) 
#FY2          BCC      ZG2                 [EXIT 1 IF BASE OF SEARCH REACHED
#GCL          LDX   4  JOBNO-ACTRING(2) 
#GX=          TXU   4  XJOBNO(1)           [J IF JOB NO. NOT
#HBW          BCS      ZG1                 [THE SAME AS KEY JOB NO. 
#HWG          EXIT  7  0
#JB6    ZG2   EXIT  7  1
#JTQ    #   
#K*B    #     THIS ROUTINE LOCATES AND PRINTS MONITORING FILES. 
#KT2    #   
#L#L    #     ENTRY    X0=LINK  
#LS=    #   
#M?W    #     EXIT     0
#MRG    #   
#N?6    ZMONFILES   
#NQQ          STO   0  XLINK0(1)
#P=B          PMESSAGE TEXT12(1),4            ['MONITORING FILES'   
#PQ2          LDX   2  FXPM1
#Q9L          ADX   2  JGETFCB1 
#QP=          CALL  0  (2)  
#R8W          BRN      ZM2                 [GOT FILE/FCB BLOCK  
#RNG    ZMEX  LDX   0  XLINK0(1)
#S86          EXIT  0  0                   [DOUBLE BREAK OR END OF CHAIN
#SMQ    ZM1   LDX   2  FXPM1
#T7B          ADX   2  JGETFCB  
#TM2          CALL  0  (2)  
#W6L          BRN      ZM2                 [NEXT FILE/FCB BLOCK 
#WL=          BRN      ZMEX 
#X5W    ZM2   LDX   4  FLAN(2)  
#XKG          TXU   4  MONFILE(1)   
#Y56          BCS      ZM1                 [J IF NOT MONITORING FILE
#YJQ          STOZ     XCGC(1)             [CLEAR CLEAN/GENERAL/COPY MODE SWITCH
#^4B          CALL  0  SEARCHA             [VALIDATE FPTR   
#^J2          BRN      ZM1                 [FPTR INVALID
*23L    ZM3   CALL  0  SEARCH              [ADDR. OF NEXT BLOCK 
*2H=          BRN      ZM1                 [CHAIN BREAK 
*32W          LDX   4  ATYPE(2) 
*3GG          SRL   4  12   
*426          TXU   4  TFSTACK(1)   
*4FQ          BCC      ZM4                 [J IF FILE/FSTACK BLOCK  
*4^B          TXU   4  TFCB(1)  
*5F2          BCS      ZM3                 [IF NOT FILE/FCB,THEN GET NEXT BLOCK 
*5YL          BRN      ZM1                 [OTHERWISE CARRY ON WITH FCB SEARCH  
*6D=          FIXTRA   JZM4 
*6XW    ZM4   NULL  
*7CG          STOZ     XBITAB(1)
*7X6          LDN   4  XBITAB(1)
*8BQ          LDN   5  XBITAB+1(1)  
*8WB          MOVE  4  20                  [ZEROISE BIT MAP AREA
*9B2          LDX   4  ARINGNO(2)          [LOAD NO. OF ELEMENTS IN FSTACK  
*9TL          ANDX  4  MASK2(1) 
*=5D ...      BZE   4  ZM1  
*=*=          ADN   2  ARINGNO+1           [ADDR. OF FIRST ELEMENT  
*=SW    ZM5   LDX   5  FGENERAL1(2)        [LOAD MODE WORD OF FIRST/NEXT ELEMENT
*?#G          ANDX  5  MASKCGC(1)   
*?S6          BNZ   5  ZM6                 [J IF CLEAN/GENERAL/COPY MODE
*#?Q          ADN   2  FELLEN              [ADDR. OF NEXT ELEMENT   
*#RB          BCT   4  ZM5                 [J IF MORE ELEMENTS  
**?2          BRN      ZM7  
**QL    ZM6   STO   5  XCGC(1)             [SET SWITCH  
*B==    ZM7   LDX   2  XFCB(1)             [LOAD ADDR. OF FCB   
*BPW          LDN   7  #77                 [SET BIT PATTERN FOR LAST 6 BLOCKS   
*C9G                                       [OF FILE 
*CP6          FIXTRA   JZM25
*D8Q          CALL  0  SETWRITE            [SET BITS IN BIT MAP AREA
*DNB          CALL  0  ZDECANT             [PRINT BLOCKS
*F82          BRN      ZM1                 [GO GET NEXT FCB 
*FML          BRN      ZM1                 [& IF CHAIN BREAK
*G7=    #   
*GLW    #     THIS ROUTINE CHECKS TO SEE IF THE RESTORE TIME MACRO PMFILE HAS   
*H6G    #     BEEN USED AND IF SO PRINTS OUT IN FULL THE NOMINATED FILES.   
*HL6    #   
*J5Q    #     ENTRY    X0=LINK  
*JKB    #   
*K52    #     EXIT     0
*KJL    #   
*L4=    ZRESTFILES  
*LHW          STO   0  XLINK0(1)
*M3G          LDX   4  XJFULLTAB(1) 
*MH6          BZE   4  ZREX                [J IF TABLE EMPTY
*N2Q          LDX   4  MASK1(1) 
*NGB          STO   4  XBITAB(1)           [SET BIT MAP AREA
*P22          LDN   4  XBITAB(1)           [CORRESPONDING   
*PFL          LDN   5  XBITAB+1(1)         [TO ALL BLOCKS   
*P^=          MOVE  4  20                  [IN FCB LIST 
*QDW          PMESSAGE TEXT13(1),9            ['FULL PRINT OF FILES REQ'D ENSUES
*QYG          LDN   3  XJFULLTAB(1)         [ADDR. OF TABLE 
*RD6    ZR1   STOZ     USER0(1) 
*RXQ          LDX   4  3(3) 
*SCB          STO   3  XX3(1)   
*SX2          BNZ   4  ZR2  
*TBL          STO   3  USER0(1)            [SET SWITCH TO ONLY CHECK USER NAME(1
*TW=    ZR2   LDX   2  FXPM1
*W*W          ADX   2  JGETFCB1 
*WTG          CALL  0  (2)  
*X*6          BRN      ZR4                 [FOUND FIRST FCB 
*XSQ    ZREX  LDX   0  XLINK0(1)
*Y#B          EXIT  0  0
*YS2    ZR3   LDX   2  FXPM1
*^?L          ADX   2  JGETFCB  
*^R=          CALL  0  (2)  
B2=W          BRN      ZR4                 [FOUND NEXT FCB  
B2QG          BRN      ZR11 
B3=6    ZR4   LDX   3  XX3(1)   
B3PQ          LDX   4  FUSER1(2)           [LOAD BLOCKS USER NAME   
B49B          LDX   5  FUSER2(2)
B4P2          LDX   6  FUSER3(2)
B58L          TXU   4  0(3)                [TEST AGAINST
B5N=          TXU   5  1(3) 
B67W          TXU   6  2(3) 
B6MG          BCS      ZR3                 [J IF USER NAMES DIFFER  
B776          LDX   4  USER0(1) 
B7LQ          BNZ   4  ZR5                 [J IF CHECKING LOCALNAME NOT REQ'D   
B86B          LDX   4  FLOC1(2)            [LOAD BLOCKS LOCALNAME   
B8L2          LDX   5  FLOC2(2) 
B95L          LDX   6  FLOC3(2) 
B9K=          TXU   4  3(3) 
B=4W          TXU   5  4(3) 
B=JG          TXU   6  5(3) 
B?46          BCS      ZR3                 [J IF LOCALNAMES DIFFER  
B?HQ    ZR5   STOZ     XCGC(1)             [CLEAR CLEAN/GENERAL/COPY MODE SWITCH
B#3B          CALL  0  SEARCHA             [VALIDATE FPTR   
B#H2          BRN      ZR10 
B*2L    ZR6   CALL  0  SEARCH              [ADDR. OF NEXT BLOCK 
B*G=          BRN      ZR10 
B*^W          LDX   4  ATYPE(2) 
BBFG          SRL   4  12   
BB^6          TXU   4  TFSTACK(1)   
BCDQ          BCC      ZR7                 [J IF FILE/FSTACK BLOCK  
BCYB          TXU   4  TFCB(1)  
BDD2          BCS      ZR6                 [IF NOT FILE/FCB,THEN GET NEXT BLOCK 
BDXL          BRN      ZR10                [OTHERWISE CARRY ON TO NEXT FCB  
BFC=    ZR7   LDX   4  ARINGNO(2)          [LOAD NO. OF ELEMENTS IN FSTACK  
BFWW          ANDX  4  MASK2(1) 
BG6N ...      BZE   4  ZR3  
BGBG          ADN   2  ARINGNO+1           [ADDR. OF FIRST ELEMENT  
BGW6    ZR8   LDX   5  FGENERAL1(2)        [LOAD MODE WORD OF FIRST/NEXT ELEMENT
BH*Q          ANDX  5  MASKCGC(1)   
BHTB          BNZ   5  ZR9                 [J IF CLEAN/GENERAL/COPY MODE
BJ*2          ADN   2  FELLEN              [ADDR. OF NEXT ELEMENT   
BJSL          BCT   4  ZR8                 [J IF MORE ELEMENTS  
BK#=          BRN      ZR10 
BKRW    ZR9   STO   5  XCGC(1)             [SET SWITCH  
BL?G    ZR10  CALL  0  ZDECANT             [PRINT BLOCKS
BLR6          BRN      £
BM=Q          LDX   4  USER0(1)            [IF ONLY CHECKING USER NAME, 
BMQB          BNZ   4  ZR3                 [THEN GO GET NEXT FCB
BN=2    ZR11  LDX   3  XX3(1)   
BNPL          ADN   3  6                   [ADDR. OF NEXT TABLE ENTRY   
BP9=          LDX   4  0(3) 
BPNW          BZE   4  ZREX                [J IF TABLE EMPTY
BQ8G          BRN      ZR1  
BQN6    #   
BR7Q    #              ENTRY TO OUTPUT A POSTMORTEM OF FILE STORE   
BRMB    #   
BS72    XK1PMFS 
BSLL    #   
BT6=          LDX   1  FXPM2
BTKW          ADS   1  XAFRESBS(1)  
BW5G          CALL  7  (JPRINT)              [NEW PAGE  
BWK6          PMESSAGE TEXT1(1),5             [HEADING-'FILE STORE POST MORTEM  
BX4Q          SMO      FXPMDR   
BXJB          LDX   4  APMBRKCHS
BY42          BNG   4  XCHNBRK             [J IF BROKEN CHAINS FOUND BY PMBRKCHS
BYHL          BNZ   4  XPMFULLS           [J IF MACRO PMFULLS WAS HERE  
B^3=          LDX   2  FX2  
B^GW          ANDX  2  MASK(1)  
C22G          PMCORES 2,XCHNBRK            [J IF FX2 CORRUPT
C2G6          LDCH  4  ATYPE(2) 
C2^Q          TXL   4  XACT(1)  
C3FB          BCS      XCHNBRK             [J IF NOT AN ACTIVITY
C3^2          LDX   4  JOBNO(2)            [LOAD & STORE CURRENT
C4DL          STO   4  XJOBNO(1)           [ACTIVITY JOB NO.
C4Y=          ADN   2  ACTRING             [STORE ADDR.OF ACTRING WORD OF   
C5CW          STO   2  XBACTRING(1)        [CURRENT ACTIVITY BLOCK  
C5XG          CALL  0  NEXTACTA            [VALIDATE FPTR   
C6C6          BRN      XCHNBRK             [& J IF CORRUPT  
C6WQ    PMFS1 CALL  0  ZFILEPRINT          [EXAMINE CURRENT ACT. AND PRINT  
C7BB                                       [APPROPRIATE BLOCKS  
C7W2          CALL  7  ZGETACT             [GET NEXT ACT.BLOCK WITH SAME JOB NO.
C8*L          BRN      PMFS1               [J IF SUCH A BLOCK   
C8T=    #   
C9#W    #     NO MORE ACT. BLOCKS WITH KEY JOB NO.  
C9SG    #   
C=#6    #   
C=RQ    #     PRINT MASTER DIRECTORY FILE   
C??B    #   
C?R2    PMFS2 LDCT  4  #400                [SET TO PRINT BLOCK  
C#=L          STO   4  XBITAB(1)
C#Q=          LDX   2  FXPM1
C*9W          ADX   2  JGETFCB1 
C*PG          CALL  0  (2)                 [GET ADDRESS OF FCB BLOCK
CB96          CALL  0  ZDECANT             [PRINT BLOCK 
CBNQ          BRN      £
CC8B    #   
CCN2          CALL  0  ZMONFILES           [LOCATE & PRINT MONITORING FILES 
CD7L          CALL  0  ZRESTFILES          [PRINT FILES SPEC. BY PMFILE 
CDM=          PMESSAGE TEXT0(1),7             ['END OF F/S PM'  
CF6W          SMO      FXPM1
CFLG          LDX   5  JBSPTR   
CG66          BZE   5  PMFS3               [IF JBSPTR SET,UNDUMP
CGKQ          LDN   4  XBSREC(1)           [FROM XBSREC BACK
CGQY ...WAITFOR 
CGY6 ...      JBUSY    5,WAITFOR             [JUMP IF DEVICE IS BUSY
CH5B          MOVE  4  K53                 [TO WHERE THEY SHOULD BE 
CHK2    PMFS3 BRN      (JPMSEG)              [ADIOS AMIGOS  
CJ4L    #   
CJJ=    #     THIS LABEL IS BRANCHED TO IF A CHAIN/RING BREAK IS ENCOUNTERED.IT 
CK3W    #     USES A SEARCH BASED ON THE FILE CHAIN TO TREAT ALL FILES AS WE
CKHG    #     WOULD WISH TO TREAT THOSE OPEN TO THE CURRENT ACTIVITY.   
CL36    #   
CLGQ    XCHNBRK 
CM2B          PMESSAGE TEXT14(1),12           ['CHAIN/RING BRK FOUND:FULL F/S PM
CMG2                                       [ENSUES' 
CM^L    XPMFULLS
CNF=          LDX   2  FXPM1
CNYW          ADX   2  JGETFCB1 
CPDG          CALL  0  (2)  
CPY6          BRN      XCH2                [GOT FIRST FCB   
CQCQ          BRN      PMFS2               [DBL BRK OR END OF CHAIN 
CQXB    XCH1  LDX   2  FXPM1
CRC2          ADX   2  JGETFCB  
CRWL          CALL  0  (2)  
CSB=          BRN      XCH2                [GOT NEXT FCB
CSTW          BRN      PMFS2               [DBL BRK OR END OF CHAIN 
CT*G    XCH2  CALL  0  SEARCHA  
CTT6          BRN      XCH1                [INVALID FPTR
CW#Q    XCH3  CALL  0  SEARCH              [GET NEXT BLOCK  
CWSB          BRN      XCH1                [INVALID FPTR
CX#2          LDX   4  ATYPE(2) 
CXRL          SRL   4  12   
CY?=          TXU   4  TFSTACK(1)   
CYQW          BCC      XCH4                [J IF FILE/FSTACK BLOCK  
C^=G          TXU   4  TFCB(1)  
C^Q6          BCS      XCH3                [IF NOT FILE/FCB,THEN GET NEXT BLOCK 
D29Q          BRN      XCH1                [OTHERWISE CARRY ON TO NEXT FCB  
D2PB    XCH4  STO   2  UFSTACK(1)   
D392          CALL  0  XFSTACK             [SET UP BIT MAP AREA 
D3NL          CALL  0  ZDECANT             [OK- SO PRINT BLOCKS 
D48=          BRN      XCH1                [MONITORING FILE FOUND   
D4MW          BRN      XCH1 
D57G    RESBS   
D5M6    #END
^^^^ ...142331360015
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1