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: FFFNORM7)}} ====== FFFNORM7 ====== (George Source) **Macros used:** [[george:macro:BXE|BXE]], [[george:macro:BXU|BXU]], [[george:macro:CHNUMCO1|CHNUMCO1]], [[george:macro:FINDWFL|FINDWFL]], [[george:macro:FREECORE|FREECORE]], [[george:macro:IET|IET]], [[george:macro:IETS|IETS]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNT|MHUNT]], [[george:macro:P|P]], [[george:macro:PHOTO|PHOTO]], [[george:macro:R|R]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETREP|SETREP]], [[george:macro:SETREP2|SETREP2]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:T|T]], [[george:macro:TESTMOVE|TESTMOVE]], [[george:macro:TESTREP|TESTREP]], [[george:macro:TESTRPN2|TESTRPN2]], [[george:macro:UP|UP]], [[george:macro:UPPLUS|UPPLUS]], [[george:macro:V|V]], [[george:macro:VFREE|VFREE]], [[george:macro:WORKNUMB|WORKNUMB]] <code - FFFNORM7.txt>22FL #LIS K0FFFNORM>K0ALLGEO>0 22^= #SEG FFFNORM7 [ J BILLINGHAM 23DW # 23YG # FANTASTICALLY FAST FNORM. 24D6 # ------------------------- 24XQ # 25CB # THIS SEGMENT CONVERTS AN UN-QUALIFIED <FILE-DESCRIPTION> HELD IN A 25X2 # FILE/FNAME BLOCK INTO AN ABSOLUTE NAME IN A FILE/FABSNB BLOCK USING 26BL # THE MINIMUM NUMBER OF COORDINATIONS (NORMALLY NONE). 26W= # 27*W # EXITS ARE AS FOLLOWS - 27TG # 28*6 # DOWN+2 ALL IS WELL, FABSNB SET UP, REPLY 'OK' SET. 28SQ # 29#B # DOWN+1 SOMETHIG WRONG, NO FABSNB SET UP, NO ERROR MESSAGE. 29S2 # 2=?L # REPLY 'NAMEFORM' - A GENUINE SYNTAX ERROR 2=R= # REPLY 'ADJUNCTS' - LOOKS IF ADJUNCTS ARE PRESENT ( NOT CATERED FOR 2?=W # REPLY 'CHNUMERR' - ERROR IN A NUMBER SOMEWHERE. 2?QG # 2#=6 8HFFFNORM 2#PQ # 2*9B SEGENTRY K1FFFNORM,N1FFFNORM [ONLY ENTRY POINT 2*P2 # 2B8L # 2BN= # NUMBER CONVERSION ROUTINE. WORKS FASTEST IF THE NUMBER IS DECIMAL. 2C7W # OTHERWISE A CPB/CUNI MUST BE SET UP AND ONE OF THE CHNUMCON ROUTINES 2CMG # ENTERED. NOTE THAT ANY ERROR REQUIRES THE MESSAGE SUPPRESSED BECAUSE 2D76 # ONLY THE ESSENTIAL DETAILS OF THE CPB/CUNI ARE SET UP. 2DLQ # ENTERED AT NUMCON1 TO START AT CURRENT CHARACTER, NUMCON2 TO START 2F6B # AT NEXT CHARACTER. [X0] AND [X2] ARE UPDATED PROPERLY. 2FL2 # 2G5L NUMCON1 2GK= # 2H4W SBX 6 FX1 2HJG STO 6 AWRK1(1) 2J46 LDN 5 0 2JHQ LDX 6 2 [WE MUST SET 2K3B SLC 6 2 [ACOM5 TO THE 2KH2 SBN 6 1 [RELATIVE CHARACTER 2L2L SRC 6 2 [ADDRESS OF START IN 2LG= SBX 6 AWORK2(1) [CASE NON-NUMERIC AND 2L^W STO 6 ACOM5(1) [WE HAVE TO START AGEN 2MFG LDX 6 0 2M^6 ADN 6 1 2NDQ STO 6 ACOM3(1) [SAVE CHAR COUNT ALSO 2NYB LDN 6 0 2PD2 BNZ 0 N2 2PXL BRN M [ERROR NO MORE 2QC= # 2QWW NUMCON2 2RBG # 2RW6 SBX 6 FX1 2S*Q STO 6 AWRK1(1) 2STB LDN 5 0 2T*2 STO 2 ACOM5(1) 2TSL LDX 6 AWORK2(1) 2W#= SBS 6 ACOM5(1) [SAVE CHAR ADDRESS 2WRW STO 0 ACOM3(1) [AND CHAR COUNT 2X?G LDN 6 0 2XR6 N1 BZE 0 M [ERROR IF NO MORE LEFT 2Y=Q LDCH 7 0(2) 2YQB BCHX 2 £ 2^=2 SBN 0 1 2^PL N2 LDN 4 #31 329= SBS 7 4 32NW BZE 4 N9 [END IF RP 338G ADN 4 3 33N6 BZE 4 N9 [END FI COMMA 347Q ADN 4 3 34MB BZE 4 N9 [END IF SLASH 3572 CDB 5 7 [CONVERT 35LL BCC N1 [J IF OK 366= # 36KW # TURNS OUT THAT THE EXPRESSION WAS NOT DECIMAL AFTER ALL. WE MUST DO A 375G # CHNUMCON WHICH INVOLVES SETTING UP A UNI-PARAMETER BLOCK. 37K6 # 384Q LDX 1 AWRK2(1) [HERE WE MAKE THE UNI BOOCK THESAME 38JB SETUPCORE ALOGL(1),3,CPB,CUNI[LENGTH AS THE FNAME (EASY WAY OUT) 3942 LDX 7 AWRK3(2) 39HL TESTMOVE 7,N3 [J IF NOTHING MOVED 3=3= CALL 5 UNT [HUNT BLOCKS 3=GW N3 LDX 1 FX2 3?2G LDX 0 ACOM3(1) [RESET POINTERS 3?G6 LDX 2 ACOM5(1) 3?^Q ADX 2 AWRK2(1) 3#FB LDN 1 APARA(3) [START OF O/P 3#^2 STOZ ANUM(3) 3*DL LDN 5 1 3*Y= LDN 6 0 3BCW BRN N40 3BXG N4 BCHX 2 £ 3CC6 SBN 0 1 3CWQ N40 BZE 0 M [ERROR IF NO RP 3DBB LDCH 7 0(2) 3DW2 LDX 4 7 3F*L SBN 4 #30 3FT= BNZ 4 N6 [J NOT LP 3G#W ADN 6 1 [COUNT IT 3GSG N5 DCH 7 0(1) 3H#6 BCHX 1 £ [INSERT IN CUNI 3HRQ ADS 5 ANUM(3) 3J?B BRN N4 3JR2 N6 ADN 4 #30-#20 3K=L BZE 4 N4 [IGNORE SPACE 3KQ= SBN 4 #31-#20 3L9W BNZ 4 N10 [IF RP AND NESTED CARRY ON 3LPG SBN 6 1 3M96 BPZ 6 N5 3MNQ N60 LDX 1 FX2 3N8B SBX 2 AWRK2(1) 3NN2 STO 2 ACOM5(1) 3P7L STO 0 ACOM3(1) 3PM= CHNUMCO1 1 [CONVERT 3Q6W FREECORE 3 [FREE THE CPB/CUNI 3QLG TESTRPN2 OK,NUMERR [J IF FAILED 3R66 LDX 7 AWRK3(2) 3RKQ TESTMOVE 7,N7 [J NOT MOVED 3S5B CALL 5 UNT [HUNT BLOCKS 3SK2 N7 LDX 1 FX2 3T4L LDX 0 ACOM3(1) 3TJ= LDX 2 ACOM5(1) 3W3W ADX 2 AWRK2(1) 3WHG LDCH 7 0(2) 3X36 BCHX 2 £ [UPDATE POINTER 3XGQ SBN 0 1 [AND COUNT 3Y2B N8 LDX 6 AWRK1(1) 3YG2 ADX 6 FX1 3Y^L EXIT 6 0 3^F= N9 STO 6 ACOM1(1) 3^YW BRN N8 42DG N10 SBN 4 #34-#31 [J TO CONVERT 42Y6 BZE 4 N60 [IF COMMA 43CQ SBN 4 #37-#34 43XB BNZ 4 N5 44C2 BZE 6 N60 [SLASH IN PARENTHESIS? 44WL BRN N5 45B= # 45TW UNT MHUNT 1,FILE,FABSNB 46*G STO 1 AWRK4(2) 46T6 MHUNT 1,FILE,FNAME 47#Q PHOTO 7 47SB STO 1 AWRK2(2) 48#2 STO 7 AWRK3(2) 48RL EXIT 5 0 49?= #PAG 49QW TABLE [SYNTAX OF <GENERAL-LOCAL-NAME> 4==G #REP #20 4=Q6 0 4?9Q TABDET [SYNTAX OF <DETAILS> 4?PB #REP #20 4#92 0 4#NL O12 #12 [: 4*8= O30 #30 [( 4*MW O31 #31 [) 4B7G O34 #34 [, 4BM6 O36 #36 [. 4C6Q # 4CLB TAILS 12H00010001C1 4D62 # 4DKL N1FFFNORM [ENTRY FROM MACRO FFFNORM 4F5= # 4FJW MHUNT 3,FILE,FNAME [FIND NAME BLOCK 4G4G BNG 3 N [ERROR IF LOST 4GJ6 LDXC 4 ANUM(3) [PARAMETER LENGTH 4H3Q BCS N [ERROR IF NULL 4HHB BZE 4 N [ERROR IF EMPTY 4J32 ANDN 4 #7777 [CLEAR TYPE BITS (NOT NEEDED ) 4JGL PHOTO 7 4K2= STO 3 AWRK2(2) [STORE BLOCK'S 4KFW STO 7 AWRK3(2) [WHERE AND WHEN 4K^G SETREP2 OK [ONLY TENTATIVE 4LF6 LDN 3 APARA(3) [WE NOW HAVE TO 4LYQ LDN 5 0 [COUNT THE NUMBER 4MDB LDN 6 0 [OF FULL STOPS 4MY2 S1 LDCH 7 0(3) [AND COLONS 4NCL BCHX 3 £ 4NX= BXU 7 O12(1),S2 4PBW ADN 6 1 [COUNT COLON 4PWG S2 BXU 7 O36(1),S3 4QB6 ADN 5 1 [COUNT FULL STOP 4QTQ S3 BXE 7 O30(1),S4 [FINISHED IF <DETAILS> 4R*B BCT 4 S1 4RT2 # 4S#L # WE CAN NOW CALCULATE THE LENGTH OF TH FILE/FABSNB. ALGORITHM IS: 4SS= # 4T?W # ALOGLEN=6X(1+NUMBER OF STOPS-NUMBER OF COLONS)+4 4TRG # 4W?6 S4 LDN 0 1 4WQQ SBS 6 0 [ERROR IF TWO OR MORE COLONS 4X=B BNG 0 N 4XQ2 LDX 0 5 [CHECK IF ONE COLON BUT 4Y9L SBX 0 6 [NO STOPS 4YP= BNG 0 N [ERROR IF SO 4^8W STO 6 AWRK1(2) 4^NG LDN 7 6 5286 SBX 5 6 [CALCULATE 52MQ LDX 3 5 [CALCULATE 537B LDN 4 10 53M2 MPA 3 7 546L SETUPCORE 4,3,FILE,FABSNB [GET UPT PUT BLOCK 54L= STO 3 AWRK4(2) 555W LDX 0 ACES [MOVE SPACES 55KG LDN 6 HDREC+1(3) [INTO MOST OF THE 5656 LDN 7 HDREC+2(3) [WORDS 56JQ STO 0 HDREC+1(3) [AUTOMATICALLY MAKES LOCAL NAMES UP T 574B SMO 4 [TWELVE CHARACTERS 57J2 MOVE 6 -5 583L LDN 4 4 [INSERT ADDRESS OF FIRST 58H= STO 4 HDREC(3) [LOCAL NUME 592W LDX 6 AWRK1(2) 59GG BNZ 6 S5 [J IF USERNAME SPECIFIED 5=26 LDN 6 CPFIX(2) 5=FQ LDN 7 A1+1(3) [MOVE IN YOUR NAME 5=^B MOVE 6 3 5?F2 S5 BZE 5 S7 [J IF ONLY ONE LOCAL NAME 5?YL LDN 6 TAILS(1) 5#D= LDN 7 A1+7(3) [MOVE IN STANDARD <DETAILS> 5#XW S6 MOVE 6 3 [FOR DIRECTORY NAMES 5*CG ADN 7 6 5*X6 BCT 5 S6 5BBQ S7 LDX 7 AWRK3(2) 5BWB LDX 2 AWRK2(2) 5CB2 TESTMOVE 7,S8 [SET UP NAME BLOCK AGAIN 5CTL MHUNT 2,FILE,FNAME 5D*= SMO FX2 5DSW STO 2 AWRK2 5F#G # 5FS6 # THE OUTPUT BLOCK IS NOW SET UP SO WE CAN START TO PROCESS NAME BLOCK. 5G?Q # [X0]=CHARACTERS LEFT; [X3]=ADDRESS OF NEXT CHARACTER TO ANALYSE; 5GRB # [X1]=ADDRESS OF NEXT CHARACTER IN LOCAL NAME (O/P). 5H?2 # 5HQL S8 LDN 1 0 [SET UP POINTERS 5J== LDX 0 ANUM(2) 5JPW LDN 2 APARA(2) 5K9G ANDN 0 #7777 5KP6 S9 LDCH 7 0(2) [SKIP INITIAL SPACES 5L8Q SBN 7 #20 5LNB BNZ 7 S10 [J NOT SPACE 5M82 BCHX 2 £ 5MML BCT 0 S9 5N7= BRN M [ERROR IF ONLY SPACES 5NLW S10 BZE 0 TIDY [J IF FINISHED 5P6G STO 3 6 5PL6 LDCH 7 0(2) 5Q5Q BCHX 2 £ 5QKB STO 7 3 5R52 SRC 3 2 5RJL ADX 3 FX1 5S4= LDCH 5 TABLE(3) [LOOK UP IN TABLE 5SHW SBN 0 1 5T3G ADX 5 FX1 5TH6 LDX 3 6 5W2Q EXIT 5 £ [FANOUT 5WGB # 5X22 M FREECORE 3 [SYNTAX ERROR: FREE FILE/FABSNB 5XFL N SETREP NAMEFORM [REPLY INCOMPREHENSIBLE 5X^= UP [GIVE UP 5YDW # 5YYG OO IETS #20,OO-M,TABLE [SPACE 5^D6 BZE 1 S10 [IGNORE IF INITIAL 5^XQ # 62CB O IETS -,O-M [NUMERIC AND HYPHEN 62X2 IET 1,2,3,4,5,6,7,8,9,0 63BL BZE 1 M [NOT ALLOWED AS FIRST CHARACTER 63W= # 64*W P IETS A,P-M [ALPHABETIC 64TG IET B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q 65*6 IET R,S,T,U,V,W,X,Y,Z 65SQ LDN 4 3 66#B SBS 1 4 66S2 BZE 4 M [ERROR IF THIRTENTH CHARACTER 67?L ADX 1 3 67R= SMO HDREC(3) 68=W DCH 7 A1(1) [ELSE OK TO 68QG SBX 1 3 69=6 BCHX 1 £ [SHOVE IT IN 69PQ BRN S10 6=9B # 6=P2 Q IETS (,Q-M [LP - STARTS <DETAILS> 6?8L BNZ 1 QUALIF [ERROR IF PRECEEDED BY NULL NAME ELSE 6?N= BRN M [WORK OUT <DETAILS> 6#7W # 6#MG R IETS :,R-M [COLON (INTRODUCES USETNAME) 6*76 LDN 6 1 6*LQ LDN 4 #1000 6B6B STO 6 HDREC(3) 6BL2 ANDX 4 ATYPE(3) [ERROR IF . (POSSIBLE) OR : ( 6C5L BNZ 4 M [POSSIBLE) ALREADY 6CK= R1 LDN 4 #1000 6D4W LDN 1 0 6DJG ORS 4 ATYPE(3) [MARK 'NOT LOCAL' 6F46 BRN S10 6FHQ # 6G3B SHRIEK IETS !,SHRIEK-M 6GH2 BNZ 1 M [ERROR IF NOT INITIAL 6H2L BNZ 0 SH1 [J IF NOT A LONE ! 6HG= LDN 5 0 6H^W BRN SH5 6JFG # 6J^6 S IETS .,S-M [FULL STOP 6KDQ LDX 4 HDREC(3) 6KYB SBN 4 1 6LD2 BZE 4 T [J IF ONLY USERNAME ANALYSED 6LXL LDN 4 6 6MC= ADS 4 HDREC(3) [LAST LOCAL NAME WAS 6 WORDS 6MWW BRN R1 [THEN AS FOR USERNAME 6NBG T LDN 4 4 6NW6 STO 4 HDREC(3) 6P*Q BRN R1 6PTB # 6Q*2 SH1 LDN 4 0 6QSL LDN 5 0 [INITIALISE 6R#= LDN 1 0 6RRW LDCH 7 0(2) [GET NEXT CHAR 6S?G BCHX 2 £ 6SR6 SBN 0 1 6T=Q LDX 6 7 6TQB SBN 6 #35 6W=2 BNZ 6 SH3 [J IF NOT - 6WPL LDN 1 1 [MARK -VE 6X9= SH2 BZE 0 SH4 [J NO MORE 6XNW LDCH 7 0(2) [GET NEXT CHAR 6Y8G BCHX 2 £ 6YN6 SBN 0 1 [DECREASE COUNT 6^7Q SH3 LDX 6 7 6^MB SBN 6 #20 7272 BZE 6 SH2 [J IF SPACE 72LL CDB 4 7 736= BCS M [NON-DECIMAL 73KW BVSR M [TOO MUCH 745G BRN SH2 74K6 SH4 BNZ 4 M [TOO BIG 754Q BZE 1 SH5 [J IF +VE 75JB NGX 5 5 7642 WORKNUMB 3 [IF NEG CALCULATE 76HL ADX 5 3 [POSITIVE COUNT 773= SH5 SMO FX2 77GW LDX 3 AWORK4 [ADDRESS OF FABSNB 782G STO 5 A1+1(3) [DEPTH OF WORKFILE 78G6 LDN 7 4 78^Q STO 7 HDREC(3) 79FB STOZ A1+2(3) 79^2 SMO FX2 7=DL LDX 7 JOBNO [JOB NUMBER 7=Y= STO 7 A1+3(3) 7?CW FINDWFL 2 [FIND WORKFILE 7?XG TESTREP OK,SH6 [J IF FOUND 7#C6 SETREP NOFILE [ELSE NON-EXISTANT 7#WQ UP 7*BB SH6 LDN 7 10 [SET UP 10 WD FABSNB 7*W2 STO 7 HDREC(3) 7B*L LDN 6 FUSER1(2) 7BT= LDN 7 A1+1(3) 7C#W MOVE 6 9 7CSG LDN 0 #200 [SET B16 OF ATYPE 7D#6 ORS 0 ATYPE(3) [SINCE WORKFILE 7DRQ UPPLUS 1 7F?B #PAG 7FR2 # 7G=L # WE HAVE ALLL THE INFORMATION IN THE ABSOLUTE NAME BLOCK EXEPT FOR 7GQ= # <DETAILS> WHIC ARE NOT SPECIFIED SO WE MUST INSERT DEFAULT SETTINGS. 7H9W # 7HPG TIDY 7J96 # 7JNQ LDN 6 6 7K8B LDX 2 HDREC(3) [SET LENGTH TO END 7KN2 ADS 3 2 7L7L ADS 6 HDREC(3) 7LM= STOZ A1+3(2) [ANY REEL 7M6W STOZ A1+4(2) [ANY GENERATION (UGH UGH UGH UGH UGH) 7MLG STOZ A1+5(2) [UNSPECIFIED LANGUAGE 7N66 # 7NKQ VRYTIDY 7P5B # 7PK2 LDN 6 #1000 [JUST BEFORE WE FINISH NOTE THATBWE 7Q4L ERS 6 ATYPE(3) [HAVE INVERTED .LOCAL NAME ONLY. BIT 7QJ= UPPLUS 1 [SO PUT IT BACK. BYE-EE. 7R3W # 7RHG UNCTS [LOOKS LIKE ADJUNCTS 7S36 # 7SGQ SETREP ADJUNCTS 7T2B # 7TG2 NUMERR [ERROR IN NUMBER 7T^L # 7WF= VFREE FILE,FABSNB 7WYW UP 7XDG #PAG 7XY6 # 7YCQ # QUALIF IS THE ROUTINE WHICH DISENTANGLES <DETAILS>. CHECKS ARE MADE 7YXB # ON ABSENCE OF <ADJUNCTS> (NOT HANDLED). 7^C2 # 7^WL QUALIF 82B= # 82TW LDX 1 HDREC(3) 83*G ADS 3 1 83T6 STOZ A1+3(1) [SET DEFAULT VALUES 84#Q STOZ A1+4(1) 84SB STOZ A1+5(1) [OF REEL, GEN & LANG. 85#2 LDX 1 FX2 85RL QUAL2 BZE 0 M [ERROR NO RP 86?= LDCH 7 0(2) 86QW BCHX 2 £ 87=G SBN 0 1 87Q6 QUAL3 STO 3 6 889Q STO 7 3 88PB SRC 3 2 8992 SMO FX1 89NL LDCH 5 TABDET(3) [LOOK UP TABLE 8=8= LDX 3 6 8=MW ADX 5 FX1 8?7G EXIT 5 £ [FANOUT 8?M6 # 8#6Q U BRN M [ERROR 8#LB # 8*62 V IETS #20,V-U,TABDET [SPACE, IGNORE 8*KL BRN QUAL2 8B5= # 8BJW UA IETS A,UA-U [ADJUNCTS? 8C4G IET B,C,D,E,F,G,H,I,J,K,L,M,N 8CJ6 IET O,P,Q,R,S,T,U,V,W,X,Y,Z,* 8D3Q BRN UNCTS [SORRY 8DHB # 8F32 W IETS +,W-U [GENERATION, RELATIVE 8FGL LDCT 6 #200 8G2= BRN X+1 8GFW # 8G^G X IETS -,X-U [GENERATION, RELATIVE 8HF6 LDCT 6 #400 8HYQ SMO HDREC(3) 8JDB STO 6 A1+4(3) 8JY2 CALL 6 NUMCON2 [CONVERT 8KCL LDX 3 AWRK4(1) 8KX= LDX 6 ACOM1(1) 8L74 ... BNG 6 NUMERR 8LBW SMO HDREC(3) 8LWG DLA 6 A1+4(3) [STORE 8MB6 BRN QUAL3 8MTQ # 8N*B Y IETS 0,Y-U [GENERATION, ABSOLUTE 8NT2 IET 1,2,3,4,5,6,7,8,9,(,],#23 8P#L IET #73 [IE [ 8PS= CALL 6 NUMCON1 8Q?W LDX 3 AWRK4(1) 8QRG LDX 6 ACOM1(1) 8R?6 SMO HDREC(3) 8RQQ STO 6 A1+4(3) 8S=B BRN QUAL3 8SQ2 # 8T9L Z IETS #34,Z-U [COMMA, IE REEL 8TP= CALL 6 NUMCON2 [CONVERT 8W8W LDX 3 AWRK4(1) 8WNG LDX 6 ACOM1(1) 8X86 BNZ 6 Z2 [IF ZERO SET BIT 2 8XMQ LDCT 6 #100 [BECAUSE ITS REALLY MEANT 8Y7B Z2 SMO HDREC(3) 8YM2 STO 6 A1+3(3) [STORE 8^6L LDN 6 #400 8^L= ORS 6 ATYPE(3) [MARK FOR GETDIR 925W BRN QUAL3 92KG # 9356 MM IETS /,MM-U [SLASH, LANGUAGE 93JQ LDN 6 5 944B LDX 5 ACES 94J2 LDN 1 0 953L MM1 BZE 0 M [ERROR NO RP 95H= LDCH 7 0(2) 962W BCHX 2 £ 96GG SBN 0 1 9726 LDX 4 7 97FQ SBN 4 #20 97^B BZE 4 MM1 [IGNORE SPACE 98F2 SBN 4 #31-#20 98YL BZE 4 MM3 [END IF *31 99D= SBN 4 #34-#31 99XW BZE 4 MM3 [END IF *34 9=CG BCT 6 MM2 9=X6 BRN MM3 [J IF 4 CHARACTERS HAD 9?BQ MM2 DCH 7 5(1) 9?WB BCHX 1 £ 9#B2 BRN MM1 9#TL MM3 SMO HDREC(3) 9**= STO 5 A1+5(3) [INSERT LANGUAGE 9*SW LDN 5 #100 9B#G ORS 5 ATYPE(3) [SET B17 FOR LANGUAGE 9BS6 LDX 1 FX2 9C?Q BRN QUAL3 9CRB # 9D?2 NN IETS ),NN-U [RP ENDS 9DQL LDN 6 6 9F== ADS 6 HDREC(3) [SET FINAL LENGTH 9FPW NN1 BZE 0 VRYTIDY [END IF END OF STRING 9G9G LDCH 7 0(2) [JUST A QUICK CHECK ON 9GP6 SBN 0 1 [WHAT FOLLOWS THE RP OF 9H8Q SBN 7 #30 [<DETAILS>. IF IT IS 9HNB BCHX 2 £ [A LP IT COULD BE ADJUNCTS 9J82 BZE 7 UNCTS [WHICH IS A GREAT SHAME 9JML BRN NN1 [AT THIS POINT 9K7= # 9KLW MENDAREA 50,K100FFFNORM 9L6G #END ^^^^ ...63554023000200000000 </code> Last modified: 17/01/2024 11:55by 127.0.0.1 Log In