13 22FL SEG INCOBS,7,MIKE PUTNAM,INCDUMP 4 22LS ...[ 15 22S2 ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 4 22_= # 11 23DW SEGENTRY K1INCOBS,X1INCOBS 4 23YG # 7 245N ... FSHSKIP B 4 24=W ...( 6 24D6 # CONSTANTS 4 24XQ # 10 25CB MOBSOLETE 8HOBSOLETE 9 25X2 8HDELETED 10 26BL MRET 8HRETURNED 11 26W= MREU 12HTO-BE-REUSED 9 27*W MREUSED 8HREUSED 8 27TG MT +10 9 28*6 12HDUMPER 10 28SQ 0,0,0,0,0,0 8 29#B 4095 4 29S2 # 20 2=?L # THIS SEGMENT OPENS INCINDEX, RETURNS TO POOL ^OBSOLETE^ TAPES, 21 2=R= # DELETES FROM INCINDEX THOSE INCREMENTS WHICH CONTAIN ONLY SUCH TAPES 21 2?=W # AND CLOSES INCINDEX. AN ^OBSOLETE^ TAPE IS ONE WHICH CONTAINS ONLY 21 2?QG # OBSOLETE INCREMENTS (BIT 4 OF AINCSTATE SET) OR OBSOLETE VERSIONS OF 13 2#=6 # INCREMENTS (BIT 17 OF AMAGSTATE SET). 21 2#PQ # ON ENTRY, X7=0 IF TAPES TO BE RETURNED TO POOL, X7=1 IF TO BE REUSED 20 2*9B # X6 = NO.OF TAPES TO FREE, X6= -1 IF TO FREE ALL OR TSNS 4 2*P2 # 9 2B8L # SUBROUTINES ....... 18 2BN= # ^SETFLINC^ IS USED TO SET UP A DUMMY FLIB/FLINC BLOCK. 19 2C7W # ^PINSERT^ IS USED TO INSERT ANOTHER INCREMENT NUMBER IN THE 20 2CMG # FLIB/FLINC BLOCK.BOTH ARE CALLED ON X6 AND BOTH MAY COORDINATE 4 2D76 # 4 2DLQ # 5 2F6B SETFLINC 8 2FL2 SBX 6 FX1 11 2G5L SETNCORE 2,3,FLIB,FLINC 7 2GK= LDN 0 1 16 2H4W STO 0 A1(3) [INITIALISE BLOCK 8 2HJG ADX 6 FX1 7 2J46 EXIT 6 0 4 2JHQ # 4 2K3B # 5 2KH2 PINSERT 8 2L2L SBX 6 FX1 10 2LG= MHUNTW 3,FLIB,FLINC 10 2L_W LDX 4 ALOGLEN(3) 7 2MFG ADN 4 1 11 2M_6 ALTLEN 3,4,FLIB,FLINC 10 2NDQ MHUNTW 3,FLIB,FLINC 7 2NYB LDN 4 1 8 2PD2 ADS 4 A1(3) 8 2PXL SMO A1(3) 20 2QC= STO 5 A1(3) [PUT INCREMENT NUMBER IN BLOCK 8 2QWW ADX 6 FX1 7 2RBG EXIT 6 0 4 2RL# ...) 4 2RW6 # 4 2S*Q # 5 2STB X1INCOBS 10 2SX# ... FSHCODE B,XFSHBINCOBS 4 2S_= ...( 19 2T38 ... BRN (GEOERR) [NEVER OBEYED ON MACHINE B 6 2T56 ...XFSHBINCOBS 4 2T74 ...) 7 2T92 ... FSHSKIP B 4 2T=Y ...( 20 2T*2 SETNCORE 0,1,FILE,FINTER2 [FINTER2 BLOCK FOR TSNS IN THESE 21 2TSL [ INCR. RECORDS 11 2W#= OPENINC OPBREAK,GENERAL 8 2WRW BPZ 6 PSTOR 18 2X?G LDN 6 4095 [SOME LARGE NUMBER IF ALL 5 2XR6 PSTOR 19 2Y=Q STO 6 AWORK1(2) [X6 = NO. OF TAPES TO FREE 18 2YQB STO 7 AWORK2(2) [KEEP RETURN/REUSE MARKER 17 2_=2 STOZ AWORK3(2) [ ^FINISHED^ MARKER 4 2_PL # 17 329= # READ THROUGH INCINDEX,FORMING IN THE FINTER2 BLOCK, 14 32NW # A LIST OF POTENTIALLY RETURNABLE TAPES. 4 338G # 20 33N6 CALL 6 SETFLINC [SET UP DUMMY FLIB/FLINC BLOCK 5 347Q PREAD 18 34MB READ [READ A RECORD INTO FRB 10 3572 MHUNTW 1,FILE,FRB 8 35LL LDX 0 A1(1) 17 366= BZE 0 PFREE [J IF END OF INCINDEX 16 36KW LDX 6 AMTS(1) [X6 = NO. OF MTS 15 375G BZE 6 PPEND [J IF NO MTS 18 37K6 LDN 7 AMAG [TSN MODIFIER DOWN RECORD 5 384Q PPSEARCH 7 38JB SMO 7 18 3942 LDX 5 0(1) [X5 = NEXT TSN IN RECORD 7 39HL SMO 7 11 3=3= LDX 0 AMAGSTATE-AMAG(1) 7 3=GW SLL 0 2 9 3?2G BNG 0 PSHIFT 8 3?G6 SLL 0 15 8 3?_Q BNG 0 PSETT 8 3#FB LDCT 0 #020 10 3#_2 ANDX 0 AINCSTATE(1) 9 3*DL BZE 0 PSHIFT 5 3*Y= PSETT 11 3BCW MHUNTW 3,FILE,FINTER2 10 3BXG LDX 4 ALOGLEN(3) 8 3CC6 BZE 4 PNONE 5 3CWQ PFIND 7 3DBB SMO 4 9 3DW2 TXU 5 A1-1(3) 8 3F*L BCC PGOT 8 3FT= BCT 4 PFIND 10 3G#W LDX 4 ALOGLEN(3) 5 3GSG PNONE 7 3H#6 ADN 4 1 11 3HRQ ALTLEN 3,4,FILE,FINTER2 11 3J?B MHUNTW 3,FILE,FINTER2 7 3JR2 SMO 4 9 3K=L STO 5 A1-1(3) 8 3KQ= BRN PGOT 5 3L9W PSHIFT 10 3LPG MHUNTW 3,FILE,FRB 7 3M96 SMO 7 8 3MNQ LDN 5 0(3) 7 3N8B LDX 4 5 9 3NN2 ADN 4 INCMAGLEN 7 3P7L LDX 0 6 7 3PM= SBN 0 1 8 3Q6W BZE 0 PSKIP 9 3QLG LDN 1 INCMAGLEN 7 3R66 MPY 0 1 8 3RKQ MOVE 4 0(1) 5 3S5B PSKIP 9 3SK2 LDN 0 INCMAGLEN 10 3T4L SBS 0 ALOGLEN(3) 7 3TJ= LDN 0 1 9 3W3W SBS 0 AMTS(3) 9 3WHG SBN 7 INCMAGLEN 4 3X36 PGOT 10 3XGQ MHUNTW 1,FILE,FRB 9 3Y2B ADN 7 INCMAGLEN 9 3YG2 BCT 6 PPSEARCH 9 3Y_L LDX 6 AMTS(1) 8 3_F= BNZ 6 PMESS 17 3_YW BRN PPEND [TO FREE FRB BLOCK 5 42DG PMESS 10 42Y6 HUNTW 2,FILE,APROC 9 43CQ BNG 2 PNOPREV 16 43XB LDX 6 AMTS(1) [X6 = AMTS IN FRB 17 44C2 LDX 7 AMTS(2) [X7 = AMTS IN APROC 18 44WL BXU 7 6,PDIFF [NOT SAME NO. OF TAPES 17 45B= LDN 4 AMAG [TSN MOD DOWN APROC 16 45TW LDN 5 AMAG [TSN MOD DOWN FRB 5 46*G PLOOK 7 46T6 SMO 5 18 47#Q LDX 0 0(1) [PICK UP TAPE FROM APROC 7 47SB SMO 4 16 48#2 BXE 0 0(2),PSAME [J IF SAME TAPE 17 48RL ADN 4 INCMAGLEN [STEP INNER MODIFIER 18 49?= BCT 6 PLOOK [LOOP IF MORE IN APROC 8 49QW BRN PDIFF 5 4==G PSAME 17 4=Q6 LDX 6 AMTS(1) [RESET INNER COUNT 17 4?9Q ADN 5 INCMAGLEN [STEP OUTER MODIFIER 17 4?PB BCT 7 PLOOK [LOOP IF MORE IN FRB 9 4#92 LDX 5 AINCNO(1) 7 4#NL FREECORE 1 8 4*8= BRN PIDEN 5 4*MW PDIFF 20 4B7G LDN 4 0 [TEMPORARY - TILL DTSUBS CHANGED 7 4BM6 OUTINCS 10 4C6Q MFREEW FLIB,FLINC 7 4CLB OUTTSNS 10 4D62 MFREEW FILE,APROC 21 4DKL MONOUT INCOBSMT2 [INCREMENT %A %B OBSOLETE ON MT%C %D 9 4F5= LDX 6 AWORK3(2) 16 4FJW BNG 6 PFINI [J IF FINISHED 18 4G4G CALL 6 SETFLINC [SET UP DUMMY FLIB/FLINC 10 4GJ6 MHUNTW 1,FILE,FRB 5 4H3Q PNOPREV 10 4HHB NAME 1,FILE,APROC 9 4J32 LDX 5 AINCNO(1) 5 4JGL PIDEN 9 4K2= CALL 6 PINSERT 8 4KFW BRN PREAD 5 4K_G PPEND 16 4LF6 FREECORE 1 [FREE FRB BLOCK 21 4LYQ BRN PREAD [READ DOWN NEXT RECORD OF INCINDEX 5 4MDB PFREE 10 4MY2 HUNTW 3,FLIB,FLINC 18 4NCL BNG 3 PFINI [J IF NO FINAL MESSAGE 8 4NX= LDX 0 A1(3) 7 4PBW SBN 0 1 16 4PWG BNZ 0 PLAST [J IF NOT EMPTY 10 4QB6 MFREEW FLIB,FLINC 18 4QTQ BRN PFINI [FINISHED THIS SECTION 5 4R*B PLAST 7 4RT2 NGN 6 1 18 4S#L STO 6 AWORK3(2) [MARKER TO SHOW FINISHED 8 4SS= BRN PDIFF 5 4T?W PFINI 16 4TRG MFREEW FILE,FRB [FREE FRB BLOCK 4 4W?6 # 21 4WQQ # NOW READ THROUGH INCINDEX, LOOKING TO SEE IF ANY OF THE TSNS IN THE F 20 4X=B # BLOCK ARE MENTIONED IN NON-OBSOLETE INCR. RECORDS - IF THEY ARE, 19 4XQ2 # SET B0=1 IN THE APPROPRIATE TSN ENTRY IN THE FINTER2 BLOCK. 4 4Y9L # 4 4YP= PEND 16 4_8W REWIND [REWIND INCINDEX 5 4_NG QSTEP 6 5286 STEP 17 52MQ BZE 3 QEND [J IF END OF INCINDEX 8 537B LDCT 0 #020 11 53M2 ANDX 0 AINCSTATE-A1(3) 17 546L BNZ 0 QSTEP [J IF INCR. OBSOLETE 11 54L= MHUNTW 1,FILE,FINTER2 16 555W LDX 6 AMTS-A1(3) [X6= NO. OF MTS 15 55KG BZE 6 QSTEP [J IF NO MTS 21 5656 LDN 0 AMAG-A1 [X0= TSN MOD. DOWN RECORD (INITIAL SE 5 56JQ QQSEARCH 7 574B SMO 0 20 57J2 LDX 5 0(3) [X5= NEXT TSN IN INCINDEX RECORD 8 583L LDN 4 #100 7 58H= SMO 0 8 592W ANDX 4 1(3) 18 59GG BNZ 4 QCONT [B0 NOT SET IF B17 SET 10 5=26 LDX 4 ALOGLEN(1) 18 5=FQ BZE 4 QZERO [J IF FINTER2 BLOCK EMPTY 5 5=_B QSEARCH 7 5?F2 SMO 4 9 5?YL TXU 5 A1-1(1) 16 5#D= BCC QFOUND [J IF TSN FOUND 19 5#XW BCT 4 QSEARCH [J IF MORE TSNS TO COMPARE 5 5*CG QCONT 21 5*X6 ADN 0 INCMAGLEN [STEP TSN POINTER IN INCINDEX RECORD 18 5BBQ BCT 6 QQSEARCH [J IF MORE TSNS IN RECORD 8 5BWB BRN QSTEP 5 5CB2 QFOUND 8 5CTL LDCT 5 #400 7 5D*= SMO 4 21 5DSW ORS 5 A1-1(1) [SET B0 OF TSN IN FINTER2 BLOCK LIST 8 5F#G BRN QCONT 5 5FS6 QZERO 4 5G?Q # 20 5GRB # NOW, HAVING ESTABLISHED WHICH TAPES CAN BE RELEASED, TAKE INTO 21 5H?2 # ACCOUNT WHAT WAS SPECIFIED TO BE RELEASED IN THE INCDUMP (OR DUMP) CO 8 5HQL # 3 POSSIBILITIES:- 17 5J== # 1) ^ALL^ SPECIFIED - LEAVE FINTER2 BLOCK AS IT IS. 17 5JPW # 2) NUMBER SPECIFIED - SHORTEN FINTER2 IF NECESSARY 21 5K9G # 3) TSNS SPECIFIED (FINTER1 BLOCK PRESENT) - IF TSNS IN FINTER2 DO N 21 5KP6 # APPEAR IN FINTER1, REMOVE THEM FROM FINTER2 & SHORTEN IT 21 5L8Q # APPROPRIATELY. A MESSAG IS OUTPUT FOR ANY TSNS IN FINTER1 15 5LNB # WHICH DO NOT APPEAR IN FINTER2. 4 5M82 # 4 5MML QEND 11 5N7= MHUNTW 3,FILE,FINTER2 11 5NLW HUNTW 2,FILE,FINTER1 18 5P6G BNG 2 ZEND [J IF NO TSNS SPECIFIED. 19 5PL6 LDX 4 ALOGLEN(3) [X4= NO. OF TAPES IN FINTER2 17 5Q5Q BZE 4 ZNEG [J IF NONE OBSOLETE 5 5QKB ZLOOP 7 5R52 SMO 4 9 5RJL LDX 5 A1-1(3) 7 5S4= SLL 5 1 18 5SHW SRL 5 1 [X5= NEXT TSN IN FINTER2 19 5T3G LDX 0 ALOGLEN(2) [X0= NO. OF TAPES IN FINTER1 17 5TH6 BZE 0 ZNONE [J IF NONE PRESENT 5 5W2Q ZLOOP1 7 5WGB SMO 0 17 5X22 BXE 5 A1-1(2),ZFOU [J IF TSN IN FINTER1 17 5XFL BCT 0 ZLOOP1 [J IF MORE TO SEARCH 5 5X_= ZNONE 7 5YDW SMO 4 20 5YYG LDN 1 A1-1(3) [X1-> TSN IN FINTER2 TO REMOVE 8 5_D6 LDN 0 1(1) 10 5_XQ LDX 5 ALOGLEN(3) 18 62CB SBX 5 4 [X5= NO. OF WORDS TO MOVE 15 62X2 BZE 5 ZNOMOVE [J IF ZERO 21 63BL SMO 5 [MOVE UP TSNS BELOW TO-BE-REMOVED TSN 19 63W= MOVE 0 0 [ IN FINTER2 BY 1 WORD 5 64*W ZNOMOVE 10 64TG LDX 5 ALOGLEN(3) 7 65*6 SBN 5 1 18 65SQ ALTLEN 3,5,FILE,FINTER2 [REDUCE FINTER2 BY 1 WORD 11 66#B MHUNTW 2,FILE,FINTER1 11 66S2 MHUNTW 3,FILE,FINTER2 8 67?L BRN ZREDU 4 67R= ZFOU 8 68=W LDCT 1 #400 7 68QG SMO 0 21 69=6 ORS 1 A1-1(2) [SET B0 OF FINTER1 ENTRY FOR THIS TSN 5 69PQ ZREDU 21 6=9B BCT 4 ZLOOP [J IF MORE TSNS IN FINTER2 TO DEAL WI 8 6=P2 BRN ZNEG 5 6?8L ZLOOP2 18 6?N= ADN 4 1 [UPDATE MOD. DOWN FINTER1 7 6#7W SMO 4 18 6#MG LDX 5 A1-1(2) [X5= NEXT TSN IN FINTER1 20 6*76 BNG 5 ZNEG [J IF TSN MENTIONED IN FINTER2 18 6*LQ OUTPACK 5,1,TSN [OUTPUT TSN AS PARAMETER 20 6B6B MONOUT INCMTNOBS [TO OPS. CONSOLE & MON. FILE :- 21 6BL2 [ ^DUMPER - MT %A HOLDS NO OBSOLETE 17 6C5L [ INCREMENTS^ 11 6CK= MHUNTW 2,FILE,FINTER1 4 6D4W ZNEG 21 6DJG BXU 4 ALOGLEN(2),ZLOOP2 [J IF MORE TSNS TO LOOK AT IN FINTER1 15 6F46 FREECORE 2 [FREE FINTER1 8 6FHQ BRN RALL 4 6G3B ZEND 8 6GH2 SMO FX2 9 6H2L LDX 6 AWORK1 20 6HG= ADN 6 1 [X6 = 1 + NO. OF TAPES TO FREE 10 6H_W LDX 4 ALOGLEN(3) 17 6JFG BZE 4 RALL [J IF FINTER2 EMPTY 7 6J_6 STOZ 4 5 6KDQ ZLOOP3 7 6KYB ADN 4 1 7 6LD2 SMO 4 18 6LXL LDX 7 A1-1(3) [X7 = TSN FROM FINTER2 19 6MC= BNG 7 ZSKIP [MUSTN'T RELEASE THIS TAPE 20 6MWW BCT 6 ZSKIP [DECREASE COUNT OF NO. TO RELEASE 18 6NBG BRN ZFINI [NOW RESET FINTER2 LENGTH 5 6NW6 ZSKIP 18 6P*Q BXL 4 ALOGLEN(3),ZLOOP3 [J IF NOT END OF FINTER2 8 6PTB BRN RALL 5 6Q*2 ZFINI 17 6QSL SBN 4 1 [DON'T NEED LAST TAPE 16 6R#= ALTLEN 3,4,FILE,FINTER2 [SHORTEN FINTER2 4 6RRW # 19 6S?G # READS THROUGH INCINDEX YET AGAIN. RECORDS WHICH CONTAIN ONLY 21 6SR6 # TAPES ON WHICH ALL INCREMENTS ARE OBSOLETE,ARE DELETED FROM INCINDEX. 18 6T=Q # FOR OTHER RECORDS, THE ENTRY IN INCINDEX IS DELETED FOR 19 6TQB # THOSE MTS WHICH CONTAIN ONLY OBSOLETE INCREMENTS, OR OBSOLETE 10 6W=2 # VERSIONS OF INCREMENTS. 21 6WPL # IF A TAPE IS TO BE RELEASED BUT YET IT HAS AN FDT ENTRY (I.E. IS BEIN 21 6X9= # USED BY DUMP TAPE SCHEDULER), A MESSAGE IS OUTPUT & IT IS TREATED AS 12 6XNW # IT CONTAINED NON-OBSOLETE INCRS. 21 6Y8G # GOES THROUGH FINTER2 BLOCK RETURNING TO THE POOL ALL MTS WITH +IVE 16 6YN6 # ENTRIES (I.E. CONTAINING ONLY OBSOLETE INCRS.) 4 6_7Q # 4 6_MB RALL 7 6_NY ...#SKIP JDUMPTW 4 6_QG ...( 4 6_S4 ...# 14 6_TL ...# A FILE/FINTER1 IS SET UP TO HOLD TSNS OF 8 6_X8 ...# TAPES TO BE TW'D 4 6_YQ ...# 11 722# ... SETNCORE 15,1,FILE,FINTER1 16 723W ... STOZ A1+12(1) [NO. OF TAPES 4 725D ...) 6 7272 REWIND 18 72LL CALL 6 SETFLINC [SET UP DUMMY FLIB/FLINC 5 736= RSTEP 6 73KW STEP 17 745G BZE 3 REND [J IF END OF INCINDEX 17 74K6 STOZ AWORK3(2) [CLEAR MARKER WORD 5 754Q REREAD 10 75JB LDX 6 AMTS-A1(3) 16 7642 BZE 6 RSTEP [J IF NO TAPES. 17 76HL LDN 7 AMAG-A1 [MODIFIER DOWN TSNS 5 773= RRSEARCH 16 77GW MHUNTW 1,FILE,FINTER2 [X1 -> FINTER2 7 782G SMO 7 20 78G6 LDX 5 0(3) [X5= NEXT TSN IN INCINDEX RECORD 8 78_Q LDCT 0 #100 7 79FB SMO 7 11 79_2 ANDX 0 AMAGSTATE-AMAG(3) 19 7=DL BNZ 0 RRET [J IF TAPE ALREADY RELEASED 10 7=Y= LDX 4 ALOGLEN(1) 18 7?CW BZE 4 RBACK [J IF FINTER2 BLOCK EMPTY 5 7?XG RSEARCH 7 7#C6 SMO 4 18 7#WQ LDX 2 A1-1(1) [X2= TSN IN FINTER2 BLOCK 7 7*BB LDX 0 2 7 7*W2 SLL 0 1 7 7B*L SRL 0 1 16 7BT= BXE 0 5,RFOUND [J IF TSN FOUND 19 7C#W BCT 4 RSEARCH [J IF MORE TSNS TO COMPARE 8 7CSG BRN RBACK 5 7D#6 RFOUND 20 7DRQ BNG 2 RBACK [J IF TAPE CONTAINS NON-OBS.INCS. 19 7F?B FDTENT 2,5,RRET [J IF TAPE NOT STILL IN USE 8 7FR2 LDCT 0 #400 21 7G=L SMO 4 [SET TSN IN FINTER2 BLOCK -IVE - TAPE 19 7GQ= ORS 0 A1-1(1) [ NOT RELEASEABLE 18 7H9W OUTPACK 5,1,TSN [OUTPUT TSN AS PARAMETER 20 7HPG MONOUT INCMTUSE [TO OPS. CONSOLE & MON. FILE :- 21 7J96 [ ^DUMPER= MT %A NOT RELEASED -STILL 17 7JNQ STEPAGAIN [X3-> INCINDEX RECORD 17 7K8B MHUNTW 1,FILE,FINTER2 [X1-> FINTER2 BLOCK 8 7KN2 BRN RBACK 4 7L7L RRET 8 7LM= LDX 2 FX2 9 7M6W LDX 0 AWORK3(2) 20 7MLG BNZ 0 RSHIFT [J IF ALREADY READ RECORD AGAIN 7 7N66 LDN 0 1 16 7NKQ STO 0 AWORK3(2) [SET MARKER WORD 7 7P5B READAGAIN 16 7PK2 MHUNTW 3,FILE,FRB [X3 -> FRB BLOCK 17 7Q4L ADN 3 A1 [ADD IN RECORD-HEADER 9 7QJ= BRN REREAD 5 7R3W RSHIFT 7 7R4? ...#SKIP JDUMPTW 4 7R4N ...( 4 7R55 ...# 13 7R5G ...# A LIST OF TAPES TO BE TW'D IS COLLATED 4 7R5X ...# 11 7R6# ... MHUNTW 2,FILE,FINTER1 7 7R6P ... SMO 7 14 7R76 ... LDX 5 1(3) [MAGSTATE 7 7R7H ... SLL 5 7 17 7R7Y ... BPZ 5 RTW3 [TSN NOT TO BE TW'D 7 7R8* ... SMO 7 13 7R8Q ... LDX 5 0(3) [TSN 16 7R97 ... LDN 0 A1+13 [PTR DOWN FINTER1 9 7R9J ... LDX 4 A1+12(2) 17 7R9_ ... BZE 4 RTW2 [NO TAPES YET IN LIST 4 7R=B ...RTW1 7 7R=R ... SMO 0 17 7R?8 ... BXE 5 0(2),RTW3 [TSN ALREADY IN LST 17 7R?K ... SBN 4 1 [DECREASE NO OF TSNS 8 7R#2 ... BZE 4 RTW4 14 7R#C ... ADN 0 2 [NEXT TSN 8 7R#S ... BRN RTW1 4 7R*9 ...RTW4 7 7R*L ... ADN 0 2 4 7RB3 ...RTW2 7 7RBD ... SMO 0 16 7RBT ... STO 5 0(2) [ADD TSN TO LIST 7 7RC= ... LDN 0 1 16 7RCM ... ADS 0 A1+12(2) [UPDATE TAPE COUNT 10 7RD4 ... LDX 4 ALOGLEN(2) 17 7RDF ... ADN 4 2 [INCREASE BLOCK SIZE 11 7RDW ... ALTLEN 2,4,FILE,FINTER1 10 7RF? ... MHUNTW 3,FILE,FRB 8 7RFN ... ADN 3 A1 4 7RG5 ...RTW3 4 7RGG ...) 7 7RHG SMO 7 19 7S36 LDN 5 0(3) [END ADDRESS FOR MOVE IN X5 7 7SGQ LDX 4 5 19 7T2B ADN 4 INCMAGLEN [START ADDRESS FOR MOVE IN X4 7 7TG2 LDX 0 6 20 7T_L SBN 0 1 [X1= NUMBER OF REMAINING TAPES 17 7WF= BZE 0 RSKIP [AVOID ZERO MOVE ! 9 7WYW LDN 1 INCMAGLEN 20 7XDG MPY 0 1 [NUMBER OF WORDS TO MOVE IN X1 8 7XY6 MOVE 4 0(1) 5 7YCQ RSKIP 9 7YXB LDN 0 INCMAGLEN 17 7_C2 SBS 0 FRH(3) [REDUCE RECORD HEADER 7 7_WL LDN 0 1 17 82B= SBS 0 AMTS-A1(3) [REDUCE NUMBER OF MTS 17 82TW SBN 7 INCMAGLEN [BACKSPACE POINTER 5 83*G RBACK 15 83T6 ADN 7 INCMAGLEN [STEP POINTER 19 84#Q BCT 6 RRSEARCH [J IF MORE TAPES IN RECORD 8 84SB LDX 2 FX2 9 85#2 LDX 0 AWORK3(2) 18 85RL BZE 0 RSTEP [J IF RECORD UNCHANGED. 10 86?= LDX 0 AMTS-A1(3) 21 86QW BNZ 0 RESET [J IF SOME MTS STILL LEFT IN RECORD 10 87=G LDX 5 AINCNO-A1(3) 19 87Q6 CALL 6 PINSERT [PUT INC. NO. IN FLIB/FLINC 17 889Q DELETE [DELETE THIS RECORD 16 88PB MHUNTW 3,FILE,FRB [X3 -> FRB BLOCK 5 8992 RFREE 19 89NL FREECORE 3 [FREE BLOCK POINTED TO BY X3 8 8=8= BRN RSTEP 5 8=MW RESET 10 8?7G MHUNTW 3,FILE,FRB 18 8?M6 NAME 3,FILE,FWB [RENAME AS A WRITE BLOCK 19 8#6Q REPLACE [MAKE SURE IT'S WRITTEN BACK 10 8#LB MHUNTW 3,FILE,FWB 16 8*62 BRN RFREE [FREE FWB BLOCK 4 8*KL REND 10 8B5= MHUNTW 3,FLIB,FLINC 8 8BJW LDX 0 A1(3) 7 8C4G SBN 0 1 18 8CJ6 BZE 0 RRFREE [J IF NO DELETED INCS. 7 8D3Q OUTINCS 20 8DHB MONOUT INCSDEL [RECORD%A DELETED FOR INC%A %B 5 8F32 RRFREE 10 8FGL MFREEW FLIB,FLINC 15 8G2= STOZ 4 [ZEROISE MOD. 20 8GFW LDN 6 0 [CLEAR ^TAPES RELEASED^ MARKER 9 8G_G LDN 7 AMAG-A1 18 8HF6 SETUPCORE 7,3,FILE,APROC [GET NEW FILE/APROC BLOCK 8 8HYQ STO 7 A1(3) 19 8JDB LDX 7 AWORK2(2) [X7 = RETURNED/REUSED MARKER 9 8JY2 STOZ AMTS(3) 8 8KCL BRN STEST 5 8KX= SSEARCH 7 8LBW SMO 4 8 8LWG LDX 5 A1(1) 21 8MB6 BNG 5 SNOTOBS [J IF TAPE CONTAINS NON-OBSOLETE INCR 10 8MTQ MHUNTW 3,FILE,APROC 8 8N*B LDX 7 A1(3) 9 8NT2 ADN 7 INCMAGLEN 17 8P#L ALTLEN 3,7,FILE,APROC [LENGTHEN APROC BLOCK 10 8PS= MHUNTW 3,FILE,APROC 8 8Q?W STO 7 A1(3) 7 8QRG LDN 7 1 18 8R?6 ADS 7 AMTS(3) [INCREASE NO. OF TAPES 19 8RQQ LDX 7 AWORK2(2) [X7 = RETURNED/REUSED MARKER 8 8RXY ... SMO A1(3) 18 8S56 ... STOZ A1-INCMAGLEN+1(3) [ ZEROISE STATE MARKER 8 8S=B SMO A1(3) 11 8SQ2 STO 5 A1-INCMAGLEN(3) 19 8T9L ORN 6 1 [SET ^TAPES RELEASED^ MARKER 17 8TP= SETNCORE 12,2,FILE,FABSNB [SET FABSNB FOR TAPE. 21 8W8W LDN 0 #2401 [SET TSN, RETENTION PERIOD & NON-FILE 19 8WNG ORS 0 ATYPE(2) [ BITS IN TYPE WORD 17 8X86 STO 5 A1+11(2) [INSERT SERIAL NO. 8 8XMQ ADN 1 MT 8 8Y7B ADN 2 A1 20 8YM2 MOVE 1 11 [INSERT :DUMPER & ZERO LOCAL NAME 15 8_6L OPENDIR OPBREAK,CLEAN,QUERY [OPEN :DUMPER 10 8_L= MFREE FILE,FABSNB 17 925W TESTREP OK,SREPOK,NOFILE,SNOTOBS,DISAGREE,SNOTOBS 7 92KG #SKI K6INCOBS 11 9356 GEOERR BRIEFPM,INC REP 5 93JQ SREPOK 10 944B MHUNTW 3,FILE,ENT 9 94J2 NAME 3,FILE,FWB 21 953L NGNC 0 1 [WITH ACKNOWLEDGEMENTS TO TERRY COLE 19 95H= ANDS 0 EINCLOOK(3) [REMOVE TAPE BEING USED BIT 7 962W REWRITE 9 96GG MFREEW FILE,FWB 16 9726 CLOSETOP [CLOSE :DUMPER 21 97FQ BNZ 7 SNOTOBS [J IF TAPE NOT TO BE RETURNED TO POOL 17 97_B RETURNA 5 [RETURN TAPE TO POOL 5 98F2 SNOTOBS 15 98YL ADN 4 1 [UPDATE MOD. 5 99D= STEST 11 99XW MHUNTW 1,FILE,FINTER2 18 9=CG BXU 4 ALOGLEN(1),SSEARCH [J IF MORE TSNS TO SEARCH 16 9=X6 CLOSETOP [CLOSE INCINDEX 10 9?BQ MFREEW FILE,FINTER2 20 9?WB BNZ 6 SOMEREL [J IF AT LEAST 1 TAPE RELEASED 10 9#B2 LDN 3 ACOMMUNE1(2) 9 9#TL LDN 2 MRET(1) 19 9**= BZE 7 SRETURN [J IF RETURNED & NOT REUSED 10 9*SW LDN 2 MREUSED(1) 5 9B#G SRETURN 19 9BS6 MOVE 2 2 [SET PARAM IN ACOMMUNE WORDS 21 9C?Q OUTPARN 8,ACOMMUNE1 [OUTPUT ^RETURNED^ OR ^REUSED^ AS PAR 20 9CRB MONOUT INCNOREL [ TO OPS. CONSOLE & MON. FILE :- 19 9D?2 [ ^NO DUMP TAPES CAN BE %A^ 9 9DQL BRN SNOREL 5 9F== SOMEREL 7 9FPW OUTTSNS 10 9G9G LDN 3 ACOMMUNE1(2) 9 9GP6 LDN 2 MRET(1) 7 9H8Q LDN 0 8 8 9HNB BZE 7 SRET 9 9J82 LDN 2 MREU(1) 8 9JML LDN 0 12 4 9K7= SRET 7 9KLW MOVE 2 3 10 9L6G OUTPARAM 0,ACOMMUNE1 20 9LL6 MONOUT JMTSREL [MT%A %B %C - INCREMENT(S) OBS. 5 9M5Q SNOREL 10 9MKB MFREEW FILE,APROC 7 9MKD ...#SKIP JDUMPTW 4 9MKG ...( 4 9MKJ ...# 14 9MKL ...# IF FINTER1 CONTAINS ANY TSNS THEY ARE TW'D 12 9MKN ...# AND A MESSAGE OUTPUT TO OPERATORS 4 9MKQ ...# 11 9MKS ... MHUNTW 1,FILE,FINTER1 14 9MKW ... LDX 4 A1+12(1) [ANY TAPES 15 9MKY ... BZE 4 STW4 [IN TW LIST 8 9ML2 ... LDN 5 A1+13 4 9ML4 ...STW1 7 9ML6 ... SMO 5 8 9ML8 ... LDX 6 0(1) 8 9ML= ... TAPEWRONG 6 7 9ML# ... SBN 4 1 8 9MLB ... BZE 4 STW2 7 9MLD ... ADN 5 2 11 9MLG ... MHUNTW 1,FILE,FINTER1 8 9MLJ ... BRN STW1 4 9MLL ...STW4 10 9MLN ... MFREEW FILE,FINTER1 8 9MLQ ... BRN STW3 4 9MLS ...STW2 11 9MLW ... MHUNTW 1,FILE,FINTER1 10 9MLY ... NAME 1,FILE,APROC 8 9MM2 ... OUTTSNS ARE 9 9MM4 ... MONOUT INCOBSTW 10 9MM6 ... MFREEW FILE,APROC 4 9MM8 ...STW3 4 9MM= ...) 10 9MM_ ... FSHCODE A,XFSHAEND 4 9MQJ ...( 20 9MT7 ... TRANSFIN ,,ALIEN [RETURN IF CAME FROM MACHINE B 5 9MXQ ...XFSHAEND 4 9N2* ...) 6 9N52 ENDCOM 5 9Q3G OPBREAK 10 9Q65 ... FSHCODE A,XFSHACOM 4 9Q8N ...( 20 9Q?? ... TRANSFIN ,,ALIEN [RETURN IF CAME FROM MACHINE B 5 9Q*W ...XFSHACOM 4 9QDF ...) 7 9QH6 COMBRKIN 4 9R2Q # 4 9R=J ...) 10 9RGB MENDAREA 40,K99INCOBS 4 9S22 # 4 9SFL #END 8 ____ ...75042512000100000000