{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: USELEX5)}}
====== USELEX5 ======
(George Source)
**Macros used:** [[george:macro:ALTLEND|ALTLEND]], [[george:macro:ANSOK|ANSOK]], [[george:macro:BXE|BXE]], [[george:macro:FREECORE|FREECORE]], [[george:macro:FUWBSET|FUWBSET]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GETAFURB|GETAFURB]], [[george:macro:HUNT|HUNT]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:NAME|NAME]], [[george:macro:NEWUSER|NEWUSER]], [[george:macro:READLEX|READLEX]], [[george:macro:SCURFUB|SCURFUB]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SETREP2|SETREP2]], [[george:macro:STEPFBLOCK|STEPFBLOCK]], [[george:macro:TESTNAMX|TESTNAMX]], [[george:macro:TOPFCA|TOPFCA]], [[george:macro:TOPFCA2|TOPFCA2]], [[george:macro:UP|UP]], [[george:macro:WRITEB|WRITEB]]
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