20120601 17:25:48 +00:00



; 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
