14 22FL SEG CREALEX,864,EDWARD MOON,BMAP 4 22_= [ 11 23DW SEGENTRY K1CREALEX,START 11 23YG SEGENTRY K2CREALEX,OPENLEX 14 24D6 [ THE NEXT SECTION SETS UP THE LEXICON 21 24XQ [ READING THROUGH THE DICTIONARY WE SET UP FILE/FWB.BLKS WITH THE LEX 21 25CB [ RECORDS IN THE SAME ORDER AS IN THE DICTIONARY BUF,COMPLETE EXCEPT FOR 10 25X2 [ THE SUPERIOR USER POINTER 21 26BL [ CORRESPONDING TO EACH LEXICON RECORD THERE IS A RECORD WITH THE SUP 10 26W= [ USERS NAME IN A FILE/FRB 21 27*W [ HAVING SET UP ALL THE FRBS AND FWBS THE DICTIONARY IS CLOSED AND THE F 21 27TG [ BLOCK OF EACH KIND IS PUT AT THE END OF THE CHAIN SO THAT UNUSED LE 12 28*6 [ RECORDS WILL BE IN THE LAST BLOCK 16 28SQ [ THE LEXICON IS THEN OPENED (CREATED OR EMPTIED) 21 29#B [ STARTING WITH THE FIRST SUPERIOR USER IN THE FRBS WE SEARCH FOR HIS 21 29S2 [ LEXICON RECORD, CALCULATE THE POINTER AND THEN SEARCH THROUGH THE FRBS 20 2=?L [ FOR ALL OCCURRENCES OF THIS SUPERIOR USER.EACH TIME,THE POINTER IS 20 2=R= [ PUT IN AND THE SUPERIORS NAME STOZED TO AVOID TREATING HIM AGAIN 13 2?=W [ AT THE END OF EACH FRB IT IS FREED 18 2?QG #DEF NR=127 [NO OF LEXICON RECS/BLK 17 2#=6 #DEF SR=4 [NO OF WDS/LEX REC. 21 2#PQ #DEF SG=4 [SIZE OF GAP AT START OF LEX B.S. BLK 7 2*9B WNR +SR*NR+SG 4 2*P2 SYST 9 2B8L 12HSYSTEM 5 2BN= XFMAPP 8 2C7W #HAL +FILE+FMAPP,0 8 2CMG NLEX +10 4 2D76 NMAS 9 2DLQ 12HMASTER 5 2F6B NLEX2 7 2FL2 12HLEXICON 7 2G5L 1,1,4HB1 4 2GK= NFB 9 2H4W LDX 3 FPTR(3) 4 2HJG NFB1 9 2J46 LDX 0 ATYPE(3) 17 2JHQ BXGE 0 CACT,(4) [J IF NO MORE FWBS 8 2K3B SRL 0 12 9 2KH2 SBN 0 FILE+FWB 8 2L2L BNZ 0 NFB 7 2LG= EXIT 4 1 5 2L_W START 4 2MFG [ 18 2M_6 [**************************************************** START 16 2NDQ [ ENTRY POINT DOWN FROM ADDICT TO SET UP THE FRB'S 13 2NYB [ AND FWB'S FOR CREATING THE LEXICON. 4 2PD2 [ 7 2PXL FASTREWI 1 15 2QC= STEP [DUMMY RECORD 4 2QWW NBS 19 2RBG LDN 7 2 [SET UP ZEROIZED FRB & FWB 5 2RW6 NOTHER 11 2S*Q SETNCORE GSBS,2,FILE,FWB 8 2STB STOZ A1(2) 8 2T*2 LDN 0 A1(2) 9 2TSL LDN 1 A1+1(2) 9 2W#= MOVE 0 GSBS-1 9 2WRW BCT 7 NOTHER 10 2X?G NAME 2,FILE,FRB 19 2XR6 LDN 5 SG [X5 -> TO POS IN FRB AND FWB 4 2Y=Q ST 6 2YQB STEP 8 2_=2 BZE 3 STX 10 2_PL LDX 0 CUSER-A1(3) 18 329= BPZ 0 ST [IGNORE UPDATE RECORDS 10 32NW MHUNTW 1,FILE,FRB 11 338G LDN 6 CSUPUSER-A1(3) 7 33N6 SMO 5 10 347Q LDN 7 A1+HUSER(1) 17 34MB MOVE 6 3 [SUPERIOR USER IN FRB 10 3572 MHUNTW 2,FILE,FWB 10 35LL LDN 6 CUSER-A1(3) 7 366= SMO 5 10 36KW LDN 7 A1+HUSER(2) 15 375G MOVE 6 3 [USER IN FWB 16 37K6 LDCT 0 #400 [PSEUDO-USER BIT 10 384Q ANDX 0 CPSEU-A1(3) 7 38JB SMO 5 11 3942 STO 0 A1+HSUPUSER(2) 8 39HL ADN 5 SR 8 3=3= SMO FX1 8 3=GW TXU 5 WNR 8 3?2G BCS ST 8 3?G6 BRN NBS 4 3?_Q STX 15 3#FB CLOSETOP [DICTIONARY 10 3#_2 MHUNTW 2,FILE,FWB 8 3*DL LDCT 0 #400 9 3*Y= STO 0 A1+1(2) 7 3BCW LDN 7 0 4 3BXG P1 9 3CC6 LDX 3 FPTR(2) 15 3CWQ CALL 4 NFB1 [GET NEXT FWB 8 3DBB BRN PEND 9 3DW2 DEX 7 ATYPE(3) 7 3F*L ADN 7 1 17 3FT= LDX 2 3 [KEEP PTR TO LAST FWB 8 3G#W BRN P1 4 3GSG PEND 16 3H#6 BZE 7 NSUP2 [ONLY ONE BLOCK 10 3HRQ HUNT 3,FILE,FRB 8 3J?B CHAIN 3,2 10 3JR2 HUNT 2,FILE,FWB 18 3K=L DEX 7 ATYPE(2) [PUT IN NO. OF LAST BLOCK 8 3KQ= CHAIN 2,3 8 3L9W BRN NSUP2 4 3LPG [ 17 3M96 [*********************************************** OPENLEX 16 3MNQ [ ENTRY POINT DOWN FROM ADDICT TO OPEN THE LEXICON 14 3N8B [ EMPTYING OR RECREATING IT AS NECESSARY. 4 3NN2 [ 5 3P7L OPENLEX 11 3PM= SETNCORE 10,2,FILE,FABSNB 8 3Q6W ADN 2 A1 8 3QLG ADN 1 NLEX 8 3R66 MOVE 1 10 17 3RKQ OPENDIR XBR,GENERAL,QUERY [ GET :MASTER OPEN AT 18 3S5B TESTREP2 NOFILE,NOFILE,NAME,XBR [ ENTRY FOR LEXICON 10 3SK2 MHUNTW 1,FILE,ENT 9 3T4L LDEX 4 ECOPS(1) 13 3TJ= JMBS UNCLEAN,1,BEBM,BEBMUWB 9 3W3W BZE 4 NBSPACE 7 3WHG BACKSPACE 5 3X36 NBSPACE 11 3XGQ SETNCORE 6,2,FILE,FLOCNB 8 3Y2B ADN 1 NLEX2 8 3YG2 ADN 2 A1 7 3Y_L MOVE 1 6 14 3_F= OPENRELN XBR,WRITE,EMPTY [LEXICON 9 3_YW #SKI K6ADDICT>199-199 9 42DG TESTRPN2 OK,XBR 9 42Y6 BRN NOBLOCKS 5 43CQ UNCLEAN 9 43XB LDX 3 ENUSE(1) 8 44C2 ADN 4 1(3) 7 44WL FREECORE 1 8 45B= BZE 3 NDEL 8 45TW SKIP ,0(3) 4 46*G NDEL 19 46T6 DELETE [ DELETE EXISTING ENTRY SO 18 47#Q BCT 4 NDEL [ WE CAN CREATE NEW ONE 5 47SB NCLOS 14 48#2 CLOSETOP [:MASTER 5 48RL NOFILE 16 49?= CREATEB 1 [SET KEEP ONLINE 21 49QW LDCT 0 #104 [AND DO NOT BREAK IN ON BIT ARE SET 9 4==G STO 0 CEINF2(1) 9 4=Q6 LDN 0 FILESIZE 9 4?9Q STO 0 CEINF3(1) 11 4?PB OPEN XBR,WRITE,CREATE 9 4#92 #SKI K6ADDICT>199-199 9 4#NL TESTRPN2 OK,XBR 5 4*8= NOBLOCKS 20 4*MW VOP 2,FTABWAIT [ CLEAR SEMAPHOR TO LET 'SERIAL' 21 4B7G TOPFCB2 1 [ SLAVE RUN.'FRIG' FCB TO GET CLOSE 20 4BM6 LDN 0 FCBLEN [ TO ALTER LENGTH OF FILE TO NO. 19 4C6Q STO 0 FBLMOD(1) [ OF BLOCKS ACTUALLY USED BY 20 4CLB MBS 1,BFALTB,BFALTR [ SETTING REEL & BLOCKS ALTERED 5 4D62 UP 4 4DKL [ 16 4F5= [******************************************** NSUP2 15 4FJW [ WE NOW GO ON TO FILL IN EACH USER'S POINTER 9 4G4G [ TO HIS SUPERIOR USER. 4 4GJ6 [ 5 4H3Q NSUP2 8 4HHB LDX 2 FX2 8 4J32 LDN 5 SG 5 4JGL NSUP1 10 4K2= HUNT 1,FILE,FRB 14 4KFW BNG 1 STOP [FINISHED 7 4K_G SMO 5 10 4LF6 LDX 0 A1+HUSER(1) 17 4LYQ BZE 0 NSUP [THIS USER DEALT WITH 7 4MDB SMO 5 10 4MY2 LDN 6 A1+HUSER(1) 10 4NCL LDN 7 ACOMMUNE7(2) 18 4NX= MOVE 6 3 [KEEP NEXT SUPERIOR USER 17 4PBW HUNT 3,FILE,FWB [X3 -> CURRENT FWB 4 4PWG PNAM 20 4QB6 LDN 7 SG [X7 IS WD ADDRESS IN CURRENT FWB 4 4QTQ TNAM 7 4R*B ADX 3 7 15 4RT2 TESTNAMX 3,A1+HUSER(3),ACOMMUNE7(2),NSAM,4 19 4S#L [JUMP TO NSJM IF NOT LEXICON RECORD FOR SUPERIOR 7 4SS= SBX 3 7 9 4T?W LDEX 6 ATYPE(3) 17 4TRG SLL 6 9 [NO OF CURRENT BLOCK 16 4W?6 ADX 6 7 [SET UP HSUPUSER 4 4WQQ PP1 21 4X=B HUNT 3,FILE,FWB [FIND FIRST FWB AGAIN FOR ORIGIONAL 7 4XQ2 LDX 7 5 14 4Y9L [FIND ALL INFERIORS OF CURRENT SUPERIOR USER 4 4YP= PP 7 4_8W SMO 7 20 4_NG ORS 6 A1+HSUPUSER(3) [PUT SUP USER PTR IN LEX RECORD 7 5286 SMO 7 19 52MQ STOZ A1+HUSER(1) [MARK SUPERSOR AS DEALT WITH 4 537B NSU1 8 53M2 ADN 7 SR 8 546L SMO FX1 8 54L= TXU 7 WNR 16 555W BCS SIU [NOT END OF BLOCK 4 55KG NSU2 9 5656 LDX 1 FPTR(1) 9 56JQ LDX 0 ATYPE(1) 9 574B BXGE 0 CACT,NSUP 8 57J2 SRL 0 12 9 583L SBN 0 FILE+FRB 8 58H= BNZ 0 NSU2 15 592W CALL 4 NFB [GET NEXT FWB 8 59GG BRN XBR 8 5=26 LDN 7 SG 4 5=FQ SIU 7 5=_B ADX 1 7 15 5?F2 TESTNAMX 3,ACOMMUNE7(2),A1+HUSER(1),NSU,4 7 5?YL SBX 1 7 18 5#D= BRN PP [ANOTHER INFERIOR.FOUND 4 5#XW NSU 7 5*CG SBX 1 7 8 5*X6 BRN NSU1 4 5BBQ NSAM 7 5BWB SBX 3 7 8 5CB2 ADN 7 SR 8 5CTL SMO FX1 8 5D*= TXU 7 WNR 8 5DSW BCS TNAM 8 5F#G CALL 4 NFB 8 5FS6 BRN NSAM1 8 5G?Q BRN PNAM 5 5GRB NSAM1 8 5H?2 LDX 1 FX1 15 5HQL TESTNAMX 3,NMAS(1),ACOMMUNE7(2),NOSUP,4 14 5J== [IF SUPERIOR IS MASTER SET POINTER TO ZERO 7 5JPW LDN 6 0 10 5K9G HUNT 1,FILE,FRB 8 5KP6 BRN PP1 4 5L8Q NSUP 8 5LNB ADN 5 SR 8 5M82 SMO FX1 8 5MML TXU 5 WNR 16 5N7= BCS NSUP1 [NOT END OF BLOCK 16 5NLW MFREE FILE,FRB [FREE SUP USERS 19 5P6G HUNT 1,FILE,FWB [PUT FWB BEHIND OTHER FWBS 9 5PL6 LDEX 4 ATYPE(1) 15 5Q5Q BZE 4 NSUP3 [FIRST TIME 9 5QKB LDX 4 ATYPE(1) 7 5R52 SBN 4 1 8 5RJL FIND 2,4 5 5S4= NSUP4 8 5SHW CHAIN 1,2 8 5T3G BRN NSUP2 5 5TH6 NSUP3 7 5W2Q LDX 2 1 9 5WGB NS LDX 3 FPTR(2) 14 5X22 CALL 4 NFB1 [NEXT FUB 16 5XFL BRN NSUP4 [WHEN FINISHED 7 5X_= LDX 2 3 8 5YDW BRN NS 4 5YYG [ 16 5_D6 [************************************************ 17 5_XQ [ ALL POINTERS HAVE BEEN FILLED IN AND THE FRB'S FREED 17 62CB [ - NOW WE WRITE AWAY THE FWB'S AND CLOSE THE LEXICON. 4 62X2 [ 4 63BL STOP 10 63W= HUNT 1,FILE,FWB 16 64*W BNG 1 STOP1 [ALL WRITTEN AWAY 21 64TG WRITEB [WRITE AWAY COMPLETE BLOCK OF LEXICON 16 65*6 BRN STOP [WRITE NEXT BLOCK 5 65SQ STOP1 14 66#B CLOSETOP [LEXICON 4 66S2 [ 4 67?L [ 16 67R= [************************************************* 17 68=W [ NOW THAT THE LEXICON IS AVAILABLE WE CAN JOIN UP ANY 18 68QG [ RESTORED LIMBS - COULDN'T BEFORE BECAUSE THEIR SUPERIORS 19 69=6 [ WEREN'T KNOWN. JOINING UP A LIMB INVOLVES UPDATING THE NAME 16 69PQ [ RECORD TO SHOW CURRENT SIZE OF RESTORED DIRECTORY 16 6=9B [ (FROM THE FCB) AND THAT IT IS INDEXED,THE BLOCKS 15 6=P2 [ RECORD TO CONTAIN THE BLOCK NOS. FROM THE FCB 18 6?8L [ AND REPLACING THE INDEX RECORD WITH THE FINDEXF DETAILS 4 6?N= [ 17 6#7W [ IF AUTONOMOUS ACTIVITY IS PROCESSING SERIAL,NO FILES 17 6#MG [ WILL BE OPEN ELSE P. R. HAS BEEN DONE AND AT LEAST 16 6*76 [ TWO FILES WILL BE OPEN - IF ONLY TWO OPEN THERE 13 6*LQ [ ARE NO MORE LIMBS TO BE JOINED UP. 4 6B6B [ 11 6BL2 SETNCORE 6,3,FILE,FLOCNB 11 6C5L ... SETNCORE 10,3,FILE,FABSNB 9 6CK= STOZ AWORK1(2) 7 6D4W NGN 0 1 9 6DJG STO 0 AWORK2(2) 6 6F46 NEXTPRUSER 7 6FHQ FILENUMB 7 10 6G3B BZE 7 NOPRUSELEFT 7 6GH2 SBN 7 2 10 6H2L BZE 7 NOPRUSELEFT 6 6HG= #UNS AMTGR 20 6H_W FILEMOVE 2,0 [ MVE. NXT. RESTORED USER TO TOP 6 6JFG #UNS AMTGR 4 6J_6 #SKI 20 6KDQ FILEMOVE -1,0 [ MVE. NXT. RESTORED USER TO TOP 7 6KYB TOPFCB2 2 10 6LD2 MHUNT 3,FILE,FABSNB 9 6LXL LDN 4 FME1(2) 9 6MC= LDN 5 A1+1(3) 20 6MWW MOVE 4 3 [ PUT USERNME. IN FABSNB FOR OPEN 7 6NBG LDN 0 4 8 6NW6 STO 0 A1(3) 7 6P*Q TOPFCB 3 4 6PTB [ 16 6Q*2 [************************************************* 16 6QSL [ NOW CHECK IF RESTORED LIMB IS :SYSTEM - IF IT IS 15 6R#= [ WE MUST FIRST REPLACE THE RESTORED SERIAL AND 16 6RRW [ INCINDEX BY THE UP-TO-DATE VERSIONS OPEN TO THIS 14 6S?G [ ACTIVITY(JOIN THEM UP TO :SYSTEM JUST AS 14 6SR6 [ :SYSTEM IS JOINED UP TO ITS SUPERIOR). 4 6T=Q [ 14 6TQB TESTNAMX 3,SYST(1),FME1(3),NOWOPDIR,4 8 6W=2 LDX 2 FX2 19 6WPL LDN 6 2 [ 2 FILES - SERIAL + INCINDEX 19 6X9= STO 6 AWORK2(2) [ TO UPDATE. COUNT IS USED 18 6XNW NXTUPDATE [ FOR DEPTH ( 1 AND 2) 19 6Y8G BZE 6 NOWOPDIR [ J. IF BOTH FILES UPDATED 10 6YN6 MHUNT 3,FILE,FLOCNB 6 6_7Q #UNS AMTGR 20 6_MB SBS 2 AWORK1(2) [ SHOW SERIAL & INCIND. ONLINE 9 7272 LDX 2 AWORK2(2) 8 72LL SFCB 2,1 9 736= LDN 4 FLOC1(1) 8 73KW LDN 5 A1(3) 7 745G MOVE 4 6 19 74K6 GETDIR 3 [ POSTION ON ENTRY IN :SYSTEM 9 754Q MFREE FILE,ENT 20 75JB BRN NOWDOUPDAT [ TO UPDATE NAME + BLKS. RECS. 5 7642 NOWOPDIR 8 76HL LDX 2 FX2 7 773= NGN 0 1 20 77GW STO 0 AWORK2(2) [ TO SHOW NOT SERIAL OR INCINDEX 7 782G FINDNAME 16 78G6 OPENDIR XBR,GENERAL,ERASING [ OPEN SUPERIOR 9 78_Q TESTRPN2 OK,XBR 6 79FB #UNS AMTGR 4 79_2 ( 10 7=DL MHUNTW 3,FILE,ENT 21 7=Y= LDEX 0 ECOPS(3) [ CHECK IF OFFLINE DIR FROM GEN RES 17 7?CW SBS 0 AWORK1(2) [ SET MARKER IF IT IS 20 7?XG BZE 0 NOWDOUPDAT [ AND JUMP IF NO BLOCKS RECORD 4 7#C6 ) 7 7#WQ BACKSPACE 6 7*BB NOWDOUPDAT 18 7*W2 READAGAIN [ UPDATE RECORD IN FRB 18 7B*L LDX 4 AWORK2(2) [ USE COUNT FOR DEPTH IF 19 7BT= BPZ 4 USECOUNT [ SERIAL OR INCINDEX UPDATE 18 7C#W LDN 4 1 [ ELSE DEPTH OF DIR. IS 1 5 7CSG USECOUNT 8 7D#6 SFCB 4,3 9 7DRQ LDX 5 FINFC(3) 16 7F?B ANDN 5 #77 [ SEE IF INDEXED 9 7FR2 LDX 7 FBLMOD(3) 9 7G=L SBN 7 FBLKS-A1 10 7GQ= ADN 7 INDEXREC-A1 19 7H9W SETUPCOR 7,2,FILE,FWB [ LONG ENOUGH FOR INDEX REC. 10 7HPG SBN 7 INDEXREC-A1 10 7J96 MHUNTW 3,FILE,FRB 16 7JNQ SLL 7 15 [ SIZE OF FILE 16 7K8B ADN 7 1 [ AND ONLINE MARK 16 7KN2 STO 7 ECOPS(3) [ PUT IN ECOPS 17 7L7L BZE 5 NOINDX [ J. IF NOT INDEXED 18 7LM= STO 5 EINDEX(3) [ ELSE PUT IN INDEX NO. 17 7M6W BS 3,BEINDEX [ AND MARK AS INDEXED 19 7MLG NOINDX [(RESTORE LEFT IT UNINDEXED) 8 7N66 LDX 2 FX2 18 7NKQ LDX 0 AWORK2(2) [ CHECK IF SER. OR INCI. 15 7P5B BPZ 0 NOPRBITS [ J. IF N0T 19 7PK2 BC 3,BETEMP [ ELSE CLEAR TEMP BIT TO SHOW 17 7Q4L NOPRBITS [ RESTORE SUCCESSFULL 16 7QJ= NAME 3,FILE,FWB [ THE NAME RECORD 17 7R3W MHUNTW 3,FILE,FWB [THE FIRST ONE !!! 18 7RHG NAME 3,FILE,FTAB [ SO REPLACE IGNORES IT 15 7S36 REPLACE [ NAME RECORD 14 7SGQ MFREE FILE,FWB [ ^ 4 7T2B [ 16 7TG2 [************************************************** 16 7T_L [ THE RESTORED SERIAL AND INCINDEX WILL HAVE BEEN 16 7WF= [ MAPPED SO THEIR BLOCKS RECORD ARE FREEBAXED TO 15 7WYW [ AVOID A BACKING STORE LEAK. DIRECTORIES WILL 9 7XDG [ NOT HAVE BEEN MAPPED. 4 7XY6 [ 9 7YCQ LDX 5 AWORK2(2) 17 7YXB BNG 5 NOFRBWANTD [ J. IF A DIRECTORY 16 7_C2 READ [ BLOCKS RECORD 10 7_WL MHUNTW 3,FILE,FRB 10 82B= NAME 3,BSTB,FULLB 16 82TW FREEBAX [ UNWANTED BLOCKS 10 83*G MFREE BSTB,EMPTYB 9 83T6 BRN NOSTEP 6 84#Q NOFRBWANTD 17 84SB STEP [ PAST BLOCKS RECORD 5 85#2 NOSTEP 8 85RL SFCB 4,3 10 86?= MHUNTW 2,FILE,FTAB 18 86QW NAME 2,FILE,FWB [ FOR NEW BLOCKS RECORD 9 87=G LDN 5 BSPRE(3) 9 87Q6 LDN 6 ERES(2) 8 889Q SRL 7 15 19 88PB ADN 7 1 [ MOVE IN RESIDENCE NO. AND 17 8992 SMO 7 [ BLOCK NUMBERS FROM 16 89NL MOVE 5 0 [ FCB AND THEN 7 8=8= ADN 7 1 8 8=MW STO 7 A1(2) 6 8?7G #UNS AMTGR 4 8?M6 ( 8 8#6Q LDX 2 FX2 18 8#LB LDX 0 AWORK1(2) [ CHECK IF OFFLINE DIR 19 8*62 BZE 0 NSERTFOROFF [ WANT TO DO INSERT IF IT IS 4 8*KL ) 19 8B5= REPLACE [ REPLACE NEW BLOCKS RECORD 6 8BJW #UNS AMTGR 4 8C4G ( 9 8CJ6 BRN REPDONE 6 8D3Q NSERTFOROFF 17 8DHB INSERT [ NEW BLOCKS RECORD 5 8F32 REPDONE 4 8FGL ) 8 8G2= SFCB 4,2 9 8GFW LDX 0 FINFC(2) 8 8G_G ANDN 0 #77 18 8HF6 BZE 0 NOTIND [ J. IF FILE NOT INDEXED 7 8HYQ NGN 6 1 19 8JDB SBN 0 INDEXDIR [ SET X6 -VE. IF DIRECTORY 15 8JY2 BZE 0 NDEXDIR [ ELSE ZERO 19 8KCL LDN 6 0 [ (DIRECTORY WILL ALREADY BE 18 8KX= NDEXDIR [ INDEXED-SERIAL WILL NOT 6 8LBW #UNS AMTGR 4 8LWG ( 8 8MB6 SMO FX2 9 8MTQ LDX 0 AWORK1 20 8N*B BZE 0 NOTIFOFF [ J. IF OFFLINE DIR- NO IND. REC 4 8NT2 ) 6 8P#L STEP 6 8PS= #UNS AMTGR 5 8Q?W NOTIFOFF 8 8QRG SFCA 4,2 8 8R?6 FFINDEXB 2,2 10 8RQQ MHUNTW 3,FILE,FWB 8 8S=B LDN 5 A1(3) 18 8SQ2 LDN 4 A1(2) [ MOVE INDEX RECORD FROM 16 8T9L SMO ALOGLEN(3) [ FINDEXF TO FWB 7 8TP= MOVE 4 0 6 8W8W #UNS AMTGR 4 8WNG ( 8 8X86 LDX 2 FX2 18 8XMQ LDX 0 AWORK1(2) [ CHECK IF OFFLINE DIR 18 8Y7B BZE 0 NEEDNSERT [ INSERT NEEDED IF IT IS 4 8YM2 ) 9 8_6L BNG 6 REPFORDIR 6 8_L= #UNS AMTGR 6 925W NEEDNSERT 18 92KG INSERT [ INSERT INDEX RECORD FOR 16 9356 BRN NOTIND [ SERIAL - ELSE 21 93JQ REPFORDIR [ REPLACE DIRECTORY'S INDEX RECORD 7 944B REPLACE 5 94J2 NOTIND 9 953L MFREE FILE,FWB 9 95H= LDX 6 AWORK2(2) 18 962W BNG 6 NOWCLOSE [ J. IF JUST UPDATED DIR. 18 96GG LDN 0 1 [ ELSE REDUCE COUNT FOR 17 9726 SBS 0 AWORK2(2) [ SERIAL AND INCINDEX 16 97FQ SBN 6 1 [ AND JUMP TO DO 15 97_B BRN NXTUPDATE [ NEXT UPDATE 5 98F2 NOWCLOSE 15 98YL MFREE FILE,ENT [ TIDY UP. 6 99D= #UNS AMTGR 19 99XW STOZ AWORK1(2) [ RESET OFFLINE DIR MARKER 15 9=CG CLOSETOP [ SUPERIOR 20 9=X6 CLOSEFRBS [ CLOSEFRBS RESTORED DIR AS IT'S 17 9?BQ BRN NEXTPRUSER [ FCB IS INCOMPLETE 6 9?WB NOPRUSELEFT 10 9#B2 MFREE FILE,FLOCNB 5 9#TL UP 4 9**= [ 4 9*SW [ 9 9B#G NOSUP GEOERR 1,NOSUPER 4 9BS6 XBR 9 9C?Q GEOERR 1,CREALEX 4 9CRB [ 12 9D?2 MENDAREA BMAPGAP,K99CREALEX 4 9DQL #END 6 ____ ...622706770002