PMCHAINS864

(George Source)

Macros used: BLOCK, FIXTRA, FSHTEST, MASK, PMBSADD, PMCHAINP, PMCORES, PMDLGET, PMOVE, PMSUBSREAD, PMVAL, R, SEGENTRY, SIX, T, TAB

PMCHAINS864.txt
23YG    #OPT  K0PMCHAINS=0  
24D6    #LIS  K0PMCHAINS>K0POST>K0ALLGEO
24XQ    #   
25CB ...#SEG  PMCHAINS84                   [M.C.D. MANN 
25X2    #   
25Y8 ...#     THIS SEGMENT LISTS THE FOLLOWING CHAINS:- 
25^B ...#                      FREE STORE   
262J ...#                      FROZEN FREE  
263Q ...#                      CHAPTER  
264* ...#                      FREE PROGRAM BLOCK CHAIN 
264Y ...#                      JOB QUEUE
2666 ...#                      TEMPORARY HLSQ   
267# ...#                      HLS QUEUE
268G ...#                      MISCILLANEOUS
269N ...#                      FILE 
26=W ...#                      HALFOPEN 
26#4 ...#                      OFF-LINE 
26*= ...#                      INDEX
26BD ...#                      CONSOLE OUTPUT   
26CL ...#                      CARTRIDGE CONTROL
26DS ...#                      LISTFILE 
26G2 ...#                      ACTIVITY LIST
26H8 ...#                      7600 SYSTEM RING        )
26JB ...#                      7600 SEND CHAIN         )
26KJ ...#                      7600 RECIEVE CHAIN      ) IPL ONLY   
26LQ ...#                      GHOST LIST   
26MY ...#                      PROGRAM RING 
26P6 ...#                      WAITING LIST 
26Q# ...#                      PAGE USAGE              )
26RG ...#                      PURE PROCEDURE          ) GEORGE 4 ONLY  
26SN ...#   
26W=    #   
27*W                   8HPMCHAINS   
27TG    #   
28*6    #     ENTRY POINT TABLE 
28SQ    #   
29#B ... SEGENTRY K1PMCHAINS,XK1PMCHAINS
29S2 ... SEGENTRY K2PMCHAINS,XK2PMCHAINS
2?=W    #SKI G4 
2?QG ... SEGENTRY K3PMCHAINS,XK3PMCHAINS
2*P2    #   
2B8L          FIXTRA   JPMCBLOX            [USED BY PMBLOX MACRO
2BN=    ZPMCBLOX
2CMG    #GAP JPMNOFTYPES+2                 [ FOR #MEN VIA PMBLOX
2D76    #   
2DLQ    #     OPTIONALLY SET UNIVERSALS DETERMINING THE NO. OF WORDS TO BE  
2F6B    #     PRINTED FROM EACH BLOCK IN THE CHAINS LISTED BY PMCHAINS  
2FL2    #   
2G5L    #OPT  JFREE=0   
2GK=    #OPT  JCHAP=2   
2H4W    #OPT  JOBQ=EXTJOBPROG   
2HJG    #OPT  JHLSQ=64  
2J46    #OPT  JMIS=1024 
2JHQ    #OPT  JFILE=64  
2K3B    #OPT  JINDEX=512
2KH2    #OPT  JCONSOUT=64   
2L2L    #OPT  JCART=64  
2LG=    #OPT  JHALF=64  
2L^W    #OPT  JBOLC=600 
2MFG    #OPT  JUSAGE=1024   
2M^6    #OPT  JBHTEMP=AHLS  
2NDQ    #OPT  JPURE=64  
2NYB    #OPT  JLF=40
2PD2    #OPT  JFFC=0
2PXL    #OPT  JIPLJ=IPLDRILEN   
2QC=    #OPT  JIPLS=512 
2QWW    #OPT  JIPLR=512 
2R44 ...#OPT  JJRNL=510 
2R6M ...#OPT  JOBJCH=0  
2R?T ...#OPT  JFPBCH=A1D
2R#P ...#OPT  JFTEM=0   
2R*K ...#OPT  JFAST=0   
2RBG    #   
2RW6    #     STORED WORDS TO HOLD VALUES DEFINED IN ABOVE TABLE(ALLOWS FOR 
2S*Q    #     ALTERATIONS TO COMPILED VALUES BY MENDS AT RESTORE TIME)  
2STB    #   
2T*2          FIXTRA   JMCHAINS 
2TSL    [ USED BY PMMEND
2W#=    ZJFREE         +JFREE   
2WRW    ZJCHAP         +JCHAP   
2X?G    ZJOBQ          +JOBQ
2XR6    ZJHLSQ         +JHLSQ   
2Y=Q    ZJMIS          +JMIS
2YQB    ZJFILE         +JFILE   
2^=2    ZJINDEX        +JINDEX  
2^PL    ZJCONSOUT      +JCONSOUT
329=    ZJCART         +JCART   
32NW    ZJHALF         +JHALF   
338G    ZJBOLC         +JBOLC   
33N6    ZJUSAGE        +JUSAGE  
347Q    ZBHTEMP        +JBHTEMP 
34MB    ZJPURE         +JPURE   
3572    ZJLF           +JLF 
35LL    ZJFFC          +JFFC
366=    ZJIPLJ         +JIPLJ   
36KW    ZJIPLS         +JIPLS   
375G    ZJIPLR         +JIPLR   
37=N ...ZJJRNL         +JJRNL   
37CW ...ZJOBJCH        +JOBJCH  
37HB ...ZJFPBCH        +JFPBCH  
37HY ...ZJFTEM         +JFTEM   
37JG ...ZJFAST         +JFAST   
37K6    #   
384Q    NAMEA          17HBACKWARD CHAINING 
38JB    XIND           +0                  [SET=0 WHEN FORWARD CHAINING 
3942                                       [   =1 WHEN BACKWARD CHAINING
39HL                                       [   =2 WHEN'BACKWARD CHAINING'   
3=3=                                       [      HEADING TO BE PRINTED 
3=GW                                       [   =-1 WHEN END OF CHAIN
3?2G    XBLCOUNT       +0                  [COUNT OF BLOCKS IN ROW TO BE PRINTED
3?G6                                       [IN ROUTINE PRINT
3?^Q    XBACKPR        +0                  [TO HOLD START ADDR. OF PREVIOUS 
3#FB                                       [BLOCK IN CHAIN.USED BY SEARCH ROUT. 
3#^2    XA1            +A1  
3*DL    X512           +512 
3*Y=    X45            +45  
3BCW    XBASE          +0                  [TO HOLD BASE OF CHAIN/RING - USED BY
3BXG                                       [START ROUT. 
3CC6    XTYPES         +0                  [1 IF TYPES ETC. TO BE PRINTED - SET 
3CWQ                                       [UP IN START ROUT. USED BY PRINT ROUT
3DBB    XDIST          +0                  [NO. OF WORDS FROM RING ELEMENT TO   
3DW2                                       [START OF BLOCK  
3F*L    XLEN           +0                  [NO. OF WORDS TO BE PRINTED FROM EACH
3FT=                                       [BLOCK IN CHAIN OR IND. THAT SELECTED
3G#W                                       [PRINT REQUIRED  
3GSG    XATYPE         +ATYPE   
3H#6    SIX            +6   
3HRQ    MASK           #17777777           [TO MASK OUT CHAR. BITS  
3J?B    SEVENS         #7777
3JR2    WORD           #40000000
3K=L    ONE            +1   
3LPG    MNEMON       +0            [ ROW TYPE   
3M96    ROWCNT         +0                  [ ROW COUNT  
3P7L    UNE   +0                           [ BLOCK COUNT STORAGE
3PM=    TWO   +0
3PX4 ...XFOUR +0
3Q6W    STYPE +0
3QLG    TYPE  +0
3RKQ    THREE          +3   
3S5B    PRINTING       +0                  [USE BY PRINT ROUTINE TO INDICATE
3SK2                                       [STILL PRINTING BLOCKS   
3T4L    NOTLISTED      16H0NOT LISTED 0000  
3TJ=    PRINTYPES      +0                  [SET 1 IF IDENT TABLES TO BE SET UP  
3W3W                                       [BUT TYPES NOT TO BE PRINTED 
3WHG ...PMCHAINEND     +ZPMCHAINS+1 
3XGQ    TABNEXT        +0                  [TO HOLD 6TH ENTRY IN TAB  ABLE  
3Y2B    SELIND         +0                  [IF POS. HOLDS ADDR. OF SELECTIVE
3YG2                                       [PRINT TABLE 
3Y^L ...ZLPMT          +0   
43CQ    ZLINKA         +0                  [TO HOLD LINK ADDRS. OF ROUTINES 
43XB    ZLINKC         +0                  [
44C2    ZLINKD         +0                  [
44WL    SPECIAL        +0                  [SET=1 CHAP. CHAIN PRINT 
45B=    #   
45TW    #     DUMMY IDENT. TABLE FOR CHAPTER CHAIN PRINT
46*G    #   
46T6    XCHAP          +0,+1
47#Q                   +0,+1
47SB    UPARROW        4H^^^^   
48#2    #   
48RL    #     TABLE OF JUMPS TO CONVERSION ROUTINES 
49?=    #   
49QW    RTNS  BRN      ROCT 
4==G          BRN      RCHA 
4=Q6          BRN      RDECS
4?9Q          BRN      RDECP
4?PB          BRN      RDECDEC  
4#92    #   
4#NL    #     TABLE OF REDTAPE MNEMONICS AND PRINT FORMAT INDICATORS
4*8=    #   
4*MW    #     NOW AT END OF SEGMENT BECAUSE OF PMLIST EXPANSION 
4B7G    #   
4BM6    #   
4C6Q    #     TABLE OF START ADDRESSES OF BLOCKS
4CLB    #   
4D62    TAB 
4DKL    #REP  6 
4F5=          +0
4FJW    #   
4G4G    #     TABLE GIVING LENGTHS TO BE PRINTED FROM BLOCKS IN TAB 
4GJ6    #   
4H3Q    TABL
4HHB    #REP  6 
4J32          +0
4JGL    #   
4K2=    #     TABLE GIVING POSITION OF NEXT WORD TO PRINT FROM BLOCKS IN TAB
4KFW    #   
4K^G    TABC
4LF6    #REP  6 
4LYQ          +0
4MDB    #   
4MY2    #     TABLE CONTAINING IDENTITY BLOCK TABLE POINTERS FOR EACH BLK IN TAB
4NCL    #   
4NX=    TABI
4PBW    #REP  6 
4PWG          +0
4R*B    #   
4RT2    #             ROUTINE TO COPY ROW TYPE MNEMONIC FROM ENTRY  
4S#L    #               POINTS TABKE, AND INITIALISE ROW COUNTER
4SS=    #   
4T?W    MNEM
4TRG          LDX   3   0(2)
4W?6 ...      STO   3  MNEMON(1)
4WQQ ...       STOZ      ROWCNT(1)  
4X=B          EXIT   2  1   
4XQ2    #   
4YP=    #   
4^8W    #   
4^NG    #     ROUTINE TO GET ADDRESS OF NEXT BLOCK IN CHAIN WHEN FORWARD
5286    #     CHAINING  
52MQ    #     ENTRY  X2=ADDRESS OF CURRENT BLOCK
537B    #     EXIT 0 &  IF FORWARD AND BACKWARD POINTERS CORRECT
53M2    #         X2,X3=ADDRESS OF NEXT BLOCK   
546L    #            X0=LINK
54L=    #     EXIT 0 0  IF BREAK IN CHAIN DETECTED  
555W    #            X3=ADDRESS OF NEXT BLOCK   
55KG    #     (SEARCHA:ENTRY POINT FOR FIRST BLOCK ON CHAIN 
5656    #   
56JQ    SEARCH  
574B          LDX   3  BPTR(2)             [J IF BPTR IN CURRENT
57J2 ...      TXU   3  XBACKPR(1)          [BLOCK INCORRECT 
583L          BCS      S1   
58H=    SEARCHA 
592W ...      STO   2  XBACKPR(1)          [STORE ADD. OF CURRENT BLOCK 
59GG          LDX   3  FPTR(2)             [GET ADD. OF NEXT BLOCK  
5=26    S3    PMCORES  3,S1                [J IF INVALID
5=7# ...      LDX   2  XLEN(1)  
5=#G ...      BNG   2  S2                  [TEST IF LIST
5=FQ ...      TXL   3  ENDFIX                [J IF ADDR. INVALID
5=^B          BCC      S2   
5?F2 ...      TXU   3  XBASE(1) 
5?YL          BCS      S1                  [BECAUSE TO SMALL
5#D=    S2    LDX   2  3
5#XW          EXIT  0  1
5*CG    S1    EXIT  0  0                   [BREAK IN CHAIN  
5*X6    #   
5BBQ    #     ROUTINE TO GET ADDRESS OF NEXT BLOCK IN CHAIN, WHEN BACKWARD  
5BWB    #     CHAINING  
5CB2    #     ENTRY & EXIT AS SEARCH
5CTL    #     (SEARCHC:ENTRY POINT FOR FIRST BLOCK ON CHAIN 
5D*=    #   
5DSW    SEARCHB 
5F#G          LDX   3  FPTR(2)             [J IF FPTR IN CURRENT
5FS6 ...      TXU   3  XBACKPR(1)          [BLOCK INCORRECT 
5G?Q          BCS      S1   
5GRB    SEARCHC 
5H?2 ...      STO   2  XBACKPR(1)          [STORE ADD. OF CURRENT BLOCK 
5HQL          LDX   3  BPTR(2)             [GET ADD. OF NEXT BLOCK  
5J==          BRN      S3   
5JPW    #   
5K9G    #     ROUTINE TO PRINT A ROW OF BLOCKS  
5KP6    #     ENTRY    XBLCOUNT=NO. OF BLOCKS IN ROW
5L8Q    #             TAB TABLE=HOLDS START ADDR  OF BLOCKS 
5LNB    #            TABR TABLE=POINTER TO SELECTION PRINT TABLES IF REQUIRED   
5M82    #                    X0=LINK
5MML    #     EXIT    ALL ACCS UNDEFINED
5N7=    #             TABR TABLE ZEROISED   
5NLW    #   
5P6G    PRINT   
5PL6 ...      CALL  7  (JPRINT1)             [THROW A LINE  
5Q5Q    #   
5QKB    #     ENTRY POINT TO PRINT ROUT. IF LINE THROW TO BE OMITTED
5R52    #   
5RJL    PRINTA  
5S4=    #   
5SHW    #     SET UP NO. OF WORDS IN EACH BLOCK TO BE PRINTED   
5T3G    #   
5TH6 ...      LDX   2  FXPM1               [ BLOCK COUNT + MODIFIER 
5W2Q ...PR1   LDX   3  TAB(2)              [GET ADDR. OF NEXT BLOCK 
5WGB          LDX   6  ASIZE(3) 
5X22 ...      ANDX  6  MASK(1)  
5XFL ...      TXL   6  XA1(1)              [TEST AND J IF ASIZE > A1
5X^=          BCC      PR4  
5YDW          LDN   6  A1                  [SET TO PRINT AT LEAST A1 WORDS  
5YYG    PR4 
5^D6 ...      LDX   7  XLEN(1)             [TEST AND
65SQ          BZE   7  PR3                [ J IF XLEN EQUALS ZERO   
66#B          BPZ   7  RP1                 [ JUMP IF NOT A SELECTIVE PRINT  
66S2          LDN   7  512                 [ IF SELECTIVE PRINT SET TO LIST 
67?L          BRN      PR3  
67R=    RP1 
68=W ...      STO   2  UNE(1)              [ PRESERVE BLOCK COUNT   
68QG ...      LDX   2  FXPM1
69=6          LDCH  7  ATYPE(3)            [ PICK UP TOP CH, = TYPE OF THIS BLOQ
69PQ ...      STO   7  TYPE(1)  
6=9B    RP2                                [ LOOP RE ENTRY  
6=P2 ...      LDX   7  ZPMCBLOX(2)         [ PICK UP COMPLETE WORD FROM LIST
6?8L          BNZ   7  RP5                 [ IF ZERO NO ( MORE ) TYPES TO CHECK 
6?N= ...      LDX   7  XLEN(1)             [         RESET TO STANDARD DEFAULT V
6#7W ...      LDX   2  UNE(1)              [ RESTORE BLOCK COUNT
6#MG          BRN      PR3                 [ AND JUMP BACK INTO NORMAL ROUTINE  
6*76    RP5 
6*LQ ...      LDCH  7  ZPMCBLOX(2)         [ PICK UP A TYPE FROM LIST   
6B6B ...      SBX   7  TYPE(1)             [ COMPARE LISTED TYPE WITH THISBLOX  
6BL2          BZE   7  RP3                 [ JUMP IF TYPES MATCH
6C5L ...      BUX   2  RP2                 [ ELSE LOOK FOR ANOTHER  
6CK=    RP3                                [ FIND OUT IF A SUB TYPE HAS BEEN SPD
6CRY ...      SMO      FXPM1
6D2L ...      LDX   7  ZPMCBLOX+1+JPMNOFTYPES [ LOAD LAST WORD OF GAP AREA  
6D9# ...      SMO      FXPM1
6DD2 ...      STO  2  TWO   
6DLN ...      SBX   2  FXPM1
6DTB ...      SLL   7  0(2)               [ MOVE APT BIT INTO TEST SPOT 
6F46          BNG   7  RP4                 [ JUMP IF NO NEED TO CHECK SUBTYPE   
6G3B          LDCT  2  #200                [ = STOZ 2, BCHX 2 £ 
6GH2          SMO      3
6H2L          LDCH  7  ATYPE(2)            [ PICK UP 2ND CHARACTER, = SUBTYPE   
6HG= ...      STO   7  STYPE(1) 
6H^W ...      SMO      TWO(1)   
6JFG          LDCH  7  ZPMCBLOX(2)  
6J^6 ...      LDX   2  TWO(1)              [ RESTORE     TWO
6KDQ ...      SBX   7  STYPE(1)            [ COMPARE SUBTYPES   
6KYB          BZE   7  RP4                 [ JUMP IF THEY MATCH 
6LD2 ...      BUX   2  RP2                 [ ELSE LOOK FOR NEXT MAIN TYPE   
6LXL    RP4 
6MC= ...      LDX   7  ZPMCBLOX(2)  
6NBG          ANDN  7  #7777
6NW6 ...      LDX   2  UNE(1)              [ RESTORE BLOCK COUNT
6P*Q    PR3 
6PTB ...      ADN   7  A1   
6QSL          TXL   7  6                   [SET TO PRINT CONTENTS OF XLEN+A1<   
6R#=          BCS      PR6                 [CONTENTS OF ASIZE>A1
6RRW          LDX   7  6
6S?G ...PR6 
6SR6 ...      STO   7  TABL(2)             [STORE NO. OF WORDS TO PRINT 
6T=Q ...      ADX   7  TAB(2)   
6TQB          TXL   7  CORES               [IF END ADDRESS OF BLOCK 
6W=2          BCS      PR5                 [WILL CAUSE ILLEGAL ADDR. RESET  
6WKP ...      LDX   7  CORES               [LENGTH TO MAXIMUM NO. OF WORDS  
6W^D ...      SBX   7  TAB(2)              [POSSIBLE
6X*7 ...      STO   7  TABL(2)  
6XNW ...PR5   ADN   2  1
6Y4K ...      LDX   3  2
6YD# ...      SBX   3  FXPM1
6YS3 ...      TXU   3  XBLCOUNT(1)         [J IF STILL MORE 
6^7Q          BCS      PR1                 [BLOCKS TO PRINT 
6^MB    #   
7272    #     ENTRY POINT TO PRINT ROUT. IF TABL TABLES ALREADY SET UP  
72LL    #   
736=    PRINTB  
73KW    #   
745G    #     CODING TO PRINT BLOCKS
74K6    #   
754Q    #     IF CHAPTER CHAIN PRINT SET UP DUMMY IDENT  TABLE ENTRIES IN TABI  
75JB    #   
7642 ...      STO   0  ZLINKC(1)           [STORE LINK  
76HL ...      LDX   0  SPECIAL(1)   
773=          BZE   0  PP3                 [J IF NOT CHAPTER CHAIN PRINT
77GW ...      LDN   7  XCHAP(1) 
78G6    PR2   ADN   1  1
78^Q          STO   7  TABI-1(1)           [STORE ADDR. OF DUMMY IDENT. TABLE   
7982 ...      LDX   5  1
79B= ...      SBX   5  FXPM1
79JG ...      SMO      FXPM1
79QQ ...      TXU   5  XBLCOUNT            [AS TABI TABLE ENTRIES   
79^2          BCS      PR2  
7=DL    #   
7=Y=    #     CODING TO PRINT BLOCKS
7?CW    #   
7?XG ...PP3   LDX   1  FXPM1               [ MODIFIER+BLOCKCOUNT
7#C6    PP2   LDX   5  TABC(1)             [WORD POINTER
7#WQ          TXL   5  TABL(1)             [NO. OF WORDS TO PRINT   
7*BB          BCS      PP                  [J IF BLOCK STILL BEING PRINTED  
7*W2 ...PP5   CALL  7  (JUP)                 [UPDATE PRINT BUFFER MOD.  
7B*L                   +20  
7BT=          BRN      PP11 
7C#W ...PP    CALL  7  (JUP)                 [UPDATE PRINT BUFFER MOD.  
7CSG                   +2   
7D#6          LDN   7  1
7DHY ...      SMO      FXPM1
7DRQ          STO   7  PRINTING            ['STILL PRINTING' IND.   
7F?B          BNZ   5  PP4                 [J IF NOT FPTR   
7FR2    #   
7G=L    #     CODING TO PRINT ACTUAL ADDR. OF FORWARD POINTER   
7GQ=    #   
7H9W          LDX   2  TAB(1)              [GET ADDR. OF BLOCK  
7HPG          LDX   5  TAB(1)   
7J96 ...      CALL  7  (JDECN)               [CONVERT TO DECIMAL
7JNQ          LDN   3  3                   [CONVERSION ROUT. IND.   
7K8B    #   
7KN2    #     TO CONVERT CONTENTS OF A WORD IN SPECIFIED FORMAT 
7L7L    #   
7LM=    PP1   LDX   5  0(2)                [GET CONTENTS OF ADDR.   
7M6W          SMO      3
7MLG          CALL  7  RTNS                [J TO APPROPRIATE CONVERSION ROUTINE 
7N66    #   
7NKQ    #     TO UPDATE COUNTS,PRINT A LINE ETC.
7P5B    #   
7PK2    PP11  LDN   7  1
7Q4L          ADS   7  TABC(1)             [UPDATE WORD COUNT   
7QJ=    PP17  ADN   1  1                   [UPDATE BLOCK COUNT  
7QQG ...      LDX   5  1
7QYQ ...      SBX   5  FXPM1
7R72 ...      SMO      FXPM1
7R*= ...      TXU   5  XBLCOUNT 
7RHG          BCS      PP2                 [J IF STILL BLOCKS IN ROW
7RR# ...      SMO      FXPM1
7S36          LDX   2  SELIND   
7SGQ          BNZ   2  SEL                 [J IF SELECTIVE PRINT REQUIRED   
7SWF ...PP18  CALL  7  (JPRINT1)             [PRINT A LINE  
7T=8 ...PP20  SMO      FXPM1
7TKX ...      LDX   7  PRINTING 
7T^L          BNZ   7  PP12 
7WF=    #   
7WYW    #     END OF PRINT OF ROW   
7XDG    #   
7XT2 ...      LDX   1  FXPM1
7Y9G ...      STOZ     TABL(1)  
7YL2 ...      LDN   6  TABL(1)  
7^2G ...      LDN   7  TABL+1(1)
7^C2          MOVE  6  17   
7^QP ...      STOZ     SELIND(1)
826D ...      LDX   0  ZLINKC(1)
82G7 ...      EXIT  0  0
82TW    #   
83*G    #     CHECK IF TYPES ETC. TO BE PRINTED 
83T6    #   
847H ...PP12  SMO      FXPM1
84FY ...      STOZ     PRINTING 
84SB          LDN   7  ATYPE+1  
85#2          TXU   7  TABC-1(1)
85RL          BCS      PP3                 [J IF LAST WORD NOT = ATYPE  
863D ...      SMO      FXPM1
86?=          LDX   7  XTYPES   
86QW          BZE   7  PP3                 [J IF TYPES NOT REQUIRED 
87=G          BRN      T
87Q6    #   
889Q    #     IF NOT PRINTING FPTR  
88PB    #   
893R ...PP4   SMO      FXPM1
89B8 ...      TXL   5  XA1  
89NL          BCC      PP13                [J IF NOT RED TAPE WORD  
8=8=    #   
8=MW    #     TO SET UP TO PRINT IN REDTAPE WORD FORMAT 
8?7G    #   
8?M6          ADX   5  TABC(1)  
8#6Q          ADN   5  REDTAPE             [X5=POINTER TO REDTAPE TABLE 
8#BJ ...      ADX   5  FXPM1
8#LB    #   
8*62    #     TO ANALYSE NEXT WORD IN IDENT. TABLE  
8*KL    #   
8B5=    PP7   SMO      5
8BJW          LDX   7  0                   [GET MNEMONIC FROM TABLE 
8C4G          BZE   7  PP15                [J IF NO MNEMONIC
8C## ...      SMO      FXPM1
8CJ6          TXU   7  UPARROW  
8D3Q          BCC      PP8                 [J IF END OF TABLE REACHED   
8DHB          LDCH  6  7
8F32          SRL   7  18   
8FGL          SBN   7  #72  
8G2=          BNZ   7  PP14                [J IF NOT RECURSIVE TABLE
8GFW    #   
8G^G    #     TO BACKSPACE IDENT. TABLE POINTER WHEN END OF RECURSIVE TABLE 
8HF6    #   
8HYQ    PP10  SBN   5  2
8JDB          SMO      5
8JY2          STOZ     0                   [CLEAR MNEMONIC ENTRY
8KCL          SBN   6  2
8KX=          BNZ   6  PP10                [J IF NOT AT START OF RECURSION  
8LBW          ADN   5  2
8LWG          STO   5  TABI(1)             [RESET IDENT. TABLE POINTER  
8MB6    #   
8MTQ    #     TO PRINT REOATIVE ADR. BEFORE PRINT CONTENTS IN SPECIFIED FORMAT  
8N*B    #   
8NT2    PP15  LDX   5  TABC(1)  
8P4S ...      SMO      FXPM1
8P#L          LDX   7  SPECIAL             [J IF NOT PRINTING CHAPTER VHAIN 
8PS=          BZE   7  PP19 
8Q?W          ADX   5  TAB(1)              [GET ACTUAL ADDR.
8QRG ...PP19  CALL  7  (JDECN)               [CONVERT ADDR. TO DECIMAL  
8R?6          LDX   5  TABI(1)  
8RQQ          SBN   5  1                   [GET POINTER TO PRINT FORMAT 
8S=B          BRN      PP16 
8SQ2    #   
8T9L    #     TO PRINT ADDR. AND CONTENTS TO FORMAT SPECIFIED IN AN IDENT /OR   
8TP=    #     REDTAPE) TABLE
8W8W    #   
8WNG ...PP14  CALL  7  (JUP)
8X86                   +2   
8XMQ          MVCH  5  5                   [MOVE IDENT MNEMONICS INTO BUFFER
8Y7B          STO   6  JPMOD
8YM2    PP16  SMO      5
8^6L          LDCH  3  0
8^L=    PP9   LDX   2  TAB(1)   
925W          ADX   2  TABC(1)             [X2=ADDR. OF WORD TO BE CONVERTED
92KG          BRN      PP1  
9356    #   
93JQ    #     IF NOT A RED TAPE WORD
944B    #   
94J2    PP13  LDX   5  TABI(1)  
953L          BZE   5  PP6                 [J IF NO IDENT. LIST 
95H=          LDN   7  2
962W          ADS   7  TABI(1)             [UPDATE IDENT. TABLE POINTER 
96GG          BRN      PP7  
9726    #   
97FQ    #     IF NO SPECIFIED PRINT FORMAT FOR WORD 
97^B    #   
98F2    PP8   STOZ     TABI(1)             [STOZ WHEN BRN FROM PP7  
98YL    PP6   LDX   5  TABC(1)             [GET ADDR. RELATIVE TO START OF BLOCK
99D= ...      CALL  7  (JDECN)               [CONVERT ADDR. TO DEC(N)   
99XW          STOZ     3                   [CONVERT CONTENTS TO OCTAL   
9=CG          BRN      PP9  
9=X6    #   
9?BQ    #     CODING TO CONVERT CONTENTS OF ADDR. IN VARIOUS FORMATS
9?WB    #   
9#B2    #     OCTAL 
9#TL    #   
9**= ...ROCT  LDX   3  JOCT 
9*SW ...RN    CALL  7  (JUP)
9B#G                   +2   
9BS6          CALL  7  (3)  
9C?Q          BRN      PP11 
9CRB    #   
9D?2    #     CHARACTERS
9DQL    #   
9F== ...RCHA  CALL  7  (JUP)
9FPW                   +7   
9G9G ...      CALL  7  (JCHA)   
9GP6          BRN      PP11 
9H8Q    #   
9HNB    #     DECIMAL(+N)   
9J82    #   
9JML ...RDECS CALL  7  (JUP)
9K7=                   +3   
9KLW ...      CALL  7  (JDECS)  
9L6G          BRN      PP11 
9LL6    #   
9M5Q    #     DECIMAL(N.N)  
9MKB    #   
9N52 ...RDECP LDX   3  JDECP
9NJL          BRN      RN   
9P4=    #   
9PHW    #     DECIMAL(N/N)  
9Q3G    #   
9QH6    RDECDEC 
9R2Q ...      CALL  7  (JUP)
9RGB                   +4   
9S22 ...      CALL  7  (JDECDEC)
9SFL          BRN      PP11 
9S^=    #   
9TDW    #     IF GIVING SELECTIVE PRINT TO DECIDE WHETHER TO PRINT LINE 
9TYG    #   
9WD6    SEL 
9WMY ...      SMO      FXPM1
9WXQ          LDX   5  TABC                [WORD READY TO   
9XCB          SBN   5  1                   [BE PRINTED  
9XX2          LDX   4  0(2)                [WORD IN SELECTIVE PRINT TABLE   
9YBL          BPZ   2  SEL1                [J IF CURRENT ENTY IN TOP HALF OG WD 
9YW=          SLL   4  12   
9^64 ...      SMO      FXPM1
9^*W          ANDX  2  MASK 
9^TG          ADN   2  1                   [UPDATE POINTER  
=2*6          BRN      SEL2 
=2MH ...SEL1  SMO      FXPM1
=2^Y ...      ADX   2  WORD 
=3#B    SEL2  SRL   4  12                  [VALUE OF NEXT WORD TO BE PRINTED
=3J8 ...      SMO      FXPM1
=3S2          TXU   4  XATYPE   
=4?L          BCS      SEL3                [J IF NOT ATYPE WORD 
=4HD ...      SMO      FXPM1
=4R=          STOZ     PRINTYPES           [SET TO OUTPUT TYPE MNEMONICS
=5=W    SEL3  TXU   4  5
=5QG          BCS      SEL4                [J IF CURRENT LINE NOT TO BE PRINTED 
=62# ...      SMO      FXPM1
=6=6          STO   2  SELIND              [UPDATE SELECTIVE TABLE POINTR   
=6PQ          BRN      PP18 
=747 ...SEL4  CALL  7  (JPRINTX)             [SUPPRESS CURRENT LINE 
=7BJ ...      SMO      FXPM1
=7P2          TXU   4  SEVENS   
=88L          BCS      PP20                [J IF NOT END OF TABLE   
=8DD ...      SMO      FXPM1
=8N=          STOZ     PRINTING            [TERMINATE PRINT OF ROW  
=97W          BRN      PP18 
=9MG    #   
==76    #   
==LQ    #     CODING TO GET AND INSERT TYPE AND SUBTYPE MNEMONICS IN LISTING AND
=?6B    #     SET UP TABLES OF BLOCK IDENTIFIERS
=?L2    #   
=#5L    T   
=#K=    #   
=*4W    #     READ DOWN TYPE AND SUBTYPE TABLES 
=*JG    #   
=*Y9 ...      LDX   1  FXPM1
=B?Y ...      PMOVE    PMTYPES,PMCHAINEND(1)
=BMM ...      LDX   1  FXPM1
=C3B    #   
=CH2    #     MOVE TYPE MNEMONICS INTO PRINT BUFFER & SET UP POINTER TO SUBTYPE 
=D2L    #   
=DG= ...T1    CALL  7  (JUP)
=D^W                   +6   
=FFG          LDX   3  TAB(1)   
=F^6          LDCH  2  ATYPE(3)            [GET BLOCK TYPE  
=G8Y ...      SMO      FXPM1
=GDQ          MPY   2  THREE
=GNJ ...      SMO      FXPM1
=GYB          ADX   3  PMCHAINEND          [ADDR. OF TYPE MNEMONIC  
=HD2          LDX   4  JPMOD
=HXL          MVCH  3  8                   [MOVE TYPE MNEMONIC INTO PR. BUFFER  
=JC=          LDX   7  0(3) 
=JWW          STO   7  TABI(1)             [STORE SUBTYPE REFERENCE 
=KBG ...      CALL  7  (JUP)
=KW6                   +14  
=L*Q          ADN   1  1
=LJ2 ...      LDX   7  1
=LQ= ...      SBX   7  FXPM1
=LYG ...      SMO      FXPM1
=M6Q ...      TXU   7  XBLCOUNT            [J IF MORE BLOCKS IN ROW 
=M*2          BCS      T1   
=MJS ...      SMO      FXPM1
=MSL          LDX   7  PRINTYPES           [J IF NOT REQUIRED TO PRINT  
=N#=          BNZ   7  T8                  [TYPE MNEMONICS  
=NRW ...      CALL  7  (JPRINT1)             [PRINT A LINE  
=P?G          BRN      T12  
=PR6    #   
=Q=Q    #     TO GET SUBTYPE MNEMONIC & B/S ADDR. OF IDENT TABLES   
=QQB    #   
=R7B ...T8    CALL  7  (JPRINTX)             [CLEAR PRINT BUFFER
=RJB ...T12   LDX   1  FXPM1
=R^B ...      PMSUBSREAD  PMCHAINEND(1)        [READ DOWN SUBTYPE MNEMONIC TABLE
=SBB ...      LDX   1  FXPM1
=SRB ...      CALL  7  (JUP)
=T8G                   +2   
=TN6    T6    LDX   2  TAB(1)   
=W7Q          BCHX  2  £
=WMB          LDCH  7  ATYPE(2)            [GET SUBTYPE OF BLOCK
=X72          LDXC  4  TABI(1)  
=XLL          BCS      T3                  [J IF NO SUBTYPE BUT IDENT. TABLE
=Y6=          BZE   4  T3                  [J IF NEITHER
=YKW          STOZ     3
=^5G          SRC   34 12                  [X4=LENGTH OF S/F ENTRIES
=^K6          SRL   3  12                  [X3=ADDR. RELATIVE TO PMTYPES
=^SY ...      SMO      FXPM1
?263 ...      ADX   3  PMCHAINEND           [POINTS TO SUBTYPE TABLE
?2C7 ...      SMO      FXPM1
?2PJ ...      SBX   3  ZLPMT
?342    T5    LDCH  6  0(3)                [GET SUBTYPE FROM TABLE ENTRY
?3HL          TXU   6  7
?43=          BCC      T4                  [J IF REQUIRED ENTRY 
?4GW ...      ADN   3  3
?52G ...      SBN   4  3                   [SEARCH DOWN TABLE   
?5G6          BNZ   4  T5   
?5JP ...#   
?5M# ...#      TO MOVE 'NOT LISTED' INTO THE BUFFER 
?5PX ...#   
?5SH ...T7    SMO      FXPM1
?66Y ...      LDN   3  NOTLISTED           [IF ENTRY NOT FOUND  
?6H^ ...      BCHX  3  £                    [X3 POINTS TO THE 1ST CHAR OF 'NOT L
?6^2 ...      CALL  7  (JUP)
?7DL ...               +4                   [4 SPACES BEFORE TYPE OR SUBTYPE
?7Y=          LDX   4  JPMOD
?8CW ...      MVCH  3  11                   [MOVE NOT LISTED INTO BUFFER
?8XG          LDX   4  0(3) 
?9C6 ...      CALL  7  (JUP)
?9WQ ...               +16                  [NO.OF CHAR.POS. TO UPDATE BUFFER   
?=BB          BRN      T2   
?=CJ ...#   
?=DQ ...#      TO MOVE SUBTYPE MNEMONIC INTO THE BUFFER 
?=FY ...#   
?=H6 ...T4    BCHX  3  £                    [X3 POINTS TO THE 1ST CHAR OF SUBTYP
?=J# ...      CALL  7  (JUP)
?=KG ...               +4   
?=LN ...      LDX   4  JPMOD
?=MW ...      MVCH  3  7                    [MOVE SUBTYPE MNEMONIC INTO BUFFER  
?=P4 ...      LDX   4  0(3) 
?=Q= ...      CALL  7  (JUP)
?=RD ...               +16  
?=SL ...      BRN      T2   
?=W2    T3    BNZ   7  T7                  [J IF SUBTYPE VALUE NOT #00  
??*L ...      CALL  7  (JUP)                 [UPDATE PRINT BUFFER MOD. IF NO
??T=                   +20                 [SUBTYPE 
?##W    T2    STO   4  TABI(1)             [STORE IDENT. TABLE REFERENCE
?#SG          ADN   1  1
?*2Q ...      LDX   7  1
?*92 ...      SBX   7  FXPM1
?*C= ...      SMO      FXPM1
?*KG ...      TXU   7  XBLCOUNT 
?*RQ          BCS      T6                  [J IF STILL BLOCKS IN ROW
?B3J ...      SMO      FXPM1
?B?B          LDX   7  PRINTYPES           [J IF NOT REQUIRED TO PRINT  
?BR2          BNZ   7  T9                  [TYPE MNEMONICS  
?C=L ...      CALL  7  (JPRINT1)             [PRINT A LINE  
?CQ=    #   
?D9W    #     CODING TO READ DOWN IDENT. TABLES 
?DPG    #   
?F96 ...T9    LDX   1  FXPM1                   [ MODIFIER+BLOCKCOUNT
?FNQ ...      LDX   4  PMCHAINEND(1)       [START ADDR. IN CORE 
?G8B    T11   LDX   6  TABI(1)             [B/S ADDR. OF TABLE  
?GN2          BZE   6  T10                 [J IF NO TABLE   
?H7L          LDN   0  JREP2+1             [LENGTH  
?H=Q ...      SMO      FXPM1
?H*W ...      STO   1  UNE  
?HF2 ...      SMO      FXPM1
?HJ6 ...      STO   4  XFOUR
?HM= ...      PMBSADD  GEO,0,0,4,6  
?HQB ...      SMO      FXPM1
?HTG ...      LDX   4  XFOUR
?HYL ...      SMO      FXPM1
?J3Q ...      LDX   1  UNE  
?JHB ...      STO   4  TABI(1)             [IDENT. TABLE ADDRESS  IN CORE   
?K32 ...      ADN   4  JREP2+1           [CORE ADDRESS OF NEXT TRANSFER 
?KKQ    T10   ADN   1  1
?KS2 ...      LDX   7  1
?L2= ...      SBX   7  FXPM1
?L8G ...      SMO      FXPM1
?LBQ ...      TXU   7  XBLCOUNT 
?LK2          BCS      T11                 [J IF STILL BLOCKS IN ROW
?M4L ...      SMO      FXPM1
?MJ=          LDX   7  PRINTYPES
?N3W          BZE   7  PP3                 [J IF TYPES RTC. PRINTED 
?NB? ...      CALL  7  (JPRINTX)             [OTHERWISE CLEAR PRINT BUFFER &
?NNN ...      SMO      FXPM1
?P36          STOZ     PRINTYPES           [RESET INDICATOR 
?PGQ          BRN      PP3  
?Q2B    #   
?QG2    #     ROUTINE TO SEARCH SPECIFIED CHAIN/RING AND PRINT BLOCKS AS
?Q^L    #     REQUIRED  
?RF=    #     ENTRY    VIA PMCHAINP MACRO   
?RYW    #              X2=LINK  
?SDG    #     EXIT     ALL ACCS UNDEFINED   
?SY6    #   
?TCQ    START   
?TXB    #   
?WC2    #     ZEROISE INDICATORS
?WWL    #   
?X=* ...      STOZ     XBLCOUNT(1)  
?XL4 ...      STOZ     XTYPES(1)
?X^R ...      STOZ     XIND(1)  
?Y*G    #   
?YT6    #     GET %A,%C,AND%F OF PMCHAINP MACRO PARAMS  
?^#Q    #   
?^Q6 ...      LDX   3  0(2) 
#27G ...      DSA   3  XBASE(1)            [BASE ADDR. OF CHAIN/RING
#2JW ...      SRL   34 16                  [X3 = NO. OF CHARS. IN HEADING   
#32= ...      LDX   0  3
#3CL ...      SRL   4  20   
#3T2 ...      TXU   4  ONE(1)   
#4=G          BCS      ST2  
#4Q6 ...      STO   4  XTYPES(1)           [TYPES TO BE PRINTED IND.
#59Q ...      SBN   4  1
#5PB ...ST2   STO   4  SPECIAL(1)          [CHAPTER CHAIN PRINT IND.
#692    #   
#6NL    #     SET UP AND PRINT CHAIN/RING HEADING   
#78=    #   
#7MW          LDN   2  1(2) 
#87G          LDX   3  JPMOD
#8M6          BCHX  3  £
#96Q          SMO      0
#9LB          MVCH  2  0                   [MOVE HEADING INTO PRINT BUFFER  
#=62 ...      CALL  7  (JPRINT2)             [PRINT HEADING 
#=KL ...      CALL  7  (JPRINT1)
#?5=    #   
#?JW    #     GET %D AND %E OF PMCHAINP MACRO PARAMS
##4G    #   
##J6          SLC   2  2
#*3Q          ADN   2  3                   [POINT X2 AT NEXT WORD IN MACRO  
#*HB          SRC   2  2                   [EXPANSION   
#B32          LDX   3  0(2)                [NO. OF WORDS FROM START OF  
#BGL ...      DSA   3  XDIST(1)            [BLOCK TO RING ELEMENT   
#C2=          BNG   3  ST1  
#CFW          SRL   3  12   
#CTK ...      SMO      FXPM1
#D9# ...      LDX   3  0(3)                [LENGTH TO BE PRINTED FROM EACH  
#DK3 ...ST1   STO   3  XLEN(1)             [BLOCK OR SELECTED PRINT IND.
#DYQ          LDN   6  1(2) 
#FDB ...      STO   6  ZLINKD(1)           [STORE LINK  
#FY2    #   
#GCL    #     GET START ADDR. OF FIRST BLOCK TO BE PRINTED  
#GX=    #   
#HBW ...      LDX   2  XBASE(1)            [BASE OF CHAIN/RING  
#HWG          LDX   2  0(2)                [CONTENTS OF BASE
#JB6 ...      STOZ     XBLCOUNT(1)  
#JTQ          TXL   2  CORES               [J IF ILLEGAL
#K*B          BCC      RB   
#KT2 ...      TXL   2  X45(1)   
#L#L          BCS      RB   
#LS= ...      LDX   3  XBASE(1)            [STORE BACKWARD POINTER  
#M?W ...      STO   3  XBACKPR(1)          [WHEN SEARCH ROUTINES ENTERED
#MRG          BRN      R2   
#N?6    #   
#NQQ    #     GET START ADDRS OF BLOCKS TO BE PRINTED AND STORE IN TAB TABLE
#P=B    #   
#PQ2 ...R     LDN   3  SEARCH(1)
#Q9L ...      LDX   7  XIND(1)  
#QP=          BZE   7  R1                  [J IF FORWARD CHAINING   
#R8W ...      LDN   3  SEARCHB(1)   
#RNG    R1    CALL  0  (3)                 [GET ADDR. OF NEXT BLOCK 
#S86          BRN      RB                  [J IF BREAK IN CHAIN 
#SMQ    R2  
#T7B ...      TXU   2  XBASE(1) 
#TM2          BCC      REND                [J IF END OF CHAIN REACHED   
#W6L ...      LDX   7  XLEN(1)  
#WL=          BNG   7  R3                  [J IF SELECTED PRINT REQUIRED
#X5W ...      LDX   3  XDIST(1) 
#XKG ...      TXU   3  SEVENS(1)
#Y56          BCS      R10                 [IF NO. OF WORDS TO START OF BLOCK IN
#YJQ          LDX   3  2(2)                [3RD WORD OF RING ELEMENT
#^4B    R10   SBX   2  3                   [START ADDR. OF BLOCK
#^J2          TXL   2  CORES
*23L          BCC      RB                  [J IF ILLEGAL ADDR.  
*2B3 ...R3    SMO      XBLCOUNT(1)  
*2ND ...      STO   2  TAB(1)              [STORE START ADDR. OF BLOCK  
*32W          BNG   7  R14  
*3GG ...      LDX   3  XDIST(1) 
*426 ...      TXU   3  SEVENS(1)
*4FQ          BCC      R14  
*4^B          ADX   2  3
*5?6 ...R14   LDN   3  1
*5JW ...      ADS   3  XBLCOUNT(1)  
*5WL ...      LDN   3  6
*68B ...      SBX   3  XBLCOUNT(1)  
*6G6 ...      BNZ   3  R                   [ J IF <6 BLOCKS SET UP  
*6RW ...      STO   2  TABNEXT(1)          [KEEP ADDR. OF LAST BLOCK
*75L ...      BRN      R98  
*7CG    #   
*7X6    #     PRINT BLOCKS  
*8BQ    #   
*8WB ...R9    LDX   3  XBLCOUNT(1)  
*9B2 ...      BZE   3  R4                  [ J IF NOTHING TO PRINT  
*9TL ...R98   LDX   3  MNEMON(1)           [ PRINT ROW HEADING ?
*=*= ...      BZE   3   R99 
*=SW ...      CALL  7  (JUP)                 [ UPDATE PRINT BUFFER POINTER  
*#?Q                   +3   
*#RB ...      LDX   5   ROWCNT(1)          [ UPDATE ROW COUNT   
**?2          ADN   5   1   
**QL ...      STO   5   ROWCNT(1)   
*B== ...      CALL  7  (JDECN)              [ CONVERT ROW NO. AND PUT IN BUFFER 
*BPW ...      CALL  7  (JUP)                [ INSET HEADINGS
*C9G                   -8   
*CP6 ...      LDN   6  MNEMON(1)           [ PUT CHAIN MNEMONIC INTO BUFFER 
*D8Q ...      LDX   7  JPMOD
*DNB ...      MVCH  6   4   
*F82 ...      CALL  7  (JPRINT1)            [ PRINT ROW HEADING 
*FML ...R99  LDX   7   XLEN(1)  
*GLW          BNG   7  R5                  [J IF SELECTED PRINT REQUIRED
*H6G          CALL  0  PRINT               [PRINT BLOCKS
*HL6          BRN      R4   
*J5Q    #   
*JKB    #     TO GIVE SELECTED PRINT OF BLOCKS  
*K52    #   
*KJL ...R5    LDN   2  0
*L4=          LDN   7  1
*LDQ ...R6    ADN   2  1
*LT= ...      SMO      FXPM1
*M9Q ...      STO   7  TABL-1(2)           [SET TO PRINT
*ML= ...      TXU   2  XBLCOUNT(1)         [JUST ONE WORD,I.E.  
*N2Q          BCS      R6                  [RING ELEMENT ADDR.  
*NGB          CALL  0  PRINTB   
*P22 ...      LDN   2  0
*PFL ...      LDX   6  ZLINKD(1)
*P^= ...      STO   6  SELIND(1)           [START ADDR OF SELECTIVE PRINT TABLE 
*QDW ...R8    ADN   2  1
*QYG ...      LDX   3  XDIST(1)            [NO. OF WORDS TO START OF BLOCK  
*RD6 ...      TXU   3  SEVENS(1)
*RXQ          BCS      R11  
*S=7 ...      SMO      FXPM1
*SJJ ...      LDX   3  TAB-1(2)            [IF NO. OF WORDS TO START OF BLOCK IN
*SX2          LDX   3  2(3)                [3RD WORD OF RING ELEMENT
*T=P ...R11   SMO      FXPM1
*TLD ...      SBS   3  TAB-1(2)            [SET TAB TABLE POINTING  
*W27 ...      TXU   2  XBLCOUNT(1)         [AT START OF BLOCKS  
*W*W          BCS      R8   
*WTG ...      STO   2  PRINTYPES(1)        [IND. DON'T PRINT TYPE MNEMONICS 
*X*6                                       [UNLESS SPECIFIED IN SELECT. TABLE   
*XSQ          CALL  0  PRINTA              [GIVE SELECTED PRINT OF BLOCKS   
*Y#B    #   
*YS2    #     END OF CHAIN  
*^?L    #   
*^R= ...R4    LDXC  7  XIND(1)  
B2=W          BCC      R12                 [J IF NOT END OF CHAIN   
B2QG ...      LDX   7  XLEN(1)  
B3=6 ...      LDX   2  ZLINKD(1)           [ START ADD OF SELECT. TABLE 
B3PQ ...      BPZ   7  (2)                 [ EXIT IF NON-SELECTIVE PRINT
B49B    R13   LDX   6  0(2)                [GET NEXT WORD OF SELECTIVE PRINT TAB
B4P2          ADN   2  1                   [UPDATE TABLE POINTER
B58L          SRL   67 12                  [DIVIDE TWO  
B5N=          SRL   7  12                  [TABLE ENTRIES   
B67W ...      TXU   6  SEVENS(1)
B6MG          BCC      (2)                 [EXIT IF END OF TABLE
B776 ...      TXU   7  SEVENS(1)
B7LQ          BCC      (2)                 [EXIT IF END OG TABLE
B86B          BRN      R13  
B8L2    #   
B95L    #     PREPARE TO PRINT NEXT ROW 
B9K=    #   
B=4W    R12   BZE   7  R7                  [J IF FORWARD 3HAINING   
B=JG          SBN   7  1
B?46          BZE   7  R7                  [J IF 'BACKWARD CHAINING' HEADING
B?HQ                                       [PRINTED 
B#3B ...      STO   7  XIND(1)  
B#H2 ...      LDN   6  NAMEA(1) 
B*2L          LDX   7  JOZ  
B*G=          ADN   7  1
B*^W          MVCH  6  17                  [SET UP AND  
BBFG ...      CALL  7  (JPRINT2)             [PRINT 'BACKWARD CHAINING' 
BB^6 ...      CALL  7  (JPRINT1)
BCDQ ...      STOZ     XBLCOUNT(1)  
BCYB ...      LDN   3  SEARCHC(1)   
BDD2 ...      LDX   2  XBASE(1)            [START SEARCHING FROM BACK OF CHAIN  
BDXL          BRN      R1   
BFC= ...R7    LDX   2  TABNEXT(1)          [ADDR. OF LAST BLOCK PRINTED 
BFWW ...      STOZ     XBLCOUNT(1)                   [BLOCK COUNT   
BGBG          BRN      R
BGW6    #   
BH*Q    #     IF BREAK IN CHAIN 
BHTB    #   
BJ*2 ...RB    LDX   7  XIND(1)  
BJSL ...      BNZ   7  REND                [J IF A BREAK HAS ALREADY OCCURED
BK#=          LDN   7  2                   [SET TO BACKWARD CHAIN AND   
BKRW ...RB1   STO   7  XIND(1)             [ALSO PRINT 'BACKWARD CHAINING' HEAD.
BL?G          BRN      R9   
BLR6    #   
BM=Q    #     TO SET END OF CHAIN IND.  
BMQB    #   
BN=2    REND  LDCT  7  256  
BNPL          BRN      RB1  
BNR8 ...#   
BNSQ ...#     ROUTINE TO INITIALISE PMCHAINEND AND ZLPMT
BNW# ...#   
BNXW ...XINIT LDX   1  FXPM1
BN^D ...      ADS   1  PMCHAINEND(1)
BP32 ...      PMDLGET  PMTYPES,,2   
BP4J ...      STO   2  ZLPMT(1) 
BP66 ...      EXIT  0  0
BP7N ...#   
BP9=    #   
BPNW    #     ENTRY POINT TO PRINT FOLLOWING CHAINS,RING ETC.   
BQ8G    #   
BQN6    XK1PMCHAINS 
BR7Q    #   
BRCJ ...      CALL  0  XINIT
BRMB          PMCHAINP 16,FREE STORE CHAIN,BFREE,FPTR,ZJFREE,,FREE  
BRPK ...      SEGENTRY  K90PMCHAINS 
BRRS ...      BRN      X91PMCH  
BRW3 ...      PMCHAINP 15,TEMP FREE CHAIN,0,FPTR,ZJFTEM,,FTEM   
BRY= ...      PMCHAINP 16,FAST SMALL CHAIN,0,FPTR,ZJFAST,,FAST  
BS2F ...X91PMCH 
BS4N ...      SEGENTRY  K91PMCHAINS 
BS72    #SKI  CAMK7 
BSLL          PMCHAINP 17,FROZEN FREE CHAIN,BCAFREZ,FPTR,ZJFFC,,FROZ
BT6=          PMCHAINP 13,CHAPTER CHAIN,BCHAP,FPTR,ZJCHAP,2,CHAP
BTKW ...      BRN      (JPMSEG) 
BW5G    #   
BWK6    #     ENTRY POINT TO PRINT FOLLOWING CHAINS,RING ETC.   
BX4Q    #   
BXJB    XK2PMCHAINS 
BY42    #   
BY?S ...      CALL  0  XINIT
BY*5 ...#SKI  G3
BYBB ...(   
BYDY ...      PMCHAINP 24,FREE PROGRAM BLOCK CHAIN,BOBJUNUSE,FPTR,ZJFPBCH,1,FPBC
BYG9 ...)   
BYHL          PMCHAINP 13,THE JOB QUEUE,BJOBQ,FPTR,ZJOBQ,1,JOBQ 
B^3=          PMCHAINP 14,TEMPORARY HLSQ,BHTEMP,FPTR,ZBHTEMP,,TEMP  
B^8D ...#UNS  FSHTEST   
B^*L ...      PMCHAINP 20,THE SECOND JOB QUEUE,BJOBQB,FPTR,ZJOBQ,1,JBQB 
B^GW          PMCHAINP 20,HIGH LEVEL SCH QUEUE,BHLSQ,FPTR,ZJHLSQ,1,HLSQ 
C22G          PMCHAINP 19,MISCELLANEOUS CHAIN,BMISC,FPTR,ZJMIS,1,MISC   
C27N ...#UNS  FSHTEST   
C2#W ...      PMCHAINP 29,THE OTHER MISCELLANEOUS CHAIN,BMISCB,FPTR,ZJMIS,1,MISB
C2G6          PMCHAINP 14,THE FILE CHAIN,BFILE,FPTR,ZJFILE,1,FILE   
C2M# ...#UNS  FSHTEST   
C2SG ...      PMCHAINP 14,THE IPLJ CHAIN,BIPL,FPTR,ZJFILE,1,IPLJ
C2^Q          PMCHAINP 18,THE HALFOPEN CHAIN,BHALF,FPTR,ZJHALF,1,HALF   
C3FB          PMCHAINP 14,OFF LINE CHAIN,BOLC,FPTR,ZJBOLC,1,OFFL
C3^2          PMCHAINP 15,THE INDEX CHAIN,BINDEX,FPTR,ZJINDEX,1,INDX
C4DL          PMCHAINP 14,CONSOLE OUTPUT,BCONSOUT,FPTR,ZJCONSOUT,1,CONS 
C4Y=          PMCHAINP 23,CARTRIDGE CONTROL CHAIN,BCCB,FPTR,ZJCART,1,CART   
C5CW    #SKI  ALFMK7
C5XG          PMCHAINP 18,THE LISTFILE CHAIN,BLF,FPTR,ZJLF,1,LIST   
C6C6          PMCHAINP 13,ACTIVITY LIST,K3,CHAINADD,N,1 
C6WQ          PMVAL ATYPE   
C6XB ...#              THE FOLLOWING 4 CALLS OF PMCHAINP AND PMVAL ARE  
C6Y2 ...#              USED BY THE INTEGRATED COORDINATOR-TIMESHARER
C6YL ...#              (ICT) TO PRINT 4 NEW ACTIVITY LISTS  
C6^= ...#              THE ICT RESTORE TIME MACRO WILL ISSUE MENDS TO   
C6^W ...#              THIS AREA AS FOLLOWS 
C72G ...#              (A) IN THE ON CASE   
C736 ...#                 (1) MEND THE BRN TO A NULL
C73Q ...#                 (2) MEND THE K3 PRESETS TO THE APPROPRIATE
C74B ...#                     ACTLIST ADDRESS   
C752 ...#              (B) IN THE OFF CASE  
C75L ...#                 (1) MEND THE NULL BACK TO A BRN   
C76= ...#   
C76W ...      FIXTRA   K100CHAINS   
C77G ...      BRN      XICT 
C786 ...      PMCHAINP 14,ACTIVITY LIST0,K3,CHAINADD,N,1
C78Q ...      PMVAL ATYPE   
C79B ...      PMCHAINP 14,ACTIVITY LIST1,K3,CHAINADD,N,1
C7=2 ...      PMVAL ATYPE   
C7=L ...      PMCHAINP 14,ACTIVITY LIST2,K3,CHAINADD,N,1
C7?= ...      PMVAL ATYPE   
C7?W ...      PMCHAINP 14,ACTIVITY LIST3,K3,CHAINADD,N,1
C7#G ...      PMVAL ATYPE   
C7#S ...XICT
C7*6 ...      FIXTRA   K101CHAINS   
C7BB    #SKI  IPL   
C7W2    (   
C838 ...#UNS  FSHTEST   
C88B ...#SKI
C8*L          PMCHAINP 16,7600 SYSTEM RING,BIPL,JOBRING,ZJIPLJ,1,IPLJ   
C8T=          PMCHAINP 15,7600 SEND CHAIN,BIPLS,FPTR,ZJIPLS,1,IPLS  
C9#W          PMCHAINP 18,7600 RECEIVE CHAIN,BIPLR,FPTR,ZJIPLR,1,IPLR   
C9SG    )   
C=#6          PMCHAINP 10,GHOST LIST,K8,CHAINADD,N,1
C=RQ          PMVAL ATYPE   
C??B          PMCHAINP 12,PROGRAM RING,BPROG,0,N
C?R2          PMCHAINP 12,WAITING LIST,FLOWQ,CHAINADD,N,1   
C#=L          PMVAL ATYPE   
C#K3 ...      PMCHAINP  13,JOURNAL CHAIN,BSJC,FPTR,ZJJRNL,1,JRNL
C#XD ...      BRN      (JPMSEG) 
C*9W    #   
C*PG    #     ENTRY POINT TO PRINT THE FOLLOWING CHAINS, RINGS, ETC.
CB96    #   
CBNQ    #SKI  G4
CC8B    (   
CCN2    XK3PMCHAINS 
CD7L    #   
CDCD ...      CALL  0  XINIT
CDM=          PMCHAINP 16,PAGE USAGE CHAIN,BUSAGE,FPTR,ZJUSAGE,1,USAG   
CF6W          PMCHAINP 20,PURE PROCEDURE CHAIN,BSUD,FPTR,ZJPURE,1,PURE  
CFBN ...#UNS  G4VOPA
CFLG ...      PMCHAINP 20,OBJECT PROGRAM CHAIN,BOBJPROG,FPTR,ZJOBJCH,1,OPCH 
CFW# ...      BRN      (JPMSEG) 
CG66    )   
CGKQ    #   
CH5B    REDTAPE 
CH=4                   8H00000000   
CHBQ                   8HBPTR   3   
CHN6                   8HASIZE  3   
CH^G                   8HAFLAG  0   
CJ=W                   8HATYPE  0   
CJJ=                   8HBACK1  3   
CJTL                   8HBACK2  0   
CK72                   8HALOGL  3   
CKDB                   8HARGNO  0   
CKPQ                   4H^^^^   
CL36    #   
CM2B    #   
CMG2 ...ZPMCHAINS   
CM^L    #   
CNF=    #END
^^^^ ...07134511000700000000