; Test file for base 6502 opcode compliance ; This odd little source file uses every addressing mode ; of every opcode, and uses the opcode itself as the argument ; to each instruction that takes one. The resulting binary's ; bytes are thus in strictly increasing numerical order. BRK ORA ($01, X) ORA $05 ASL $06 PHP ORA #$09 ASL ORA $0D0D ASL $0E0E BPL ^+$12 ORA ($11), Y ORA $15, X ASL $16, X CLC ORA $1919, Y ORA $1D1D, X ASL $1E1E, X JSR $2020 AND ($21, X) BIT $24 AND $25 ROL $26 PLP AND #$29 ROL BIT $2C2C AND $2D2D ROL $2E2E BMI ^+$32 AND ($31), Y AND $35, X ROL $36, X SEC AND $3939, Y AND $3D3D, X ROL $3E3E, X RTI EOR ($41, X) EOR $45 LSR $46 PHA EOR #$49 LSR JMP $4C4C EOR $4D4D LSR $4E4E BVC ^+$52 EOR ($51), Y EOR $55, X LSR $56, X CLI EOR $5959, Y EOR $5D5D, X LSR $5E5E, X RTS ADC ($61, X) ADC $65 ROR $66 PLA ADC #$69 ROR JMP ($6C6C) ADC $6D6D ROR $6E6E BVS ^+$72 ADC ($71), Y ADC $75, X ROR $76, X SEI ADC $7979, Y ADC $7D7D, X ROR $7E7E, X STA ($81, X) STY $84 STA $85 STX $86 DEY TXA STY $8C8C STA $8D8D STX $8E8E BCC ^-$6E STA ($91), Y STY $94, X STA $95, X STX $96, Y TYA STA $9999, Y TXS STA $9D9D, X LDY #$A0 LDA ($A1, X) LDX #$A2 LDY $A4 LDA $A5 LDX $A6 TAY LDA #$A9 TAX LDY $ACAC LDA $ADAD LDX $AEAE BCS ^-$4e LDA ($B1), Y LDY $B4, X LDA $B5, X LDX $B6, Y CLV LDA $B9B9,Y TSX LDY $BCBC, X LDA $BDBD, X LDX $BEBE, Y CPY #$C0 CMP ($C1, X) CPY $C4 CMP $C5 DEC $C6 INY CMP #$C9 DEX CPY $CCCC CMP $CDCD DEC $CECE BNE ^-$2E CMP ($D1), Y CMP $D5, X DEC $D6, X CLD CMP $D9D9, Y CMP $DDDD, X DEC $DEDE, X CPX #$E0 SBC ($E1, X) CPX $E4 SBC $E5 INC $E6 INX SBC #$E9 NOP CPX $ECEC SBC $EDED INC $EEEE BEQ ^-$0E SBC ($F1), Y SBC $F5, X INC $F6, X SED SBC $F9F9, Y SBC $FDFD, X INC $FEFE, X