Add a da65 65186 test

This commit is contained in:
Lauri Kasanen 2022-10-17 12:50:59 +03:00
parent 3ea999f034
commit 9aae1efd03
4 changed files with 303 additions and 1 deletions

7
test/dasm/65816.cfg Normal file
View File

@ -0,0 +1,7 @@
MEMORY {
ROM: start = $8000, size = $8000;
}
SEGMENTS {
CODE: load = ROM;
}

7
test/dasm/65816.info Normal file
View File

@ -0,0 +1,7 @@
GLOBAL {
startaddr $8000;
};
RANGE { START $8000; END $8229; ADDRMODE "MX"; TYPE Code;};
RANGE { START $822a; END $824b; ADDRMODE "mx"; TYPE Code;};

View File

@ -19,6 +19,8 @@ ifdef QUIET
endif
CL65 := $(if $(wildcard ../../bin/cl65*),../../bin/cl65,cl65)
CA65 := $(if $(wildcard ../../bin/ca65*),../../bin/ca65,ca65)
LD65 := $(if $(wildcard ../../bin/ld65*),../../bin/ld65,ld65)
DA65 := $(if $(wildcard ../../bin/da65*),../../bin/da65,da65)
WORKDIR = ../../testwrk/dasm
@ -33,7 +35,7 @@ START = --start-addr 0x8000
.PHONY: all clean
SOURCES := $(wildcard *.s)
BINS = $(SOURCES:%disass.s=$(WORKDIR)/%reass.bin)
BINS = $(SOURCES:%disass.s=$(WORKDIR)/%reass.bin) $(WORKDIR)/65816-reass.bin
CPUS = $(SOURCES:%-disass.s=%)
all: $(BINS)
@ -61,5 +63,18 @@ endef # DISASS_template
$(foreach cpu,$(CPUS),$(eval $(call DISASS_template,$(cpu))))
$(WORKDIR)/test65816.bin: test65816.s | $(WORKDIR)
$(CA65) -o $(WORKDIR)/test65816.o $<
$(LD65) -o $@ -C 65816.cfg $(WORKDIR)/test65816.o
$(WORKDIR)/65816-reass.s: $(WORKDIR)/test65816.bin
$(DA65) --cpu 65816 -i 65816.info -o $@ $<
$(WORKDIR)/65816-reass.bin: $(WORKDIR)/65816-reass.s $(ISEQUAL)
$(if $(QUIET),echo dasm/65816-reass.bin)
$(CA65) -o $(WORKDIR)/65816-reass.o $<
$(LD65) -o $@ -C 65816.cfg $(WORKDIR)/65816-reass.o
$(ISEQUAL) --binary $(WORKDIR)/test65816.bin $@
clean:
@$(call RMDIR,$(WORKDIR))

273
test/dasm/test65816.s Normal file
View File

