mirror of
https://github.com/michaelcmartin/Ophis.git
synced 20240722 14:29:16 +00:00
14a37ca879
Full PEP8 compliance. Also, booleans have been inserted where they make sense (introduced in 2.3!) and I haven't knowingly added anything that will break 2.3 compatibility. At this point the code really doesn't look like it was written ten years ago. Hooray!
158 lines
1.8 KiB
Plaintext
158 lines
1.8 KiB
Plaintext
; 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
