mirror of
https://github.com/fadden/6502bench.git
synced 2024-09-11 04:57:02 +00:00
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
|