mirror of
https://github.com/fadden/6502bench.git
synced 2024-08-16 15:29:00 +00:00
Created the "all ops" tests for W65C02. Filled in enough of the necessary infrastructure to be able to create the project and disassemble the file, though we're not yet handling the instructions correctly.
297 lines
6.1 KiB
ArmAsm
297 lines
6.1 KiB
ArmAsm
; Copyright 2020 faddenSoft. All Rights Reserved.
|
|
; See the LICENSE.txt file for distribution terms (Apache 2.0).
|
|
;
|
|
; Assembler: Merlin 32
|
|
|
|
; Macros for Rockwell extensions. We use the 3-arg format to
|
|
; cut down on the code size.
|
|
BBR MAC ;BBR bit,zp,label
|
|
DFB ]1*16+$0f
|
|
DFB ]2
|
|
DFB ]3-*-1
|
|
<<<
|
|
BBS MAC ;BBS bit,zp,label
|
|
DFB ]1*16+$8f
|
|
DFB ]2
|
|
DFB ]3-*-1
|
|
<<<
|
|
RMB MAC ;RMB bit,zp
|
|
DFB ]1*16+$07
|
|
DFB ]2
|
|
<<<
|
|
SMB MAC ;SMB bit,zp
|
|
DFB ]1*16+$87
|
|
DFB ]2
|
|
<<<
|
|
|
|
ORG $1000
|
|
|
|
JSR PostBRK
|
|
JSR PostRTI
|
|
JSR PostRTS
|
|
JSR PostJMPI
|
|
JSR PostJMPX
|
|
JSR PostSTP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
|
|
BRK ZP ;$00
|
|
PostBRK ORA (ZP,X)
|
|
DFB $02,ZP
|
|
DFB $03
|
|
TSB ZP
|
|
ORA ZP
|
|
ASL ZP
|
|
RMB 0;ZP
|
|
PHP
|
|
ORA #ZP
|
|
ASL
|
|
DFB $0B
|
|
TSB: ABS
|
|
ORA: ABS
|
|
ASL: ABS
|
|
BBR 0;ZP;PostBBR0
|
|
PostBBR0 BPL PostBPL ;$10
|
|
PostBPL ORA (ZP),Y
|
|
ORA (ZP)
|
|
DFB $13
|
|
TRB ZP
|
|
ORA ZP,X
|
|
ASL ZP,X
|
|
RMB 1;ZP
|
|
CLC
|
|
ORA: ABS,Y
|
|
INC
|
|
DFB $1B
|
|
TRB: ABS
|
|
ORA: ABS,X
|
|
ASL: ABS,X
|
|
BBR 1;ZP;PostBBR1
|
|
PostBBR1 JSR ABS ;$20
|
|
AND (ZP,X)
|
|
DFB $22,ZP
|
|
DFB $23
|
|
BIT ZP
|
|
AND ZP
|
|
ROL ZP
|
|
RMB 2;ZP
|
|
PLP
|
|
AND #ZP
|
|
ROL
|
|
DFB $2B
|
|
BIT: ABS
|
|
AND: ABS
|
|
ROL: ABS
|
|
BBR 2;ZP;PostBBR2
|
|
PostBBR2 BMI PostBMI ;$30
|
|
PostBMI AND (ZP),Y
|
|
AND (ZP)
|
|
DFB $33
|
|
BIT ZP,X
|
|
AND ZP,X
|
|
ROL ZP,X
|
|
RMB 3;ZP
|
|
SEC
|
|
AND: ABS,Y
|
|
DEC
|
|
DFB $3B
|
|
BIT: ABS,X
|
|
AND: ABS,X
|
|
ROL: ABS,X
|
|
BBR 3;ZP;PostBBR3
|
|
PostBBR3 RTI ;$40
|
|
PostRTI EOR (ZP,X)
|
|
DFB $42,ZP
|
|
DFB $43
|
|
DFB $44,ZP
|
|
EOR ZP
|
|
LSR ZP
|
|
RMB 4;ZP
|
|
PHA
|
|
EOR #ZP
|
|
LSR
|
|
DFB $4B
|
|
JMP PostJMP
|
|
PostJMP EOR: ABS
|
|
LSR: ABS
|
|
BBR 4;ZP;PostBBR4
|
|
PostBBR4 BVC PostBVC ;$50
|
|
PostBVC EOR (ZP),Y
|
|
EOR (ZP)
|
|
DFB $53
|
|
DFB $54,ZP
|
|
EOR ZP,X
|
|
LSR ZP,X
|
|
RMB 5;ZP
|
|
CLI
|
|
EOR: ABS,Y
|
|
PHY
|
|
DFB $5B
|
|
DFB $5C,<ABS,>ABS
|
|
EOR: ABS,X
|
|
LSR: ABS,X
|
|
BBR 5;ZP;PostBBR5
|
|
PostBBR5 RTS ;$60
|
|
PostRTS ADC (ZP,X)
|
|
DFB $62,ZP
|
|
DFB $63
|
|
STZ ZP
|
|
ADC ZP
|
|
ROR ZP
|
|
RMB 6;ZP
|
|
PLA
|
|
ADC #ZP
|
|
ROR
|
|
DFB $6B
|
|
JMP (ABS)
|
|
PostJMPI ADC: ABS
|
|
ROR: ABS
|
|
BBR 6;ZP;PostBBR6
|
|
PostBBR6 BVS PostBVS ;$70
|
|
PostBVS ADC (ZP),Y
|
|
ADC (ZP)
|
|
DFB $73
|
|
STZ ZP,X
|
|
ADC ZP,X
|
|
ROR ZP,X
|
|
RMB 7;ZP
|
|
SEI
|
|
ADC: ABS,Y
|
|
PLY
|
|
DFB $7B
|
|
JMP (ABS,X)
|
|
PostJMPX ADC: ABS,X
|
|
ROR: ABS,X
|
|
BBR 7;ZP;PostBBR7
|
|
PostBBR7 BRA PostBRA ;$80
|
|
PostBRA STA (ZP,X)
|
|
DFB $82,ZP
|
|
DFB $83
|
|
STY ZP
|
|
STA ZP
|
|
STX ZP
|
|
SMB 0;ZP
|
|
DEY
|
|
BIT #ZP
|
|
TXA
|
|
DFB $8B
|
|
STY: ABS
|
|
STA: ABS
|
|
STX: ABS
|
|
BBS 0;ZP;PostBBS0
|
|
PostBBS0 BCC PostBCC ;$90
|
|
PostBCC STA (ZP),Y
|
|
STA (ZP)
|
|
DFB $93
|
|
STY ZP,X
|
|
STA ZP,X
|
|
STX ZP,Y
|
|
SMB 1;ZP
|
|
TYA
|
|
STA: ABS,Y
|
|
TXS
|
|
DFB $9B
|
|
STZ: ABS
|
|
STA: ABS,X
|
|
STZ: ABS,X
|
|
BBS 1;ZP;PostBBS1
|
|
PostBBS1 LDY #ZP ;$A0
|
|
LDA (ZP,X)
|
|
LDX #ZP
|
|
DFB $A3
|
|
LDY ZP
|
|
LDA ZP
|
|
LDX ZP
|
|
SMB 2;ZP
|
|
TAY
|
|
LDA #ZP
|
|
TAX
|
|
DFB $AB
|
|
LDY: ABS
|
|
LDA: ABS
|
|
LDX: ABS
|
|
BBS 2;ZP;PostBBS2
|
|
PostBBS2 BCS PostBCS ;$B0
|
|
PostBCS LDA (ZP),Y
|
|
LDA (ZP)
|
|
DFB $B3
|
|
LDY ZP,X
|
|
LDA ZP,X
|
|
LDX ZP,Y
|
|
SMB 3;ZP
|
|
CLV
|
|
LDA: ABS,Y
|
|
TSX
|
|
DFB $BB
|
|
LDY: ABS,X
|
|
LDA: ABS,X
|
|
LDX: ABS,Y
|
|
BBS 3;ZP;PostBBS3
|
|
PostBBS3 CPY #ZP ;$C0
|
|
CMP (ZP,X)
|
|
DFB $C2,ZP
|
|
DFB $C3
|
|
CPY ZP
|
|
CMP ZP
|
|
DEC ZP
|
|
SMB 4;ZP
|
|
INY
|
|
CMP #ZP
|
|
DEX
|
|
WAI
|
|
CPY: ABS
|
|
CMP: ABS
|
|
DEC: ABS
|
|
BBS 4;ZP;PostBBS4
|
|
PostBBS4 BNE PostBNE ;$D0
|
|
PostBNE CMP (ZP),Y
|
|
CMP (ZP)
|
|
DFB $D3
|
|
DFB $D4,ZP
|
|
CMP ZP,X
|
|
DEC ZP,X
|
|
SMB 5;ZP
|
|
CLD
|
|
CMP: ABS,Y
|
|
PHX
|
|
STP
|
|
PostSTP DFB $DC,<ABS,>ABS
|
|
CMP: ABS,X
|
|
DEC: ABS,X
|
|
BBS 5;ZP;PostBBS5
|
|
PostBBS5 CPX #ZP ;$E0
|
|
SBC (ZP,X)
|
|
DFB $E2,ZP
|
|
DFB $E3
|
|
CPX ZP
|
|
SBC ZP
|
|
INC ZP
|
|
SMB 6;ZP
|
|
INX
|
|
SBC #ZP
|
|
NOP
|
|
DFB $EB
|
|
CPX: ABS
|
|
SBC: ABS
|
|
INC: ABS
|
|
BBS 6;ZP;PostBBS6
|
|
PostBBS6 BEQ PostBEQ ;$F0
|
|
PostBEQ SBC (ZP),Y
|
|
SBC (ZP)
|
|
DFB $F3
|
|
DFB $F4,ZP
|
|
SBC ZP,X
|
|
INC ZP,X
|
|
SMB 7;ZP
|
|
SED
|
|
SBC: ABS,Y
|
|
PLX
|
|
DFB $FB
|
|
DFB $FC,<ABS,>ABS
|
|
SBC: ABS,X
|
|
INC: ABS,X
|
|
BBS 7;ZP;PostBBS7
|
|
|
|
PostBBS7 rts
|