100 REM --------- PROGRAM 3 ----------- 110 REM 120 REM PAL64 FORMAT SOURCE 130 REM 140 OPEN 2,8,1,"0:OUTPUT" 150 SYS700 160 .OPT O2 170 *=$C000 180 JMP BEGIN 190 ; 200 ; TABLE OF MNEMONICS 210 ; 225 MNEM .ASC "ADCANDASLBCCBCSBEQBITBMIBNEBPLBRK" 230 .ASC "BVCBVSCLCCLDCLICLVCMPCPXCPYDECDEX" 235 .ASC "DEYEORINCINXINYJMPJSRLDALDXLDYLSR" 240 .ASC "NOPORAPHAPHPPLAPLPROLRORRTIRTSSBC" 250 .ASC "SECSEDSEISTASTXSTYTAXTAYTSXTXATXSTYA" 260 ; 270 ; RESULTING OP-CODES 280 ; 290 OPS *=*+56 300 ; 310 ; TABLES FOR TRANSFORMATIONS 320 ; 330 TABLE1 .BYTE 6,7,8,9,10,0,0,0,11,12,0,13,0 335 .BYTE 14,1,2,0,3,4,5,0,0,0,0,0,0 340 TABLE2 .BYTE 10,11,12,13,14,0,0,15,16,0,0,17,18,1 345 .BYTE 2,3,0,4,5,6,0,7,0,8,9,0 350 TABLE3 .BYTE 4,0,5,6,7,0,0,0,8,0,9,10,0 355 .BYTE 0,0,11,12,13,14,15,0,1,0,2,3,0 360 ; 370 ; EXECUTE THE AL(null) 380 ; 390 BEGIN LDY #0: STY OPSX 400 LOOP1 LDA MNEM+0,Y: SEC: SBC ASCA: TAX: LDA TABLE1,X: BEQ ERROR 410 STA TEMP ; (LEFT-)*1 420 LDA MNEM+1,Y: SEC: SBC ASCA: TAX: LDA TABLE2,X: BEQ ERROR 430 LSR: LSR: LSR: LSR: CLC: ADC TEMP: STA TEMP ; +(MID-)*16 440 LDA MNEM+2,Y: SEC: SBC ASCA: TAX: LDA TABLE3,X: BEQ ERROR 450 LSR: LSR: CLC: ADC TEMP ; +(RIGHT-)*4 460 LDX OPSX: STA OPS,X: INX: STX OPSX 470 INY: INY: INY: CPY #168: BNE LOOP1 480 BEQ CONT1 490 ; 500 ; ERROR ROUTINE 510 ; 520 ERROR = * 530 ; 540 ; PRINT RESULTS/PROCESS CODE BYTE 550 ; 560 CONT1 = * 570 ; 580 ; DATA AREAS 590 ; 600 OPSX .BYTE 0 610 ASCA .BYTE "A" 620 TEMP .BYTE 0 630 .END