22FL #OPT K0USELEX=K0LEXICON 22^= #OPT K6USELEX=K6LEXICON 23DW #LIS K0USELEX 23YG #SEG USELEX5 [ TONY HAMILTON 24D6 8HUSELEX 24XQ [ 25CB SEGENTRY K1USELEX,READLEX 25X2 SEGENTRY K2USELEX,NEWUSER 26BL SEGENTRY K3USELEX,REEFLEX 26W= [ 27*W READLEX [ENTRY FROM READLEX MACRO 27TG [ 28*6 HUNT 3,FILE,ADICT [GET -> TO BLOCK WITH USER NAME 28SQ NAME 3,FILE,ASELFLEX [RENAME BLOCK AS ASELFLEX BLOCK 29#B ALTLEND 3,4 [AND LENGTHEN LOGICAL LENGTH TO 4 29S2 CALL 4 SR [SEARCH FOR RECORD 2=?L BRN NOUSE [USER NOT FOUND 2=R= TOPFCA 1 [X1 -> FCA OF LEXICON 2?=W LDX 6 FREADBLOCK(1) [BL. PTR. IN LEXICON 2?QG SBN 6 FBLKS 2#=6 SLL 6 9 2#PQ ADX 6 5 2*9B LDCT 0 #600 2*P2 ANDX 0 GSUPUSER(2) [PICK UP PSEUDO AND TEMP BITS 2B8L ORX 6 0 2BN= STO 6 GSUPUSER(3) [PUT IN FILE/ASELFLEX 2C7W ANSOK 2CMG UP 2D76 NOUSE 2DLQ FREECORE 3 [FREE ASELFLEX BLOCK 2F6B SETREP2 NOUSER 2FL2 UP 2G5L [ 2GK= NEWUSER [ENTRY FROM NEWUSER MACRO 2H4W [ 2HJG HUNT 3,FILE,ASUPLEX 2J46 LDX 4 GSUPUSER(3) 2JHQ SLL 4 6 [TO TEST IF -> IS ZERO 2K3B BNZ 4 R0 2KH2 GEOERR 1,NOSUPUSE 2L2L R0 2LG= TOPFCA2 1 2L^W SMO FBACKPOINT(1) 2MFG LDX 3 BPTR(1) 2M^6 LDX 4 FBLMOD(3) 2NDQ ADN 4 A1-1 [SET READ POINTER TO LAST BLOCK 2NYB R1 2PD2 STO 4 FREADBLOCK(1) 2PXL R6 2QC= SCURFUB 3,,R5 2QWW LDN 5 0 2RBG R2 2RW6 ADN 5 4 [DONT USE FIRST RECORD 2S*Q BXE 5 BSBS,NB [NO SPACE IN THIS BLOCK 2STB SMO 5 2T*2 LDX 0 GLUSER(3) [RECORD IN USE 2TSL BNZ 0 R2 2W#= R3 2WRW HUNT 2,FILE,ASUPLEX 2X?G LDN 4 GLUSER(2) 2XR6 ADN 5 A1(3) 2Y=Q MOVE 4 4 [MOVE NEW RECORD IN 2YQB FREECORE 2 [FREE ASUPLEX 2^=2 FUWBSET ,XNOT 2^PL UP 329= NB 32NW LDX 0 A1+1(3) 338G BNG 0 XL [LAST MAIN BLOCK OF LEXICON 33N6 TOPFCA2 1 347Q LDX 4 FREADBLOCK(1) 34MB SBN 4 1 [STEP BACK READ POINTER 1 BLOCK 3572 BRN R1 35LL R5 366= GETAFURB 36KW BRN R6 375G XL 37K6 SETNCORE 512,3,FILE,FWB [SET UP NEW BLOCK 384Q LDN 4 A1(3) 38JB LDN 5 A1+1(3) 3942 STOZ A1(3) [ZEROIZE THE FRB 39HL MOVE 4 511 3=3= HUNT 2,FILE,ASUPLEX 3=GW LDN 4 GLUSER(2) 3?2G LDN 5 A1+4(3) [MOVE IN NEWUSER TO SECOND RECORD 3?G6 MOVE 4 4 [SPACE 3?^Q FREECORE 2 3#FB WRITEB [WRITE NEW BLOCK TO BACKING STORE 3#^2 UP 3*DL XNOT GEOERR 1,LBLOKLOS 3*Y= [ 3BCW REEFLEX [ENTRY FROM FREELEX MACRO 3BXG [ 3CC6 CALL 4 SR [FIND RECORD 3CWQ BRN NOUSER 3DBB STOZ GLUSER(2) 3DW2 STOZ GSUPUSER(2) 3F*L FREECORE 3 [ASELFLEX BLOCK 3FT= FUWBSET ,XNOT 3G#W UP 3GSG NOUSER 3H#6 GEOERR 1,NOUSER 3HRQ 3J?B 3JR2 [ THIS S/R SEARCHES THROUGH LEXICON FOR THE USERNAME IN THE FIRST FILE/ 3K=L [ ASELFLEX BLOCK. ON FINDING IT X2 -> RECORD IN A FILE/FRB WHICH STARTS 3KQ= [ A1+[5] WORDS BEFORE. IF NOT FOUND IT EXI TS TO AN ERROR BRANCH 3L9W [ X3 -> ASELFLEX. 3LPG SR SBX 4 FX1 3M96 FASTREWI 1 3MNQ SRA 3N8B SCURFUB 2,,SRB 3NN2 HUNT 3,FILE,ASELFLEX 3P7L LDX 5 GLUSER(3) 3PM= BPZ 5 SRX [J IF WORD DOES NOT START WITH CHAR 3Q6W LDN 5 0 3QLG SR1 3R66 ADN 5 4 3RKQ BXE 5 BSBS,SR2 3S5B ADN 2 4 3SK2 TESTNAMX 3,GLUSER(2),GLUSER(3),SR1 3T4L ADX 4 FX1 3TJ= EXIT 4 1 3W3W SRB 3WHG GETAFURB 3X36 BRN SRA 3XGQ SRX 3Y2B ADX 4 FX1 3YG2 EXIT 4 0 3Y^L SR2 3^F= STEPFBLOCK ,SRX [STEP BLOCK POINTERS 3^YW BRN SRA 42DG MENDAREA 25,K99USELEX 42Y6 #END ^^^^ ...64777437000100000000