@ -0,0 +1,273 @@
.setcpu "65816"
ADC ($10,X)
ADC $32,S
ADC $10
ADC [$10]
ADC #$54
ADC $9876
ADC $FEDBCA
ADC ($10),Y
ADC ($10)
ADC ($32,S),Y
ADC $10,X
ADC [$10],Y
ADC $9876,Y
ADC $9876,X
ADC $FEDCBA,X
SBC ($10,X)
SBC $32,S
SBC $10
SBC [$10]
SBC #$54
SBC $9876
SBC $FEDBCA
SBC ($10),Y
SBC ($10)
SBC ($32,S),Y
SBC $10,X
SBC [$10],Y
SBC $9876,Y
SBC $9876,X
SBC $FEDCBA,X
CMP ($10,X)
CMP $32,S
CMP $10
CMP [$10]
CMP #$54
CMP $9876
CMP $FEDBCA
CMP ($10),Y
CMP ($10)
CMP ($32,S),Y
CMP $10,X
CMP [$10],Y
CMP $9876,Y
CMP $9876,X
CMP $FEDCBA,X
CPX #$54
CPX $10
CPX $9876
CPY #$54
CPY $10
CPY $9876
DEC
DEC $10
DEC $9876
DEC $10,X
DEC $9876,X
DEX
DEY
INC
INC $10
INC $9876
INC $10,X
INC $9876,X
INX
INY
AND ($10,X)
AND $32,S
AND $10
AND [$10]
AND #$54
AND $9876
AND $FEDBCA
AND ($10),Y
AND ($10)
AND ($32,S),Y
AND $10,X
AND [$10],Y
AND $9876,Y
AND $9876,X
AND $FEDCBA,X
EOR ($10,X)
EOR $32,S
EOR $10
EOR [$10]
EOR #$54
EOR $9876
EOR $FEDBCA
EOR ($10),Y
EOR ($10)
EOR ($32,S),Y
EOR $10,X
EOR [$10],Y
EOR $9876,Y
EOR $9876,X
EOR $FEDCBA,X
ORA ($10,X)
ORA $32,S
ORA $10
ORA [$10]
ORA #$54
ORA $9876
ORA $FEDBCA
ORA ($10),Y
ORA ($10)
ORA ($32,S),Y
ORA $10,X
ORA [$10],Y
ORA $9876,Y
ORA $9876,X
ORA $FEDCBA,X
BIT $10
BIT $9876
BIT $10,X
BIT $9876,X
BIT #$54
TRB $10
TRB $9876
TSB $10
TSB $9876
ASL $10
ASL
ASL $9876
ASL $10,X
ASL $9876,X
LSR $10
LSR
LSR $9876
LSR $10,X
LSR $9876,X
ROL $10
ROL
ROL $9876
ROL $10,X
ROL $9876,X
ROR $10
ROR
ROR $9876
ROR $10,X
ROR $9876,X
LABEL:
BCC LABEL
BCS LABEL
BEQ LABEL
BMI LABEL
BNE LABEL
BPL LABEL
BRA LABEL
BVC LABEL
BVS LABEL
BRL LABEL
JMP $1234
JMP $FEDCBA
JMP ($1234)
JMP ($1234,X)
JMP [$1234]
JSL $123456
JSR $1234
JSR ($1234,X)
RTL
RTS
BRK
RTI
CLC
CLD
CLI
CLV
SEC
SED
SEI
REP #$12
SEP #$12
LDA ($10,X)
LDA $32,S
LDA $10
LDA [$10]
LDA #$54
LDA $9876
LDA $FEDBCA
LDA ($10),Y
LDA ($10)
LDA ($32,S),Y
LDA $10,X
LDA [$10],Y
LDA $9876,Y
LDA $9876,X
LDA $FEDCBA,X
LDX #$54
LDX $10
LDX $9876
LDX $10,Y
LDX $9876,Y
LDY #$54
LDY $10
LDY $9876
LDY $10,X
LDY $9876,X
STA ($10,X)
STA $32,S
STA $10
STA [$10]
STA $9876
STA $FEDBCA
STA ($10),Y
STA ($10)
STA ($32,S),Y
STA $10,X
STA [$10],Y
STA $9876,Y
STA $9876,X
STA $FEDCBA,X
STX $10
STX $9876
STX $10,Y
STY $10
STY $9876
STY $10,X
STZ $10
STZ $10,X
STZ $9876
STZ $9876,X
MVN #$12,#$34
MVP #$12,#$34
NOP
PEA $1234
PEI ($12)
PER LABEL
PHA
PHX
PHY
PLA
PLX
PLY
PHB
PHD
PHK
PHP
PLB
PLD
PLP
STP
WAI
TAX
TAY
TSX
TXA
TXS
TXY
TYA
TYX
TCD
TCS
TDC
TSC
XBA
XCE
.a16
.i16
longs:
ADC #$5432
SBC #$5432
CMP #$5432
CPX #$5432
CPY #$5432
AND #$5432
EOR #$5432
ORA #$5432
BIT #$5432
LDA #$5432
LDX #$5432
LDY #$5432