1 REM----- PROGRAM 1 ------------------ 2 REM 100 REM -- FIND THE RIGHT ALGORITHM -- 110 REM 120 N=56: DIM OP$(N),OP(N) 130 FOR I=1 TO N: READ OP$(I): OP(I)=0: NEXT 140 DATA ADC,AND,ASL,BCC,BCS,BEQ,BIT,BMI,BNE,BPL,BRK,BVC,BVS,CLC,CLD,CLI,CLV 150 DATA CMP,CPX,CPY,DEC,DEX,DEY,EOR,INC,INX,INY,JMP,JSR,LDA,LDX,LDY,LSR,NOP 160 DATA ORA,PHA,PHP,PLA,PLP,ROL,ROR,RTI,RTS,SBC,SEC,SED,SEI,STA,STX,STY,TAX 170 DATA TAY,TSX,TXA,TXS,TYA 180 DEF FNH(X)=INT(X/256) 190 DEF FNL(X)=X-FNH(X)*256 300 DIM TR(2,25): FOR I=0 TO 2: FOR J=0 TO 25: READ TR(I,J): NEXT J: NEXT I 310 DATA 1,2,3,4,5,0,0,0,6,7,0,8,0,9,10,11,0,12,13,14,0,0,0,0,0,0 320 DATA 1,2,3,4,5,0,0,6,7,0,0,8,9,10,11,12,0,13,14,15,0,16,0,17,18,0 330 DATA 1,0,2,3,4,0,0,0,5,0,6,7,0,0,0,8,9,10,11,12,0,13,0,14,15,0 340 DIM K(12,2): FOR I=0 TO 12: FOR J=0 TO 2: READ K(I,J): NEXT J: NEXT I 350 DATA 1,1,1, 1,2,4, 1,4,2, 2,1,4, 2,4,1, 4,2,1, 4,1,2, 1,4,16, 1,16,4 360 DATA 4,1,16, 4,16,1, 16,4,1, 16,1,4 410 FOR KK=0 TO 12 420 K1=K(KK,0): K2=K(KK,1): K3=K(KK,2) 430 FOR A0=0 TO 13 440 FOR B0=0 TO 17 450 FOR C0=0 TO 14 460 PRINT "K1/K2/K3/A0/B0/C0="K1;K2;K3;A0;B0;C0 500 GOSUB 2000: REM EXECUTE ALGO 600 NEXT C0 610 NEXT B0 620 NEXT A0 630 NEXT KK 640 PRINT "NOTHING WORKED!" 800 END 1999 REM ------------------------------ 2000 REM EXECUTE THE ALGO 2010 REM 2020 XX=ASC("A") 2030 FOR I=1 TO N 2040 A$=LEFT$(OP$(I),1) : A=ASC(A$)-XX 2050 B$=MID$(OP$(I),2,1): B=ASC(B$)-XX 2060 C$=RIGHT$(OP$(I),1): C=ASC(C$)-XX 2100 A1=TR(0,A)+A0: A2=A1-INT(A1/14)*14: IF A2=0 THEN A2=14 2110 B1=TR(1,B)+B0: B2=B1-INT(B1/18)*18: IF B2=0 THEN B2=18 2120 C1=TR(2,C)+C0: C2=C1-INT(C1/15)*15: IF C2=0 THEN C2=15 2200 X = A2*K1 + B2*K2 + C2*K3 2210 OP(I) = FNL(X) 2300 IF I=1 THEN GOTO 2400 2310 FOR J=1 TO I-1 2320 IF OP(I)=OP(J) THEN RETURN 2330 NEXT J 2400 NEXT I 2410 PRINT"IT WORKS!": END