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