mirror of
https://github.com/michaelcmartin/Ophis.git
synced 2024-12-22 03:29:55 +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!
75 lines
2.6 KiB
Plaintext
75 lines
2.6 KiB
Plaintext
; Test file for 65C02 extended 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.
|
|
|
|
; Some opcodes have multiple mnemonics; we provide both.
|
|
|
|
; This file also doesn't include the 65C02's opcodes that
|
|
; are also available in stock 6502s - see testbase.oph for
|
|
; those.
|
|
TSB $04 ; 04: TSB - Zero Page
|
|
RMB0 $07 ; 07: RMB0 - Zero Page
|
|
TSB $0C0C ; 0C: TSB - Absolute
|
|
BBR0 ^+$11 ; 0F: BBR0 - Relative
|
|
ORA ($12) ; 12: ORA - (Zero Page)
|
|
TRB $14 ; 14: TRB - Zero Page
|
|
RMB1 $17 ; 17: RMB1 - Zero Page
|
|
INA ; 1A: INA - Implied
|
|
INC ; INC - Implied
|
|
TRB $1C1C ; 1C: TRB - Absolute
|
|
BBR1 ^+$21 ; 1F: BBR1 - Relative
|
|
RMB2 $27 ; 27: RMB2 - Zero Page
|
|
BBR2 ^+$31 ; 2F: BBR2 - Relative
|
|
AND ($32) ; 32: AND - (Zero Page)
|
|
BIT $34, X ; 34: BIT - Zero Page, X
|
|
RMB3 $37 ; 37: RMB3 - Zero Page
|
|
DEA ; 3A: DEA - Implied
|
|
DEC ; 3A: DEC - Implied
|
|
BIT $3C3C,X ; 3C: BIT - Absolute, X
|
|
BBR3 ^+$41 ; 3F: BBR3 - Relative
|
|
RMB4 $47 ; 47: RMB4 - Zero Page
|
|
BBR4 ^+$51 ; 4F: BBR4 - Relative
|
|
EOR ($52) ; 52: EOR - (Zero Page)
|
|
RMB5 $57 ; 57: RMB5 - Zero Page
|
|
PHY ; 5A: PHY - Implied
|
|
BBR5 ^+$61 ; 5F: BBR5 - Relative
|
|
STZ $64 ; 64: STZ - Zero Page
|
|
RMB6 $67 ; 67: RMB6 - Zero Page
|
|
BBR6 ^+$71 ; 6F: BBR6 - Relative
|
|
ADC ($72) ; 72: ADC - (Zero Page)
|
|
STZ $74, X ; 74: STZ - Zero Page, X
|
|
RMB7 $77 ; 77: RMB7 - Zero Page
|
|
PLY ; 7A: PLY - Implied
|
|
JMP ($7C7C, X) ; 7C: JMP - (Absolute, X)
|
|
BBR7 ^+$81 ; 7F: BBR7 - Relative
|
|
BRA ^-$7E ; 80: BRA - Relative
|
|
SMB0 $87 ; 87: SMB0 - Zero Page
|
|
BIT #$89 ; 89: BIT - Immediate
|
|
BBS0 ^-$6F ; 8F: BBS0 - Relative
|
|
STA ($92) ; 92: STA - (Zero Page)
|
|
SMB1 $97 ; 97: SMB1 - Zero Page
|
|
STZ $9C9C ; 9C: STZ - Absolute
|
|
STZ $9E9E, X ; 9E: STZ - Absolute, X
|
|
BBS1 ^-$5F ; 9F: BBS1 - Relative
|
|
SMB2 $A7 ; A7: SMB2 - Zero Page
|
|
BBS2 ^-$4F ; AF: BBS2 - Relative
|
|
LDA ($B2) ; B2: LDA - (Zero Page)
|
|
SMB3 $B7 ; B7: SMB3 - Zero Page
|
|
BBS3 ^-$3F ; BF: BBS3 - Relative
|
|
SMB4 $C7 ; C7: SMB4 - Zero Page
|
|
WAI ; CB: WAI - Implied
|
|
BBS4 ^-$2F ; CF: BBS4 - Relative
|
|
CMP ($D2) ; D2: CMP - (Zero Page)
|
|
SMB5 $D7 ; D7: SMB5 - Zero Page
|
|
PHX ; DA: PHX - Implied
|
|
STP ; DB: STP - Implied
|
|
BBS5 ^-$1F ; DF: BBS5 - Relative
|
|
SMB6 $E7 ; E7: SMB6 - Zero Page
|
|
BBS6 ^-$0F ; EF: BBS6 - Relative
|
|
SBC ($F2) ; F2: SBC - (Zero Page)
|
|
SMB7 $F7 ; F7: SMB7 - Zero Page
|
|
PLX ; FA: PLX - Implied
|
|
BBS7 ^+$01 ; FF: BBS7 - Relative
|