(George Source)
Macros used: BC, BS, BSOFF, BXGE, CHAIN, COOR1, EMSCORE, FINDCORE, FIXTRA, FPUT, FREEBAX, FREECORE, FSHCODE, FSHSKIP, FSHTEST, GEOERR, INFORM, JENVNOT, MENDAREA, MHUNT, MHUNTW, MOD, MONOUT, NAME, OUTBLOCK, OUTNUM, SEGENTRY, SETNCORE, TRACE, 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