{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: SETLIST864)}}
====== SETLIST864 ======
(George Source)
**Macros used:** [[george:macro:BC|BC]], [[george:macro:BS|BS]], [[george:macro:BSOFF|BSOFF]], [[george:macro:BXGE|BXGE]], [[george:macro:CHAIN|CHAIN]], [[george:macro:COOR1|COOR1]], [[george:macro:EMSCORE|EMSCORE]], [[george:macro:FINDCORE|FINDCORE]], [[george:macro:FIXTRA|FIXTRA]], [[george:macro:FPUT|FPUT]], [[george:macro:FREEBAX|FREEBAX]], [[george:macro:FREECORE|FREECORE]], [[george:macro:FSHCODE|FSHCODE]], [[george:macro:FSHSKIP|FSHSKIP]], [[george:macro:FSHTEST|FSHTEST]], [[george:macro:GEOERR|GEOERR]], [[george:macro:INFORM|INFORM]], [[george:macro:JENVNOT|JENVNOT]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MOD|MOD]], [[george:macro:MONOUT|MONOUT]], [[george:macro:NAME|NAME]], [[george:macro:OUTBLOCK|OUTBLOCK]], [[george:macro:OUTNUM|OUTNUM]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:TRACE|TRACE]], [[george:macro:UP|UP]]
22FL #SEG SETLIST70 [JOHN BAILEY
22^= #LIS K0SETLIST>K0EMS>K0ALLGEO
23DW 8HSETLIST
23YG #
24D6 SEGENTRY K1SETLIST,QK1SETLIST
24MY ... SEGENTRY K2SETLIST,SWAPFREE
24XQ #
25CB #SKIP G4
25X2 (
26BL SEGENTRY K99SETLIST [USED IN SWAPSPACE MACRO.
26W= +0
27*W MAXLFN +16
27TG MAXBSA #4001 [
28*6 )
28B9 ...#UNS ANOTALLOC
28C# ...(
28DC ... FSHSKIP B
28FG ...(
28GK ...#
28HN ...# TABLE FOR NOTALLOC MACRO
28JR ...#
28KW ... FIXTRA ANOTALRES
28L^ ... +0
28N4 ... +0
28P7 ... +0
28Q= ...)
28R* ...)
28RS ...MINWELL +50
28S? ...MAXWELL +500
28SQ QK1SETLIST
29#B # CHECK SHEET SIZE, ALTER IF NECCESSARY
29BK ... JENVNOT NOTMEEP,MEEP [ J. IF NOT MEEP
29DS ... LDX 0 BSSS [ SHEET SIZE
29H3 ... SBN 0 1024 [ CHECK IF 1K
29K= ... BZE 0 NOTMEEP [ J. IF IT IS
29L* ... LDN 0 1024 [ ELSE RESET SHEETSIZE
29MD ... STO 0 BSSS [ TO BE 1K FOR MEEP
29NH ... MONOUT BMWRNGSHSZ [ AND INFORM OPERATORS
29PN ...NOTMEEP
29S2 NGN 6 1
2=?L NGN 7 1
2=R= STOZ AWORK1(2) [USED TO HOLD LFN.
2?=W LDX 3 ALFTP [POINTER TO ALFTABLE.
2?QG LDX 5 ALOGLEN(3)
2#=6 ADX 5 3
2#PQ PA LDX 1 A1(3)
2*9B BNG 1 PB [JUMP IF THIS FILE NON EXISTENT.
2*P2 LDCT 4 #200
2B8L ANDX 4 A1(3)
2BN= BZE 4 PB [JUMP IF NOT SWAP FILE.
2C7W LDN 6 0
2CMG ANDN 1 #7777
2D76 ADX 1 AFDTP [X1 POINTS TO FILE DESCRIPTION.
2DLQ LDCH 0 A1(1)
2F6B LDX 4 A1+2(1) [WORDS OR BLOCKS IN FILE IF DRUM
2FL2 SBN 0 9
2G5L BZE 0 PC [JUMP IF 1964 DRUM
2GK= SBN 0 16
2H4W BZE 0 PCA [JUMP IF 2851
2HJG LDX 4 A1+4(1) [SEGMENTS/CYLINDER
2J46 PCA SLL 4 7 [CONVERT TO WORDS
2JHQ PC TXL 4 BSSS
2K3B BCC PB [JUMP IF SHEET < FILE OR SHEET AREA.
2KH2 STO 4 BSSS [OTHERWISE THIS IS NEW SHEET SIZE.
2L2L LDN 7 0 [SET MARKER.
2LG= LDX 0 AWORK1(2)
2L^W STO 0 AWORK2(2) [SAVE LFN TO OUTPUT LATER.
2MFG PB LDN 0 1 [UPDATE L.F.N
2M^6 ADS 0 AWORK1(2)
2NDQ ADN 3 2
2NYB TXL 3 5
2PD2 BCS PA [JUMP IF NOT END OF BLOCK.
2PXL BZE 6 PD
2QC= GEOERR 1,SWAPFILE
2QWW PD BNG 7 PE
2RBG # MESSAGE JSTLST1 OUTPUT
2RW6 LDN 4 4
2S*Q OUTBLOCK 4 [CREATE PARAMETER BLOCK
2STB LDX 4 BSSS
2T*2 SRL 4 10
2TSL OUTNUM 4,0
2W#= LDX 4 AWORK2(2) [LFN
2WRW OUTNUM 4,0
2X?G INFORM 1,JSTLST1,1 [OUTPUT THE MESSAGE
2XR6 # EACH LOGICAL FILE IS CHECKED TO ENSURE THAT:-
2Y=Q # 1 FOR DRUM -FILE SIZE IS A MULTIPLE OF SHEET SIZE
2YQB # 2 FOR EDS/FDS NUMBER OF WORDS/CYLINDER IS A MULTIPLE OF SHEET SIZE
2^=2 # IF NOT THE FILE DESCRIPTION (FDTABLE) IS ALTERED AND A MESSAGE
2^PL # IS OUTPUT TO TELL THE OPERATORS HOW MUCH OF THE FILE HAS BEEN
329= # REMOVED
32NW #
338G PE LDX 7 BSSS
33N6 LDX 3 ALFTP
347Q LDX 5 ALOGLEN(3)
34MB ADX 5 3
3572 STO 5 AWORK1(2)
35LL STOZ AWORK2(2)
366= XA LDX 2 A1(3)
36KW BNG 2 XK [J. IF FILE NONEXISTENT.
375G LDCT 4 #200
37K6 ANDX 4 A1(3)
384Q BZE 4 XK [J. IF NOT SWAP FILE.
38JB ANDN 2 #7777
3942 ADX 2 AFDTP [POINTER TO FILE DESCRIPTION TABLE.
39HL LDCH 6 A1(2)
3=3= SBN 6 9
3=GW BZE 6 XC [J. IF DRUM.
3?2G SBN 6 16
3?G6 BZE 6 XCA [JUMP IF 2851
3?^Q LDX 4 A1+4(2)
3#FB SLL 4 7 [WORDS/SEEK AREA
3#^2 XB SBX 4 7
3*DL BZE 4 XF [J. IF SHEET SIZE FACTOR OF FILEWIDTH
3*Y= BPZ 4 XB
3BCW ADX 4 7
3BXG SRL 4 7
3CC6 SBS 4 A1+4(2) [UPDATE SEGMENTS/SEEK AREA
3CWQ MPY 4 A1+3(2) [NUMBER OF BLOCKS LOST
3DBB SBS 5 A1+1(3) [UPDATE BLOCKLETS COUNT
3DW2 LDX 0 5
3F*L SRL 0 3 [X0= K WORDS LOST
3FT= BRN XE1
3G#W XCA LDX 0 A1+2(2) [BLOCKS IN FILE
3GSG SLL 0 7 [WORDS
3H#6 LDX 4 0
3HRQ XCB SBX 0 7
3J?B BZE 0 XF [JUMP IF FILE SIZE MULTIPLE OF
3JR2 BPZ 0 XCB
3K=L ADX 0 7 [X0 HOLDS WORDS LOST
3KQ= SBS 0 4 [X4 -NEW FILE SIZE IN WORDS
3L9W SRL 4 7 [BLOCKS IN FILE
3LPG STO 4 A1+2(2) [UPDATE FDTABLE
3M96 SRL 0 10 [UNITS OF 1K FOR MESSAGE
3MNQ BRN XE
3N8B XC LDX 0 A1+2(2) [DRUM PART.
3NN2 XD SBX 0 7
3P7L BZE 0 XF [J. IF SHEET SIZE FACTOR OF FILE SIZE
3PM= BPZ 0 XD
3Q6W ADX 0 7
3QLG SBS 0 A1+2(2) [UPDATE WORDS/SEEK AREA
3R66 SRL 0 10 [UNITS OF 1K WORDS.
3RKQ LDX 4 A1+2(2)
3S5B SRL 4 7
3SK2 XE STO 4 A1+1(3) [UPDATE BLOCKETS CT. IN ALFTABLE.
3T4L XE1 SMO FX2
3TJ= STO 0 AWORK3
3W3W # MESSAGE JSTLST2 OUTPUT
3WHG LDN 4 4
3X36 OUTBLOCK 4 [CREATE PARAMETER BLOCK
3XGQ LDX 4 AWORK2(2) [LFN
3Y2B OUTNUM 4,0
3YG2 LDX 4 AWORK3(2) [AMOUNT REDUCED IN K
3Y^L OUTNUM 4,0
3^F= INFORM 1,JSTLST2,1 [OUTPUT MESSAGE
3^YW XF LDX 7 BSSS
42DG XK LDX 2 FX2
42Y6 LDN 0 1
43CQ ADS 0 AWORK2(2) [UPDATE LFN.
43XB ADN 3 2
44C2 TXL 3 AWORK1(2)
44WL BCS XA [BACK TO DO IT ALL AGAIN.
45B= LDX 3 ALFTP [POINTER TO ALF TABLE
45TW LDN 7 0
46*G #SKI K6SETLIST>499-499
46T6 TRACE 3,ALF
46XP ...#UNS FSHTEST
472# ...#SKI
474X ...(
477G ... FSHSKIP B
47=5 ...(
47#Q ...T2 BXGE 7 ALOGLEN(3),ZSWSP [J. IF END OF ALF TABLE.
47BN ...)
47DL ...)
47GJ ... FSHCODE B,XFSHBBSFREE
47JG ...(
47LD ...T2 BXGE 7 ALOGLEN(3),SWAPFREE [J IF END OF /ALFTABLE
47NB ...XFSHBBSFREE
47Q# ...)
47SB #SKI K6SETLIST>599-599
48#2 TRACE 7,ALF MOD
48RL SMO 7
49?= LDX 4 A1(3)
49QW BNG 4 T6 [J. IF LOGICAL FILE NON-EXISTENT.
4==G LDX 5 BSBS4
4=?2 ...#UNS FSHTEST
4=?G ...(
4=#2 ... FSHCODE A,NOTINMCA
4=#G ...(
4=*2 ... LDX 0 7
4=*G ... SBN 0 8 [ CHECK IF RES. 4
4=B2 ... BZE 0 T6 [ OMIT RES 4 IM M/C A IN TEST ENVIR.
4=BG ...NOTINMCA
4=C2 ...)
4=CG ...)
4=D2 ... FSHCODE B,XFSHBBS1A
4=DG ...(
4=F2 ... LDCT 0 #200
4=FG ... SMO 7
4=G2 ... ANDX 0 A1(3)
4=GG ... BNZ 0 XFSHBBS1 [J IF SWAP FILE
4=H2 ... LDN 5 FSHBSBLOCKS [64 BLOCKS FOR FILESTORE RESIDENCE
4=HG ...XFSHBBS1
4=J2 ...#UNS FSHTEST
4=JG ...(
4=K2 ... BZE 0 XFSHBBS1A [ J. IF F/S RES
4=KG ... LDX 0 7
4=L2 ... SBN 0 8 [ CHECK IF RES 4
4=LG ... BNZ 0 T6 [ IGNORE SWAP RES IF NOT RES 4 IN M/C B
4=M2 ...)
4=MG ...XFSHBBS1A
4=N2 ...)
4=NG ... FSHSKIP
4=P2 ...(
4=Q6 BSOFF BSBITS,T2A
4?9Q SMO 7
4?PB LDX 5 A1+1(3)
4#92 #SKI K6SETLIST>399-399
4#NL TRACE 5,FILE SIZ
4*8= LDX 4 BSSS [X4=WORDS/SHEET
4*MW LDCT 0 #200
4B7G SMO 7
4BM6 ANDX 0 A1(3)
4C6Q BNZ 0 Q1 [JUMP IF SWAP FILE
4CLB LDX 4 BSBS [OTHERWISE X4=WORDS/BLOCK
4D62 Q1 SRL 4 7 [BLOCKLETS/SHEET OR BLOCK
4DKL DVS 4 4 [X5=NUMBER OF BLOCKS OR SHEETS IN FIL
4F5= LDN 1 24
4FJW DVS 4 1 [NO.OF WORDS
4G4G BZE 4 T3
4GJ6 ADN 5 1 [ROUND UP
4H3Q T3 SMO BSBS4
4H?J ...)
4HHB T2A ADN 5 BSRLEN-A1
4J32 EMSCORE 5
4JGL FINDCORE 2
4K2= NAME 2,BSTB,BSLIST
4KFW SRL 7 1
4K^G STO 7 BACK1(2) [LOG FILE NO
4LF6 SLL 7 1
4LYQ LDX 1 5
4MDB T3A SMO 2
4MY2 STOZ A1-1(1)
4NCL BCT 1 T3A
4NX= NGN 4 1
4PBW STO 4 BACK2(2) [SET UP
4PWG STO 4 BSRLEN(2) [EMPTY
4QB6 SMO 7
4QTQ LDX 5 A1+1(3) [NO OF BKTS
4R*B LDX 4 BSSS
4RT2 LDCT 0 #200
4S#L SMO 7
4SS= ANDX 0 A1(3)
4T?W BNZ 0 Q2
4TRG LDX 4 BSBS
4W?6 Q2 SRL 4 7
4WQQ DVS 4 4
4X=B STO 5 A1+3(2) [NO OF BLKS
4XQ2 SMO 7
4Y9L LDX 4 A1(3)
4YP= ANDN 4 #7777 [MOD FOR FDTABLE
4^8W LDX 1 AFDTP [POINTER TO FD TABLE
4^NG SMO 4
5286 LDCH 5 A1(1) [DEVICE TYPE
52MQ SRL 5 1 [TURN
537B ERN 5 1 [INTO
53M2 ANDN 5 3 [LETHARGY
546L STO 5 A1+4(2)
546X ...#UNS ANOTALLOC
5478 ...(
547F ... FSHSKIP B
547Q ...(
5483 ...#
548# ...# MARK BSLIST BLOCKS FOR DO NOT ALLOCATE RESIDENCES
548K ...#
548W ... FIXTRA K100SETLIST [USED BY NOTALLOC MACRO
5497 ... BRN NOTAL3 [BRANCH NULLED OUT BY NOTALLOC
549D ...#
549P ...#UNS FSHTEST
54=2 ...(
54=? ... FSHCODE B,NOTINB
54=J ... BRN NOTAL3
54=T ...NOTINB
54?6 ...)
54?C ... LDN 1 0 [CLEAR WORD MODIFIER
54?N ... LDX 4 BACK1(2)
54?^ ... SBN 4 24
54#= ... BNG 4 NOTAL1 [J IF RESIDENCE NO. < 24
54#H ... ADN 1 1 [INCREASE WORD MODIFIER
54#S ... SBN 4 24
54*5 ... BNG 4 NOTAL1 [J IF RESIDENCE NO. < 48
54*B ... ADN 1 1 [INCREASE WORD MODIFIER
54*M ... SBN 4 24
54*Y ...NOTAL1
54B9 ... ADN 4 24 [ADJUST SHIFT FACTOR
54BG ... SMO FX1
54BR ... LDX 6 ANOTALRES(1) [PICK UP RELEVANT WORD IN TABLE
54C4 ... SMO 4
54C* ... SLL 6 0 [SHIFT UNTIL REQUIRED BIT IN BIT 0
54CL ... BPZ 6 NOTAL3 [J IF BIT NOT SET
54CX ... LDCT 0 #200 [IS IT SWAPFILE
54D8 ... SMO 7
54DF ... ANDX 0 A1(3)
54DQ ... BZE 0 NOTAL2 [NO -SO OK TO MARK
54F3 ... LDN 5 2 [YES -SO ERROR
54F# ... LDX 4 BACK1(2) [RESIDENCE NO
54FK ... OUTBLOCK 5
54FW ... OUTNUM 4,0
54G7 ... INFORM 1,JSTLST3,1 [OUTPUT ERROR MSG
54GD ... MHUNT 2,BSTB,BSLIST [RELOCATE BSLIST
54GP ... BRN NOTAL3
54H2 ...NOTAL2
54H? ... LDCT 0 #200 [SET BIT 1 (BSMARK) TO MARK DO NOT
54HJ ... ORS 0 A1+4(2) [ALLOCATE
54HT ...NOTAL3
54J6 ...#
54JC ... FIXTRA K101SETLIST
54JN ...#
54J^ ...)
54K= ...)
54L= LDCT 0 #200 [J. IF NOT MARKED AS A SWAP FILE.
555W SMO 7
55KG ANDX 0 A1(3)
5656 BZE 0 T4
56JQ LDCT 0 #400 [SET MARKER IN LETHARGY WORD.
574B ORS 0 A1+4(2)
57BR ... LDN 0 BWELL
57P8 ... STO 0 BSRESERVE(2) [SET RESERVE TANK =BWELL
583L BRN T5
584? ...#
584Y ...# ALLOCATE SIZE OF RESERVE TANK AS 1% OF SIZE OF RESIDENCE
585K ...# WITH MIN SIZE 50 BLOCKS AND MAX 500
586= ...#
586X ...T4 LDX 1 FX1
587J ... LDN 0 100 [CALC 1% OF
5889 ... LDX 5 BSTOT(2) [SIZE OF RESIDENCE
588W ... DVS 4 0
589H ... LDX 0 5 [SAVE IN X0
58=8 ... SBX 5 MINWELL(1) [LESS THAN 50 BLOCKS
58=T ... BPZ 5 TT6 [NO
58?G ... LDX 5 BSTOT(2) [IS SIZE OF RESIDENCE
58#7 ... SBX 5 MINWELL(1) [LESS THAN 50 BLOCKS
58#S ... BPZ 5 TT4 [NO
58*F ...#
58B6 ...# RESIDENCE LESS THAN 25K
58BR ...#
58CD ... LDN 5 2 [OUTPUT WARNING
58D5 ... LDX 4 BACK1(2)
58DQ ... OUTBLOCK 5 [MSG
58FC ... OUTNUM 4,0
58G4 ... INFORM 1,JSTLST4,1
58GP ... MHUNT 2,BSTB,BSLIST
58HB ...#
58J3 ...TT4 LDX 0 MINWELL(1) [SET RESERVE TANK TO 50 BLOCKS
58JN ...TT5 STO 0 BSRESERVE(2)
58KF ... FSHCODE B,NOTFSHB
58MN ...(
58PX ... STOZ A1(2) [ BSPOI = 0 FOR F/S RES IN MACH. B
58S6 ... NGX 0 BSTOT(2) [SET BSFRE=BSTOT FOR FS RES IN
58W* ...NOTFSHB
58YJ ...) [ MACHINE B, OTHERWISE NEGATE
599H ...T5 NGS 0 BSFREE(2) [MACHINE B OTHERWISE NEGATE
59GG CHAIN 2,BMISC+1
5=26 T6 ADN 7 2
5=FQ BRN T2
5=H3 ...#
5=J# ...TT6 SBN 5 450 [IS RESERVE TANK
5=KK ... BNG 5 TT5 [GREATER THAN 500 BLOCKS
5=LW ... LDX 0 MAXWELL(1) [YES SO SET TO 500 BLOCKS
5=N7 ... BRN TT5
5=PJ ...SWAPFREE
5=PY ...#UNS FSHTEST
5=Q# ...(
5=QN ... FSHCODE A,NOTLOOP1
5=R4 ...(
5=RD ... BS 2,BFSHACTB [ SWAP ACT TO M/C B
5=RS ... FPUT
5=S8 ... COOR1 [ TO GET CHAINS SWAPPED
5=SJ ... LDN 7 0 [ REINIT. ALFTABLE POINTER
5=SY ... BRN T2 [ TO SET UP /BSLISTS IN M/C B
5=T# ...NOTLOOP1
5=TN ...)
5=W4 ... FSHCODE B,NOTLOOP2
5=WD ...(
5=WS ... BC 2,BFSHACTB [ SWAP ACT BACK TO M/C A
5=X8 ... FPUT
5=XJ ... COOR1 [ AND GET CHAINS SWAPPED AGAIN
5=XY ...NOTLOOP2
5=Y# ...)
5=YN ...)
5=^B #
5?F2 # FREE ALL BACKING STORE ON SWAP FILES
5?YL #
5#D= T7 LDX 7 BSSS [SHEET SIZE
5#XW LDX 3 ALFTP
5*CG LDX 5 ALOGLEN(3)
5*X6 ADX 5 3
5BBQ STO 5 AWORK1(2)
5BWB STOZ AWORK2(2)
5CB2 SETNCORE 512,2,BSTB,FULLB
5CTL YC LDX 0 A1(3)
5D*= BNG 0 YA
5DSW LDCT 4 #200
5F#G ANDX 4 A1(3)
5FS6 BZE 4 YA
5G?Q SMO FX2
5GRB LDX 0 AWORK2 [LOGICAL FILE NO.
5H?2 STO 0 A1+1(2)
5H?T ...#UNS FSHTEST
5H#N ...(
5H*H ... FSHCODE A,NSMACA
5HBB ...(
5HC9 ... LDX 0 A1+1(2)
5HD4 ... SBN 0 4 [ CHECK IF RESIDENCE 4 AND IF SO
5HDX ... BZE 0 YA [ IGNORE IT IN M/C A IN TEST ENVIR.
5HFQ ...NSMACA
5HGK ...)
5HHD ... FSHCODE B,NSMACB
5HJ? ...(
5HK6 ... LDX 0 A1+1(2)
5HK^ ... SBN 0 4 [ CHECK IF RESIDENCE 4 AND IF NOT
5HLS ... BNZ 0 YA [ IGNORE IT IN M/C B IN TEST ENVIR.
5HMM ...NSMACB
5HNG ...)
5HP* ...)
5HQL SRL 7 7 [SHEET SIZE IN BLOCKLETS.
5J== LDX 5 A1+1(3) [NO. OF BLOCKLETS IN FILE.
5JPW DVS 4 7 [X5= NO. OF SHEETS IN FILE.
5K9G #SKI K6SETLIST>199-199
5KP6 BNZ 4 XER [ERROR IF A REMAINDER.
5L8Q LDN 6 0
5LNB XG LDN 4 510
5M82 STO 4 A1(2) [NO. OF BLOCKS TO BE FREED.
5MML TXL 4 5
5N7= BCS XL
5NLW STO 5 A1(2) [IF LESS THAN 510 THIS TIME.
5P6G XL LDN 0 2
5PL6 ADS 0 A1(2) [UPDATE RECORD HEADER
5Q5Q XH STO 6 A1+2(2) [INSERT SHEET NO.
5QKB SBN 5 1
5R52 BZE 5 XI [J. IF END OF FILE.
5RJL ADN 2 1
5S4= ADX 6 7 [UPDATE SHEET NO.
5SHW BCT 4 XH [J. IF BLOCK NOT YET FULL.
5T3G XI FREEBAX
5TH6 MHUNTW 2,BSTB,EMPTYB
5W2Q NAME 2,BSTB,FULLB [OTHERWISE RENAME BLOCK
5WGB BZE 5 YA
5X22 BRN XG [AND START AGAIN.
5XFL YA LDX 1 2
5X^= LDX 2 FX2
5YDW LDN 0 1
5YYG ADS 0 AWORK2(2) [UPDATE LFN.
5^D6 ADN 3 2
5^XQ TXL 3 AWORK1(2)
62CB BCC YB
62X2 LDX 2 1
63BL LDX 7 BSSS
63W= BRN YC
64*W YB FREECORE 1
64M= ...#SKIP G4
64QB ...(
64TG # THIS SECTION CALCULATES THE TOTAL NO OF SHEETS AVAILABLE FOR
65*6 # SWAP SPACE - NOT COUNTING THOSE RESERVED FOR FAILURES - CONVERTS
65SQ # IT TO A NO. OF PAGES & STORES IT IN EFSWAPSP
66#B #
67R= LDCT 4 0 [INIT MAX LFN
68=W LDCT 5 #400 [INIT MIN LFN
68QG LDN 6 0
69=6 LDN 3 BMISC [BASE OF MISCELLANEOUS CHAIN
69PQ ZS2 LDX 3 FPTR(3) [NEXT BLOCK
6=9B TXU 3 CXMI [J WHEN WE HAVE BEEN RIGHT ROUND
6=P2 BCC ZS4
6?8L LDX 0 ATYPE(3)
6?N= SRL 0 12
6#7W SBN 0 BSTB+BSLIST [IGNORE ALL EXCEPT BSTB/BSLIST BLKS
6#MG BNZ 0 ZS2
6*76 LDX 0 A1+4(3)
6*LQ BPZ 0 ZS2 [IGNORE UNLESS IT REFERS TO SWAPFILE
6B6B TXL 5 BACK1(3) [COMPARE LFN WITH MIN
6BL2 BCS ZS3
6C5L LDX 5 BACK1(3)
6CK= ZS3 TXL 4 BACK1(3) [COMPARE LFN WITH MAX
6D4W BCC ZS3A
6DJG LDX 4 BACK1(3)
6F46 ZS3A
6FHQ ADX 6 A1+1(3) [ACC TOTAL NO OF SHEETS FOR SWAPPING
6G3B BVS (GEOERR) [ERROR IF OVERFLOW
6GH2 LDX 7 A1+3(3) [SIZE OF FILE
6H2L LDX 0 ASHEETSIZE [CONVERT TO PAGE NO.
6HG= SRL 0 10
6H^W MPY 7 0
6JFG BNZ 7 (GEOERR)
6J^6 TXL 0 MAXBSA(1) [ERROR IF FILE EXCEEDS PERMITTED SIZE
6KDQ BCC (GEOERR)
6KYB BRN ZS2
6LD2 ZS4 LDX 0 ASHEETSIZE
6LXL SRL 0 10 [NO OF PAGES PER SHEET
6MC= MPY 6 0 [CONVERT TOTAL NO OF SHEETS TO PAGES
6MWW BNZ 6 (GEOERR)
6NBG LDX 0 K99SETLIST(1)
6NW6 BZE 0 ZS5 [ JUMP IF NO SWAPSPACE MACRO.
6P*Q LDX 6 7
6PTB MPY 6 0 [ MULTIPLY BY PARAMETER, AND
6Q*2 SRA 67 7 [ DIVIDE BY 128
6QSL BNZ 6 ZSGR
6R#= BZE 7 ZSGR
6RRW BRN ZS5
6S?G ZSGR
6SR6 GEOERR 1,SWAPSPAC
6T=Q ZS5
6TQB STO 7 EFSWAPSP
6W=2 BNG 5 (GEOERR) [ERROR IF NO SWAPFILE
6WPL STO 5 EMINSSLFN [STORE MIN LFN ALLOCATED AS SWAPSPACE
6X9= SBX 4 5 [DIFFERENCE BETWEEN MAX & MIN
6XNW TXL 4 MAXLFN(1) [ERROR IF TOO LARGE
6Y8G BCC (GEOERR)
6YN6 )
6YXY ...ZSWSP
6YY? ...#UNS FSHTEST
6YYL ...(
6YY^ ... FSHCODE A,NIFINB
6Y^# ...(
6Y^M ... LDX 2 FX2
6^22 ... BS 2,BFSHACTB [ PUT ACT INTO M/C B
6^2* ... FPUT
6^2N ... COOR1 [ AND GET CHAINS ETC SWAPPED
6^33 ... BRN T7 [ TO REPEAT FREEBAXES IN M/C B
6^3B ...NIFINB
6^3P ...)
6^44 ... FSHCODE B,NIFINA
6^4C ...(
6^4Q ... LDX 2 FX2
6^55 ... BC 2,BFSHACTB [ RETURN ACT TO M/C A
6^5D ... FPUT
6^5R ... COOR1 [ TO SWAP CHAINS ETC AGAIN
6^66 ...NIFINA
6^6F ...)
6^6S ...)
6^7Q UP
6^MB #
7272 #SKI K6SETLIST>199-199
72LL XER GEOERR 1,SHEETSIZ
736= #
73KW MENDAREA 20,K98SETLIST
745G #
74K6 #END
^^^^ ...035443100003