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