Show pageBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. {{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: INCEND865)}} ====== INCEND865 ====== (George Source) **Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:ALTLENG|ALTLENG]], [[george:macro:BBUS|BBUS]], [[george:macro:BC|BC]], [[george:macro:BITDEFS|BITDEFS]], [[george:macro:BS|BS]], [[george:macro:BSXD|BSXD]], [[george:macro:BXE|BXE]], [[george:macro:BXU|BXU]], [[george:macro:CHAIN|CHAIN]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:DELETE|DELETE]], [[george:macro:DOWN|DOWN]], [[george:macro:FON|FON]], [[george:macro:FREECORE|FREECORE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:HUNT2|HUNT2]], [[george:macro:HUNTMISB|HUNTMISB]], [[george:macro:HUNTW|HUNTW]], [[george:macro:INFORM|INFORM]], [[george:macro:INSTPARA|INSTPARA]], [[george:macro:JBC|JBC]], [[george:macro:JBS|JBS]], [[george:macro:LONGON|LONGON]], [[george:macro:MBC|MBC]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREE|MFREE]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUT|MONOUT]], [[george:macro:NAME|NAME]], [[george:macro:OPENINC|OPENINC]], [[george:macro:OUTBLOCN|OUTBLOCN]], [[george:macro:OUTINCS|OUTINCS]], [[george:macro:OUTMOND|OUTMOND]], [[george:macro:OUTNULL|OUTNULL]], [[george:macro:OUTPACK|OUTPACK]], [[george:macro:OUTPARAM|OUTPARAM]], [[george:macro:OUTPARN|OUTPARN]], [[george:macro:OUTTSNS|OUTTSNS]], [[george:macro:PAIR|PAIR]], [[george:macro:POP|POP]], [[george:macro:READAGAIN|READAGAIN]], [[george:macro:READBACK|READBACK]], [[george:macro:REWRITE|REWRITE]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETBIT|SETBIT]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:STEP|STEP]], [[george:macro:STEPAGAIN|STEPAGAIN]], [[george:macro:STEPWRITE|STEPWRITE]], [[george:macro:TRACE|TRACE]], [[george:macro:UP|UP]], [[george:macro:VFREEW|VFREEW]], [[george:macro:VOP|VOP]], [[george:macro:WIND|WIND]], [[george:macro:XY|XY]] <code - INCEND865.txt>22FL ... SEG INCEND,864,FILESTORE,INCDUMP 22^= # 23DW SEGENTRY K1INCEND,X1INCEND 23SK ... SEGENTRY K2INCEND,(GEOERR) 248# ... SEGENTRY K3INCEND,X3INCEND 24D6 # 24XQ # CONSTANTS 25CB # 26BL MLANCOMP 4HC1 [LANGUAGE FOR COMPOSITE S/F 26W= NAMEINCR 12HGEORGE3DUMP [INCREMENT NAME 27*W SCLEANDAY 864000/K9*100 [NO. OF CLEANCTS IN DAY 27TG PFIN PAIR DTSTART,7 [END OF DUMP - DTA LINK PAIR 28*6 ...# 28SQ ...# AWORK1 SWITCH WORD - BIT DEFINITIONS (ALSO USED BY INCFIN) 29#B ...# 29S2 ... BITDEFS AWORK1,0,MBFINAL,MBEMS 2=?L ...#UNS AMTGR 2=R= ... BITDEFS AWORK1,2,MBPGENRES [ POTENTIALLY GENRESABLE 2?=W # 2?QG # SUBROUTINES 2#=6 # 2#PQ # THIS SUBR. FINS THE FLIB/FLINC BLOCK FOR ALTLENG. 2*9B SFINDFLINC 2*P2 MHUNTW 2,FLIB,FLINC 2B8L EXIT 1 0 2BN= # 2C7W # THIS DOES THE SAME WITH A FILE/FINTER BLOCK. 2CMG SFINDFINT 2D76 MHUNTW 2,FILE,FINTER 2DLQ EXIT 1 0 2F6B # 2FL2 # 2G5L # THIS SUBROUTINE SIMPLY DOES A STEPWRITE - WHOSE EXPANSION IS LENGTHY. 2GK= # ON ENTRY, X7 IS S/R LINK. 2H4W # ON EXIT, X1=FX1, X2=FX2, X3-> CURRENT RECORD. USES X0. MAY COORDINA 2HJG # 2J46 SWRITE 2JHQ SBX 7 FX1 2K3B STEPWRITE [ENSURE INFORMATION WRITTEN TO BS 2KH2 ADX 7 FX1 2L2L EXIT 7 0 2LG= # 2L^W # OPENS INCINDEX IN GENERAL MODE, DELETES ANY RECORDS NECESSARY IF CURR 2MFG # INCREMENT IS END-OF-BATCH AND ADJUSTS STATE WORD OF CURRENT INCR.. 2M^6 # CLOSES INCINDEX 2N6# ...# ALSO USED BY EMS ENTRY X2, WHICH ENTERS IT AT LABEL NOAPROC 2N?G ...# AND REQUIRES THAT INCINDEX BE LEFT OPEN 2NDQ # ON ENTRY, X5= CURRENT INCR. NO., X6= REPLY WORD. X4 IS S/R LIN 2NYB # ON EXIT, X1= FX1, X2= FX2, X5= CURRENT INCR. NO., X6= REPLY WORD. USE 2PD2 # ALSO USES X7 & AWORK4. 2PXL # 2QC= UPDATEINDEX 2QWW SBX 4 FX1 2RBG OPENINC ,GENERAL [OPEN INCINDEX (GENERAL MODE) 2RW6 STOZ AWORK4(2) [CLEAR "1ST RELIABLE INCR." WORD 2STB [MTS FOR WHICH BITNOWPR HAS TO BE SET 2T*2 QSTEP 2TSL STEP 2W#= #SKI K6INCEND 2WRW ( 2X?G BNZ 3 NOENDINC 2XR6 GEOERR BRIEFPM,INCINDEX [CANT FIND LAST INCR. REC. IN INCINDE 2Y=Q NOENDINC 2YQB ) 2^=2 BXE 5 AINCNOR(3),YLAST [J IF LAST INCR. 2^PL LDX 0 AWORK4(2) 329= BNZ 0 NORV [J IF PREVIOUS RELIABLE INCR EXISTS 32NW JBS NORV,3,BINSUITRVR [J IF INCR NOT SUITABLE FOR RETRIEVIN 338G LDX 0 AINCNOR(3) 33N6 STO 0 AWORK4(2) [AWORK4 = 1ST RELIABLE INCR. NO. 347Q NORV 34MB LDCT 0 #200 3572 ANDX 0 6 35LL BZE 0 QSTEP [J IF CURRENT INCR. NOT END OF BATCH 366= [ONLY REMOVE 'BEING REDUMPED' INCRS. 36KW [ END OF BATCH 36TN ... JBC QSTEP,,BATCHSTART 375G LDCT 0 #100 37K6 ANDX 0 6 384Q BZE 0 NOTOBS [J IF NOT GENERAL RESTOREABLE INCR. 38#J ... JBS OBS,3,BIOBSENT 38JB HUNTW 1,FILE,FINCPROC 3942 BNG 1 NOTOBS 39HL LDX 0 AINCNOR(3) [X0= NO. OF THIS INCR. 3=3= LDX 2 FINCNOBS(1) [X2= NO. OF STILL OBSOLETE INCRS. 3=GW BZE 2 NONEOBS [J IF NO INCREMENTS OBSOLETE 3?2G NFOUND 3?G6 SMO 2 3?^Q ... BXE 0 INCLISTS-1(1),OBS [J IF THIS INCR. OBSOLETE 3#FB BCT 2 NFOUND [J IF MORE INCR. NOS. TO SEARCH 3#^2 NONEOBS 3*DL LDX 2 FX2 3*Y= BRN NOTOBS 3BCW OBS 3BXG CALL 7 SWRITE [STEPWRITE 3CC6 BS 3,BIOBSR [MARK AS OBSOLETE 3CWQ BC 3,BIPRNOBSR [REMOVE PROC BUT NOT OBS BIT IF SET 3DBB READAGAIN 3DW2 MHUNTW 1,FILE,FRB 3F*L HUNTW 3,FILE,APROC 3FT= BNG 3 MAPROC [J IF 1ST NEWLY OBSOLETE INCR. 3G#W LDX 7 AMTS(1) 3GSG BXU 7 AMTS(3),MAPROC [J IF NO. OF TAPES DIFFERENT TO LAST 3H#6 [ NEWLY OBSOLETE INCR. 3HRQ MNEW 3J?B LDX 2 AMAG(1) [X2 = NEXT TSN IN NEW RECORD 3JR2 LDX 0 AMTS(3) [X0= NO. OF TAPES IN OLD RECORD 3K=L MOLD 3KQ= BXE 2 AMAG(3),MFOU [J IF TAPE FOUND 3L9W ADN 3 INCMAGLEN [UPDATE OLD RECORD POINTER 3LPG BCT 0 MOLD [J IF MORE TAPES TO SEARCH 3M96 MHUNTW 1,FILE,FRB [TAPES IN 3MNQ [RECORDS DIFFERENT SO SET UP NEW FLIN 3N8B [ & APROC 3NN2 MAPROC 3P7L NAME 1,FILE,APROC [NEW APROC 3PM= LDX 7 AINCNO(1) [NOTE INCR. NO. OF NEW RECORD 3Q6W SETNCORE 2,3,FLIB,FLINC [SET UP & INITIALISE NEW FLINC 3QLG LDN 0 1 3R66 STO 0 A1(3) 3RKQ BRN MEXTEND 3S5B MFOU 3SK2 MHUNTW 3,FILE,APROC 3T4L ADN 1 INCMAGLEN [UPDATE NEW RECORD POINTER 3TJ= BCT 7 MNEW [J IF MORE TAPES IN NEW RECORD 3W3W [ 3WHG [RECORDS ARE SAME SO INSERT INC. NO. 3X36 [EXISTING FLINC 3XGQ MHUNTW 1,FILE,FRB 3Y2B LDX 7 AINCNO(1) [X7= INCR. NO. TO INSERT 3YG2 FREECORE 1 3Y^L MHUNTW 3,FLIB,FLINC 3^F= MEXTEND 3^YW LDX 0 ALOGLEN(3) 42DG ADN 0 1 42Y6 STO 0 ACOMMUNE1(2) 43CQ ALTLENG 3,ACOMMUNE1(2),SFINDFLINC [LENGTHEN FLIB/FLINC BY 1 WORD 43XB MHUNTW 3,FLIB,FLINC 44C2 LDN 0 1 44WL ADS 0 A1(3) 45B= SMO ALOGLEN(3) 45TW STO 7 A1-1(3) [INSERT NEW INCR. NO. 46*G STEPAGAIN 46T6 NOTOBS 47#Q JBC QSTEP,3,BINSUITRVR [J IF INCR. SUITABLE FOR RETRIEVING 47SB [(ASSUMES THAT "NOT SUITABLE FOR RETR 48#2 [ BIT IS ONLY SET BY DUMPER WHEN IN 48RL [ SETS UP THE RECORD) 493D ... JBS QSTEP,3,BIUNFINR [DONT DELETE INCS BEING PRODUCED 49?= #SKI K6INCEND>99-99 49QW TRACE AINCNOR(3),INC DEL [NO. OF INCOMPLETE INCR. DELETED FROM 4==G DELETE [DELETE INCOMPLETE INCR. REC. 4=Q6 BRN QSTEP 4?9Q # 4?PB # IF THERE ARE NEWLY OBSOLETE INCRS.(I.E. FILE/APROC & FLIB/FLINC BLOCK 4#92 # ARE PRESENT), RE-CHAIN BLOCKS IN ASCENDING INCR. NO. ORDER & THEN PUT 4#NL # OUT "INCREMENT(S) N1,N2 OBSOLETE ON MT(S) T1 T2" MESSAGES 4*8= # 4*MW YLAST 4B7G HUNTW 3,FILE,APROC 4BM6 BNG 3 NOAPROC [J IF NO NEWLY OBSOLETE INCRS. 4C6Q NXTPROC 4CLB MHUNTW 2,FILE,FINCPROC 4D62 LDX 7 AINCNO(3) [NOTE INCR. NO. IN THIS APROC 4DKL CHAIN 3,2 [CHAIN FILE/APROC & FLIB/FLINC TO 4F5= MHUNTW 1,FLIB,FLINC [ FILE/FINCPROC BLOCK SO THAT REVER 4FJW CHAIN 1,3 [ ORDER OF FLINCS (OR APROCS) 4G4G MHUNTW 3,FILE,APROC 4GJ6 BXU 7 AINCNO(3),NXTPROC [J IF FOUND DIFFERENT APROC TO LAST T 4H3Q [& SO MORE BLOCKS TO RE-CHAIN 4HHB MOUT [NOW OUTPUT MESSAGES 4J32 OUTINCS [OUTPUT LIST OF INCREMENT NOS. 4JGL MFREEW FLIB,FLINC 4K2= OUTTSNS [OUTPUT LIST OF TSNS 4KFW MFREEW FILE,APROC 4K^G MONOUT INCOBSMT2 ["INCREMENT%A %B OBSOLETE ON MT%C %D 4LF6 HUNTW 3,FILE,APROC 4LYQ BPZ 3 MOUT [J IF MORE MESSAGES TO OUTPUT 4M4M ...# 4M8J ...# ENTRY 2 USES THIS SR ENTERING HERE 4M#F ...# 4MDB NOAPROC 4MJ? ... SETNCORE 0,3,FILE,FINTER [BLOCK TO HOLD LIST OF TSNS FOR 4MN8 ... [WHICH BIT BMNCURR NEEDS SETTING IN 4MS5 ... [MAGSTATE WORDS IN INCINDEX 4MY2 LDX 0 AWORK4(2) 4NCL BNZ 0 NOTONLY [J IF >1 RECORDS IN INCINDEX 4NX= STO 5 AWORK4(2) [AWORK4 = 1ST (ONLY) RELIABLE INCR. N 4PBW NOTONLY 4PWG CALL 7 SWRITE [STEPWRITE 4Q8X ... MBC 3,BIREDUMPR,BINSUITRVR,BIUNFINR[CLEAR REDUMP,NOT RETRIEVABLE 4QH# ... [AND UNFINISHED BITS 4QTQ LDCT 0 #240 4R*B ANDX 0 6 [IF B1 OR B3 SET IN REPLY WORD, 4RT2 ORS 0 AINCSTATER(3) [ SET THEM IN AINCSTAT 4S#L LDCT 1 #300 4SS= LDCT 0 #300 4T?W ANDX 0 6 [BOTH B1 & B2 OF REPLY WORD SET IF RE 4TRG SBX 0 1 [ I 4W?6 BNZ 0 STEPREWR [J IF NOT RESTOREABLE INCR. 4WQQ BS 3,BIGENRESR 4X=B [MARK AS SUIT FOR GEN RES 4XQ2 STEPREWR 4XQ3 ...#UNS AMTGR 4XQ4 ...( 4XQ5 ... JBS SGENRES,3,BIGENRESR [ IF NOT A RESTORABLE INCREMENT 4XQ6 ... BC 3,BIRESTBATR [ IT CAN'T BE LAST IN A BATCH 4XQ7 ...SGENRES 4XQ8 ...) 4XQ9 ...#UNS FPARTRES 4XQD ...( 4XQM ... BSXD 0,BINCWRFAIL [IF INCR WRITE FAILED MARK SO IN 4XQW ... ANDX 0 6 [INCINDEX 4XR5 ... BZE 0 NOTWRFAIL 4XR# ... BS 3,BIWFBREAKR 4XRH ...NOTWRFAIL 4XRQ ...) 4XS9 ...#UNS FNSAD2 4XWD ...( 4XXH ... JBC NOENDBAT,,BATCHSTART 4XYM ... JBC NOENDBAT,3,BIENDBATR 4Y2W ... BS ,BATCHFIN [ SET END OF BATCH BIT IN INCWORD 4Y55 ...NOENDBAT 4Y7# ...) 4Y9L ... HUNTW 1,FILE,FGET 4YP= BNG 1 NOFINCK 4^8W LDX 0 INCSIZE(1) 4^NG STO 0 AINCSIZER(3) [SIZE OF DUMP IN BS BLOCKS 5286 LDX 7 INCFILNUM(1) 52MQ LDCT 0 #100 537B ANDX 0 6 53M2 BZE 0 NGENRST [J IF NOT GEN RSTABLE 546L ADN 7 1 [ADD 1 FOR MASTER 54L= STO 7 INCFILNUM(1) 555W NGENRST 55KG STO 7 AINCFILESR(3) [NO OF FILES IN INCR 5656 LDX 0 INCBEGDUMP(1) 56JQ STO 0 AINCSTAT2R(3) [TIME TO DUMP INCR. (TOTAL TIME) 574B STOZ AINCSTAT4R(3) [CLEAR WORDS NOT USED 57J2 STOZ AINCSTAT1R(3) 583L NOFINCK 58H= LDX 5 AMTSR(3) [X5= NO. OF MTS 592W LDN 1 0 [SET COU^ER DOWN MT WORDS 59GG LDN 2 0 [CLEAR "EXTRA MT STATE BITS" WORD 5=26 SETBIT 1,2 ["LAST RELIABLE INCR. ON THIS MT" BIT 5=FQ [BIT BMLASTRV 5=^B BBUS 3,6,NOEOT [J IF NOT WRITE FAIL OR END OF TAPE 5?F2 SETBIT 5,2 [BIT BMNCURR - DUMPER WONT 5?YL [BE DUMPING ON THIS TAPE AGAIN 5#D= NOEOT 5#XW SMO 1 5*CG ORS 2 AMAGSTATER(3) [SET ANY BITS NECESSARY IN MT STATE W 5*X6 ADN 1 INCMAGLEN [UPDATE COUNTER DOWN MT WORD 5BBQ BCT 5 NOEOT [J IF MORE MT WORDS TO LOOK AT 5BWB # 5CB2 # IF HIT END-OF-TAPE OR WRITE FAIL, INSERT TSNS OF MTS INTO FINTER BLOC 5CTL # 5D*= BBUS 3,6,NOEOT1 [J IF NOT HIT END OF TAPE OR WRITE FA 5DSW LDX 5 AMTSR(3) [X5=NO. OF MTS IN THIS INCR. 5F#G MHUNTW 3,FILE,FINTER 5FS6 ALTLENG 3,5,SFINDFINT [LENGTHEN BLOCK FOR TSNS FOR WHICH 5G?Q [ "BMNCURR" NEEDS SETTING 5GRB STEPAGAIN [X3-> LAST RECORD 5H?2 MHUNTW 2,FILE,FINTER 5HQL ADN 2 A1 5J== LDN 1 AMAGR(3) [X1-> START OF MT WORDS IN LAST RECOR 5JPW NXFINT 5K9G LDX 0 0(1) 5KP6 STO 0 0(2) [INSERT TS IN FINTER BLOCK 5L8Q #SKI K6INCEND>99-99 5LNB TRACE 0,INCNOWPR [TSN OF MT NOT NOW NEEDING WPR 5M82 ADN 2 1 5MML ADN 1 INCMAGLEN [UPDATE MODIFIERS 5N7= BCT 5 NXFINT [J IF MORE TSNS TO INSERT 5NLW NOEOT1 5P6G LDX 2 FX2 5PL6 LDX 0 AWORK4(2) 5Q5Q BXE 0 AINCNOR(3),YFIRST [J IF NO RELIABLE PREVIOUS INCRS. 5QKB # 5R52 ...# NOW LOOK AT PREVIOUS (RELIABLE OR 'IN PROGRESS') RECORD AND 5RJL # 1) REMOVE BIT BMLASTRV FOR THOSE TAPES WHICH ARE IN LAST RECORD 5S4= # 2) SET IN FINTER BLOCK TSNS OF THOSE TAPES NOT PRESENT IN LAST RECO 5SHW # 5T3G READAGAIN [READ LAST RECORD AGAIN 5TH6 RBACK 5W2Q READBACK [READ LAST BUT ONE RECORD 5WGB MHUNTW 3,FILE,FRB 5WMJ ... JBS NRFREE,3,BIUNFIN [IGNORE NSUITRV BIT IF INCR IN 5WSQ ... [PROGRESS 5X22 JBS RFREE,3,BINSUITRV [J IF PREV.INC.NOT SUITABLE 5X9S ...NRFREE 5XFL NAME 3,FILE,FWB [X3-> PREVIOUS LAST RELIABLE RECORD 5X^= LDX 5 AMTS(3) [X5= NO. OF MTS IN LAST BUT ONE RECOR 5YDW BZE 5 NOCOMP [J IF NOT MTS 5YYG NXTMT 5^D6 MHUNTW 2,FILE,FRB [X2-> LAST RECORD 5^XQ LDX 0 AMAG(3) [X0= NEXT TSN IN LAST BUT ONE RECORD 62CB LDX 1 AMTS(2) [X1= NO. OF MTS IN LAST RECORD 62X2 MORETSNS 63BL BXE 0 AMAG(2),SAME [J IF FOUND TSN IN LAST RECORD 63W= ADN 2 INCMAGLEN [UPDATE MOD. IN LAST RECORD 64*W BCT 1 MORETSNS [J IF MORE TSNS TO LOOK AT 64TG LDX 2 FX2 65*6 STO 0 ACOMMUNE1(2) [KEEP TSN 65SQ MHUNTW 1,FILE,FWB 66#B SBX 3 1 [X3= MOD. DOWN LAST BUT ONE RECORD 66S2 STO 3 ACOMMUNE2(2) [KEEP MOD. 67?L STO 5 ACOMMUNE3(2) [KEEP NO. OF MTS MOD. IN LAST BUT ONE 67R= MHUNTW 3,FILE,FINTER 68=W LDX 5 ALOGLEN(3) 68QG ADN 5 1 69=6 ALTLENG 3,5,SFINDFINT [LENGTHEN FINTER BLOCK BY 1 WORD 69PQ MHUNTW 3,FILE,FINTER 6=9B LDX 0 ACOMMUNE1(2) 6=P2 SMO 5 6?8L STO 0 A1-1(3) [INSERT TSN AT END OF LIST 6?N= #SKI K6INCEND>99-99 6#7W TRACE 0,INCNOWPR [TSN OF TAPE NO LONGER NEEDING WPR 6#MG LDX 5 ACOMMUNE3(2) [RESTORE X5 6*76 MHUNTW 3,FILE,FWB 6*LQ ADX 3 ACOMMUNE2(2) [AMAG(3) IS LAST TSN DEALT WITH 6B6B [IN LAST BUT ONE RECORD 6BL2 UPDINC 6C5L ADN 3 INCMAGLEN [UPDATE MOD IN LAST BUT ONE RECORD 6CK= BCT 5 NXTMT [J IF MORE MTS 6D4W REWRITE [REWRITE LAST BUT ONE RECORD 6DJG BRN NOCOMP 6F46 SAME 6FHQ BC 3,BMLASTRV [REMOVE LAST RVABLE INCR FROM MT STAT 6G3B [ WORD IN LAST BUT ONE RECORD 6GH2 BRN UPDINC 6H2L RFREE 6HG= FREECORE 3 6H^W BRN RBACK 6JFG # 6J^6 # NOW (STARTING AT THE LAST BUT ONE RECORD IN INCINDEX), READ BACKWARDS 6KDQ # THROUGH INCINDEX SETTING BMNCURR (B5) IN THE AMAGSTATE WORDS OF THOSE 6KYB # MTS WITH THEIR TSN IN FINTER BLOCK. 6LD2 # FINISH WHEN EITHER 6LXL # 1) COME TO BEGINNING OF FILE 6MC= ...# OR 2) NO FINTER ENTRY AT ALL FOUND IN A COMPLETE INCREMENT RECORD. 6MWW # 6NBG NOCOMP 6NW6 MFREEW FILE,FRB 6P*Q MHUNTW 3,FILE,FWB [X3-> LAST BUT ONE RECORD 6PTB MARKWPR 6Q*2 MHUNTW 1,FILE,FINTER 6QSL LDX 2 ALOGLEN(1) 6R#= BZE 2 ZFINT [J IF NO TSNS TO MARK WITH BMNCURR 6RRW SMO FX2 6S?G STOZ ACOMMUNE1 [CLEAR "NON-CURRENT TSNS FOUND" MARKE 6SR6 TSN 6T=Q SMO 2 6TQB LDX 5 A1-1(1) [X5= NEXT TSN IN FINTER BLOCK 6W=2 LDX 0 AMTS(3) [X0= NO. OF MTS IN FWB 6WPL BZE 0 ZFINT [J IF NO MTS 6X9= TNXTSN 6XNW BXE 5 AMAG(3),TSNFOUND [J IF FOUND TSN 6Y8G ADN 3 INCMAGLEN [UPDATE MOD IN FWB 6YN6 BCT 0 TNXTSN [J IF MORE TSNS 6^7Q TESTFINT 6^MB MHUNTW 3,FILE,FWB 7272 BCT 2 TSN [J IF MORE TSNS FROM FINTER BLOCK 72BS ... JBS NZFINT,3,BINSUITRV 72LL SMO FX2 736= LDX 0 ACOMMUNE1 73KW BZE 0 ZFINT [J IF NO TSNS IN FINTER BLOCK IN THIS 745G [ (ASSUME WE HAVE NOW DEALT WITH ALL 74K6 [ RECORDS NECESSARY) 74SY ...NZFINT 754Q LDX 5 AINCNO(3) [X5= INCR. NO. OF THIS RECORD 75JB REWRITE [ENSURE BMNCURRS IN RECORD 7642 MFREEW FILE,FWB 76HL BXE 5 AWORK4(2),YFIRST [J IF NOW BACK TO 1ST INCR. IN INCIND 773= READBACK [READ PREVIOUS RECORD 77GW MHUNTW 3,FILE,FRB 782G NAME 3,FILE,FWB 78G6 BRN MARKWPR [GO & CHECK IF BMNCURRS TO BE INSERTE 78^Q [ IN THIS RECORD 79FB TSNFOUND 79^2 SMO FX2 7=DL STO 5 ACOMMUNE1 [SET NON-ZERO MARKER (MT PRESENT IN W 7=Y= [ BMNCURR IS NOW SET) 7?CW BS 3,BMNCURR [SET WILL NOT BE DUMPED ON BIT 7?XG BRN TESTFINT 7#C6 ZFINT 7#WQ FREECORE 3 [FREE FWB 7*BB YFIRST 7*W2 MFREEW FILE,FINTER 7*Y9 ... BBUS 2,6,NGRST 7B2D ... WIND 7B4M ... CALL 7 SWRITE [IF RESTABLE INCR SET 7B6W ... BS 3,BIFINALR [FINAL BIT IN LAST REC 7B95 ...NGRST 7B?# ... JBS NCLOSE,2,MBEMS [IF EMS ENTRY DONT CLOSE II 7B*L CLOSETOP [CLOSE INCINDEX 7BKD ...NCLOSE 7BT= ADX 4 FX1 7C#W EXIT 4 0 7CB7 ...# 7CCD ...# 7CDP ...# OUTPUTS A BLANK LINE TO THE MONFILE, CALLED ON X7, USES X4. 7CG2 ...# COORDINATES. 7CH? ...# 7CJJ ...OUTBLANK 7CKT ... SBX 7 FX1 7CM6 ... LDN 4 #40 7CNC ... OUTMOND 0,ACOMMUNE1,4 7CPN ... ADX 7 FX1 7CQ^ ... EXIT 7 0 7CSG # 7D#6 # 7DRQ # SETS UP A PARAMETER BLOCK READY FOR 'MONOUT' WITH INCR. NO. AS 1ST 7F?B # PARAMETER AND SERIAL NOS. (ON WHICH INCR. IS TO BE DUMPED) AS 2ND. 7FR2 ...# ON ENTRY, RELEVANT FINC BLOCK IS CALLED FGET. X4 IS S/R LINK. 7G=L # ON EXIT, X1=FX1, X2=FX2. USES X0, X3, X5, X6 & X7. 7GQ= SETMONOUT 7H9W SBX 4 FX1 7HPG ... MHUNTW 3,FILE,FGET [X3-> FGET BLOCK 7J96 LDX 5 INCCOPIES(3) [X5= NO. OF MTS TO DUMP ON 7JNQ LDX 3 INCNO(3) [X3= NO. OF THIS INCREMENT 7K8B OUTBLOCN 11 [GET PARAMETER BLOCK -SHOULD AMPLY CO 7KN2 [ MOST CASES 7L7L OUTPACK 3,1,INCNUM [INC.NO. TO PARAMETER BLOCK 7LM= SBN 5 1 7M6W BNZ 5 SPARAM [J IF >1 TAPE 7MLG OUTNULL [NULL PARAMETER 7N66 BRN PARASENT 7NKQ SPARAM 7P5B LDCT 0 #630 7PK2 STO 0 ACOMMUNE1(2) 7Q4L OUTPARN 1,ACOMMUNE1 [MAKE MT PLURAL 7QJ= PARASENT 7R3W MHUNTW 3,FILE,FGET [X3-> FGET BLOCK 7RHG MHUNTW 2,FILE,FQUAL [X2-> FQUAL BLOCK (USED SIMPLY AS A B 7S36 [ HERE) 7SGQ STOZ 1 [ZEROISE CHAR. COUNT 7T2B ... LDX 5 INCCOPIES(3) [NO OF MTS IN FINC(FGET) 7TG2 NXTSN 7WF= LDX 7 FGETSER(3) [X7 = NEXT TSN IN FGET 7WYW LDN 0 8 7XDG NXOCT 7XY6 LDN 6 0 7YCQ SLL 67 3 7YXB BNZ 6 NZERO [J IF DIGIT NON-ZERO 7^C2 BPZ 4 NONSIG [J IF DIGIT NON-SIGNIFICANT ZERO 7^WL NZERO 82B= ORX 4 GSIGN [ENSURE 'SIGNIFICANT DIGITS' MARKER S 82TW DCH 6 A1(2) [PUT CHAR. INTO FQUAL BLOCK 83*G BCHX 2 £ 83T6 ADN 1 1 [UPDATE COUNT OF CHARS. IN PARAMETER 84#Q NONSIG 84SB BCT 0 NXOCT [J IF MORE CHARS. TO EXTRACT 85#2 ERX 4 GSIGN 85RL LDN 6 #20 86?= DCH 6 A1(2) [INSER3 SPACE CHA$R. 86QW ADN 1 1 [UPDATE CHAR. COUNT 87=G BCHX 2 £ 87Q6 ... ADN 3 FGETLEN [UPDATE MOD DOWN FGET 889Q ... BCT 5 NXTSN [J IF MORE MTS IN FGET 88PB OUTPARAM 1,A1,FILE,FQUAL [PUT TSNS IN OUTPUT PARAMETER BLOCK 8992 ADX 4 FX1 89NL EXIT 4 0 8=8= # 8=MW # 8=RR ...# 8??C ...X1INCEND [ENTRY FROM INCSTART SEGMENT 8?R3 ...# THE DUMPING CODE HAS FINISHED. ONE OR BOTH OF THE INCRS =BHQ ...# BEING PRODUCED HAS BEEN COMPLETED FOR ONE REASON OR ANOTHER =C3B ...# WE LOOK AT EACH FINC IN TURN AND WIND UP THOSE WHICH HAVE =CH2 ...# BIT BINCFIN SET. =D2L ...# =DG= ... MFREE ADATA,CREADL =D^W ... MFREE FILE,FLOCNB =FFG ... BC 2,MBFINAL [SET 'FINAL INC NOT PRODUCED' =F^6 ... JBC NOFERUS2,,BFERUS [J IFNO FERUS SET UP =GDQ ... MHUNTW 3,FILE,FINC =GYB ... JBC WAITFER,3,BINCGENRES =HD2 ... JBC NOFERUS2,3,BINCFIN [ONLY FREE FERUS IF NOT STILL PRODUCIN =HXL ... [A RESTORABLE INCRMENT =JC= ...WAITFER =JWW ... POP WAITFER,,FERUSALT [WAIT TILL CAN ALTER THE FERUS =KBG ... BC ,BFERUS [CLEAR FERUS EXISTS BIT =KW6 ... HUNTMISB 3,FI,FERUS [X3->FERUS =L*Q ... FREECORE 3 [FREE IT =LTB ... VOP ,FERUSALT [RELEASE FERUS ALTERATION SEMA =M*2 ...NOFERUS2 =MSL ... LONGON ADUMPWT [RELEASE ACTS. 'WAITING FOR DUMPER TO =N#= ... [ FINISH INCREMENT' =NRW ... VFREEW FI,FINCCOPY =P?G ... MHUNTW 3,FILE,FABSNB [RENAME FABSNB FOR SAFTEYS SAKE =PR6 ... NAME 3,FI,FDUMPFAB [IN CASE SOMEONE FREES IT =Q=Q ... MHUNTW 3,FILE,FINC [X3->1ST FINC BLOCK =QQB ... JBS Y1ST,3,BINCFIN [J IF THIS INCR NEEDS WINDING UP =R=2 ... HUNT2 3,FILE,FINC,3 [OTHERWISE IT MUST BE THE 2ND =RPL ... JBC (GEOERR),3,BINCFIN =S9= ...Y1ST NAME 3,FILE,FGET [RENAME IT TO IDENTIFY IT =SNW ...# =T8G ...# WE HAVE LOCATED AN INCR WHICH IS TO BE FINISHED OFF. THE =TN6 ...# FINC HAS BEEN RENAMED A FGET BLOCK FOR EASE OF IDENTIFIACTION. =W7Q ...# WE UPDATE THE RECORD IN INCINDEX FOR THIS INCREMENT =WMB ...# =X72 ... LDX 0 CLEANCT =XLL ... SBX 0 INCBEGDUMP(3) =Y6= ... BPZ 0 NMIDNIGHT [J IF NOT DUMPED OVER MIDNIGHT =YKW ... SMO FX1 =^5G ... ADX 0 SCLEANDAY [ADD ON DAY'S WORTH OF CLEANCTS =^K6 ...NMIDNIGHT ?24Q ... STO 0 INCBEGDUMP(3) [TIME TAKEN TO DUMP ?2JB ... LDX 5 INCNO(3) [X5= CURRENT INCR. NO. ?342 ... LDX 6 INCREPLY(3) [X6= REPLY WORD FOR THIS INCR. ?3HL ... CALL 4 UPDATEINDEX [UPDATE INCINDEX ?43= ...# ?4GW ...# AND OUTPUT THE END OF INCREMENT MESSAGE TO ALL OPS CONSOLES ?52G ...# ?5G6 ... CALL 7 OUTBLANK [BLANK LINE TO MONFILE ?5^Q ... CALL 4 SETMONOUT [SET PARAMETER BLOCK FOR MONOUT ?6FB ... INFORM 3,INCFIN,1 [OUTPUT END OF INCR MESSAGE ?6^2 ...# ?D5^ ... MHUNTW 3,FILE,FGET [ ?D9W ...# ?DPG ...# IF THE INCREMENT WAS RESTORABLE WE NOW OUTPUT A MESSAGE SAYING SO ?F96 ...# ?FNQ ... LDCT 4 #300 ?G8B ... LDCT 2 #300 ?GN2 ... ANDX 4 INCREPLY(3) ?H7L ... SBX 4 2 ?HM= ... BNZ 4 NOTEOB [J IF NOT GENERAL RESTOREABLE INCR. ( ?J6W ... [ RESTOREABLE IF B1 & B2 OF REPLY WO ?JLG ... [ BOTH SET) ?K66 ... LDX 2 FX2 ?KKQ ... BS 2,MBFINAL [REMEMBER A FINAL INCREMENT HAS ?L5B ... [BEEN PRODUCED ?L*8 ... BC ,BTOTD [CLEAR TOTAL DUMP BIT ?LK2 ... CALL 4 SETMONOUT [SET PARAMETER BLOCK FOR MONOUT ?M4L ... MONOUT INCSUIT [PUT OUT 'SUITABLE FOR GENERAL RESTOR ?MJ= ... LONGON AFINDUMP [RELEASE ACTS. WAITING FOR GENERAL- ?MS4 ...NOTEOB ?N3W ... FON BSUJWT [RELEASE UNJAMMER (IF WAITING FOR DUM ?P36 ...#UNS JSKI28 ?PGQ ...( ?Q2B ...# ************************************************** ?QG2 ...# IP REDUMP CSS SPECIAL MOD ?Q^L ... SEGENTRY K98INCEND ?RF= ... BRN NOCSSMOD ?RYW ...XY 12HREDUMP ?SDG ...ZY GEOERR 1,REDUMP ?SY6 ... SEGENTRY K97INCEND ?TCQ ... LDX 6 INSTPARAM+1 ?TXB ... ADN 6 1 ?WC2 ... SMO FX1 ?WWL ... LDN 5 XY ?XB= ... INSTPARA ZY,5,6,NOCSSMOD ?XTW ...NOCSSMOD ?Y*G ... SEGENTRY K96INCEND ?YT6 ...# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ?^#Q ...) ?^SB ...# #2#2 ...# SEGMENT INCFIN FINISHES OFF THE TIDYING UP OF INDIVIDUAL #2RL ...# INCREMENTS #3?= ...# #3QW ... DOWN INCFIN,1 [FINISH TIDYING UP INCR. #4=G ... CALL 7 OUTBLANK [BLANK LINE TO MONFILE #4CN ...#UNS IDC #4JW ...#SKI #4Q6 ... MFREEW FILE,FGET [FAREWELL TRUSTY FINC(FGET) #59Q ... HUNTW 3,FILE,FINC #5PB ... BNG 3 NOFINCS [J IF NO MORE INCS THAT MAY WANT #692 ... [TIDYING UP #6NL ... JBS Y1ST,3,BINCFIN [J IF MORE TIDYING NEEDED #78= ...NOFINCS #7MW ...# ****************************************************************** #87G ...# #8M6 ...# WE GO ACROSS TO INCFIN TO FINISH TIDYING UP INCREMENT #96Q ...# #9LB ... ACROSS INCFIN,2 #NQQ ...# #R8W ...# #RH? ...# THE SEGMENT OVERFLOWED AND THE CODE FOR THE K2 ENTRY POINT #RTN ...# HAS BEEN REMOVED TO INCCHECK #S86 ...# ENTRY 2. THE ONE PIECE OF THIS SEGMENT WHICH IS STILL NEEDED IS AN #SMQ ...# OCCASIONAL ENTRY TO SR UPDATEINDEX AT LABEL NOAPROC. THIS IS DONE #T7B ...# VIA ENTRY TO K3INCEND. #WL= ...# #X5W ...# #XKG ...# #Y56 ...X3INCEND #YJQ ... BS 2,MBEMS [SHOW EMS ENTRY #^4B ... LDN 4 UP [RELATIVISED RETUNR LINK #^J2 ... BRN NOAPROC #^RS ...UP UP *23L ...# *2H= ...# *32W ... MENDAREA 40,K99INCEND *3GG ...# *426 ...#END ^^^^ ...01252630000400000000 </code> Last modified: 17/01/2024 11:55by 127.0.0.1 Log In