{{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]]
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