Shortened test subdir names.
This commit is contained in:
298
test/dasm/4510-disass.s
Normal file
298
test/dasm/4510-disass.s
Normal file
@@ -0,0 +1,298 @@
|
||||
.setcpu "4510"
|
||||
|
||||
ZP = $12
|
||||
ABS = $2345
|
||||
|
||||
start:
|
||||
brk
|
||||
ora (ZP,x)
|
||||
cle
|
||||
see
|
||||
tsb ZP
|
||||
ora ZP
|
||||
asl ZP
|
||||
rmb0 ZP
|
||||
php
|
||||
ora #$01
|
||||
asl
|
||||
tsy
|
||||
tsb ABS
|
||||
ora ABS
|
||||
asl ABS
|
||||
bbr0 ZP,label1
|
||||
|
||||
label1:
|
||||
bpl label2
|
||||
ora (ZP),y
|
||||
ora (ZP),z
|
||||
lbpl start ; bpl start
|
||||
trb ZP
|
||||
ora ZP,x
|
||||
asl ZP,x
|
||||
rmb1 ZP
|
||||
clc
|
||||
ora ABS,y
|
||||
inc
|
||||
inz
|
||||
trb ABS
|
||||
ora ABS,x
|
||||
asl ABS,x
|
||||
bbr1 ZP,label2
|
||||
|
||||
label2:
|
||||
jsr ABS
|
||||
and (ZP,x)
|
||||
jsr ($2345)
|
||||
jsr ($2456,x)
|
||||
bit ZP
|
||||
and ZP
|
||||
rol ZP
|
||||
rmb2 ZP
|
||||
plp
|
||||
and #$01
|
||||
rol
|
||||
tys
|
||||
bit ABS
|
||||
and ABS
|
||||
rol ABS
|
||||
bbr2 ZP,label3
|
||||
|
||||
label3:
|
||||
bmi label4
|
||||
and (ZP),y
|
||||
and (ZP),z
|
||||
lbmi start ; bmi start
|
||||
bit ZP,x
|
||||
and ZP,x
|
||||
rol ZP,x
|
||||
rmb3 ZP
|
||||
sec
|
||||
and ABS,y
|
||||
dec
|
||||
dez
|
||||
bit ABS,x
|
||||
and ABS,x
|
||||
rol ABS,x
|
||||
bbr3 ZP,label4
|
||||
|
||||
label4:
|
||||
rti
|
||||
eor (ZP,x)
|
||||
neg
|
||||
asr
|
||||
asr ZP
|
||||
eor ZP
|
||||
lsr ZP
|
||||
rmb4 ZP
|
||||
pha
|
||||
eor #$01
|
||||
lsr
|
||||
taz
|
||||
jmp ABS
|
||||
eor ABS
|
||||
lsr ABS
|
||||
bbr4 ZP,label5
|
||||
|
||||
label5:
|
||||
bvc label6
|
||||
eor (ZP),y
|
||||
eor (ZP),z
|
||||
lbvc start ; bvc start
|
||||
asr ZP,x
|
||||
eor ZP,x
|
||||
lsr ZP,x
|
||||
rmb5 ZP
|
||||
cli
|
||||
eor ABS,y
|
||||
phy
|
||||
tab
|
||||
map
|
||||
eor ABS,x
|
||||
lsr ABS,x
|
||||
bbr5 ZP,label6
|
||||
|
||||
label6:
|
||||
rts
|
||||
adc (ZP,x)
|
||||
rtn #$09
|
||||
bsr start
|
||||
stz ZP
|
||||
adc ZP
|
||||
ror ZP
|
||||
rmb6 ZP
|
||||
pla
|
||||
adc #$01
|
||||
ror
|
||||
tza
|
||||
jmp ($2345)
|
||||
adc ABS
|
||||
ror ABS
|
||||
bbr6 ZP,label7
|
||||
|
||||
label7:
|
||||
bvs label8
|
||||
adc (ZP),y
|
||||
adc (ZP),z
|
||||
lbvs start ; bvs start
|
||||
stz ZP,x
|
||||
adc ZP,x
|
||||
ror ZP,x
|
||||
rmb7 ZP
|
||||
sei
|
||||
adc ABS,y
|
||||
ply
|
||||
tba
|
||||
jmp ($2456,x)
|
||||
adc ABS,x
|
||||
ror ABS,x
|
||||
bbr7 ZP,label8
|
||||
|
||||
label8:
|
||||
bra label9
|
||||
sta (ZP,x)
|
||||
sta ($0f,sp),y
|
||||
lbra start ; bra start
|
||||
sty ZP
|
||||
sta ZP
|
||||
stx ZP
|
||||
smb0 ZP
|
||||
dey
|
||||
bit #$01
|
||||
txa
|
||||
sty ABS,x
|
||||
sty ABS
|
||||
sta ABS
|
||||
stx ABS
|
||||
bbs0 ZP,label9
|
||||
|
||||
label9:
|
||||
bcc labelA
|
||||
sta (ZP),y
|
||||
sta (ZP),z
|
||||
lbcc start ; bcc start
|
||||
sty ZP,x
|
||||
sta ZP,x
|
||||
stx ZP,y
|
||||
smb1 ZP
|
||||
tya
|
||||
sta ABS,y
|
||||
txs
|
||||
stx ABS,y
|
||||
stz ABS
|
||||
sta ABS,x
|
||||
stz ABS,x
|
||||
bbs1 ZP,labelA
|
||||
|
||||
labelA:
|
||||
ldy #$01
|
||||
lda (ZP,x)
|
||||
ldx #$01
|
||||
ldz #$01
|
||||
ldy ZP
|
||||
lda ZP
|
||||
ldx ZP
|
||||
smb2 ZP
|
||||
tay
|
||||
lda #$01
|
||||
tax
|
||||
ldz ABS
|
||||
ldy ABS
|
||||
lda ABS
|
||||
ldx ABS
|
||||
bbs2 ZP,labelB
|
||||
|
||||
labelB:
|
||||
bcs labelC
|
||||
lda (ZP),y
|
||||
lda (ZP),z
|
||||
lbcs start ; bcs start
|
||||
ldy ZP,x
|
||||
lda ZP,x
|
||||
ldx ZP,y
|
||||
smb3 ZP
|
||||
clv
|
||||
lda ABS,y
|
||||
tsx
|
||||
ldz ABS,x
|
||||
ldy ABS,x
|
||||
lda ABS,x
|
||||
ldx ABS,y
|
||||
bbs3 ZP,labelC
|
||||
|
||||
labelC:
|
||||
cpy #$01
|
||||
cmp (ZP,x)
|
||||
cpz #$01
|
||||
dew ZP
|
||||
cpy ZP
|
||||
cmp ZP
|
||||
dec ZP
|
||||
smb4 ZP
|
||||
iny
|
||||
cmp #$01
|
||||
dex
|
||||
asw ABS
|
||||
cpy ABS
|
||||
cmp ABS
|
||||
dec ABS
|
||||
bbs4 ZP,labelD
|
||||
|
||||
labelD:
|
||||
bne labelE
|
||||
cmp (ZP),y
|
||||
cmp (ZP),z
|
||||
lbne start ; bne start
|
||||
cpz ZP
|
||||
cmp ZP,x
|
||||
dec ZP,x
|
||||
smb5 ZP
|
||||
cld
|
||||
cmp ABS,y
|
||||
phx
|
||||
phz
|
||||
cpz ABS
|
||||
cmp ABS,x
|
||||
dec ABS,x
|
||||
bbs5 ZP,labelE
|
||||
|
||||
labelE:
|
||||
cpx #$01
|
||||
sbc (ZP,x)
|
||||
lda ($0f,sp),y
|
||||
inw ZP
|
||||
cpx ZP
|
||||
sbc ZP
|
||||
inc ZP
|
||||
smb6 ZP
|
||||
inx
|
||||
sbc #$01
|
||||
eom
|
||||
nop
|
||||
row ABS
|
||||
cpx ABS
|
||||
sbc ABS
|
||||
inc ABS
|
||||
bbs6 ZP,labelF
|
||||
|
||||
labelF:
|
||||
beq labelG
|
||||
sbc (ZP),y
|
||||
sbc (ZP),z
|
||||
lbeq start ; beq start
|
||||
phw #$089a
|
||||
sbc ZP,x
|
||||
inc ZP,x
|
||||
smb7 ZP
|
||||
sed
|
||||
sbc ABS,y
|
||||
plx
|
||||
plz
|
||||
phd ABS
|
||||
phw ABS
|
||||
sbc ABS,x
|
||||
inc ABS,x
|
||||
bbs7 ZP,labelG
|
||||
|
||||
labelG:
|
||||
brk
|
||||
|
||||
64
test/dasm/Makefile
Normal file
64
test/dasm/Makefile
Normal file
@@ -0,0 +1,64 @@
|
||||
# Makefile for the disassembler regression tests
|
||||
|
||||
ifneq ($(shell echo),)
|
||||
CMD_EXE = 1
|
||||
endif
|
||||
|
||||
ifdef CMD_EXE
|
||||
EXE = .exe
|
||||
MKDIR = mkdir $(subst /,\,$1)
|
||||
RMDIR = -rmdir /s /q $(subst /,\,$1)
|
||||
DEL = del /f $(subst /,\,$1)
|
||||
else
|
||||
EXE =
|
||||
MKDIR = mkdir -p $1
|
||||
RMDIR = $(RM) -r $1
|
||||
DEL = $(RM) $1
|
||||
endif
|
||||
|
||||
CL65 := $(if $(wildcard ../../bin/cl65*),../../bin/cl65,cl65)
|
||||
DA65 := $(if $(wildcard ../../bin/da65*),../../bin/da65,da65)
|
||||
|
||||
WORKDIR = ../../testwrk/dasm
|
||||
|
||||
DIFF = $(WORKDIR)/bdiff$(EXE)
|
||||
|
||||
CC = gcc
|
||||
CFLAGS = -O2
|
||||
|
||||
START = --start-addr 0x8000
|
||||
|
||||
.PHONY: all clean
|
||||
|
||||
SOURCES := $(wildcard *.s)
|
||||
CPUS = $(foreach src,$(SOURCES),$(src:%-disass.s=%))
|
||||
BINS = $(foreach cpu,$(CPUS),$(WORKDIR)/$(cpu)-reass.bin)
|
||||
|
||||
# default target defined later
|
||||
all: $(BINS)
|
||||
|
||||
$(WORKDIR):
|
||||
$(call MKDIR,$(WORKDIR))
|
||||
|
||||
$(DIFF): ../bdiff.c | $(WORKDIR)
|
||||
$(CC) $(CFLAGS) -o $@ $<
|
||||
|
||||
define DISASS_template
|
||||
|
||||
$(WORKDIR)/$1-disass.bin: $1-disass.s | $(WORKDIR)
|
||||
$(CL65) --cpu $1 -t none $(START) -o $$@ $$<
|
||||
|
||||
$(WORKDIR)/$1-reass.s: $(WORKDIR)/$1-disass.bin
|
||||
$(DA65) --cpu $1 $(START) -o $$@ $$<
|
||||
|
||||
$(WORKDIR)/$1-reass.bin: $(WORKDIR)/$1-reass.s $(DIFF)
|
||||
$(CL65) --cpu $1 -t none $(START) -o $$@ $$<
|
||||
$(DIFF) $$@ $(WORKDIR)/$1-disass.bin
|
||||
|
||||
endef # DISASS_template
|
||||
|
||||
$(foreach cpu,$(CPUS),$(eval $(call DISASS_template,$(cpu))))
|
||||
|
||||
clean:
|
||||
@$(call RMDIR,$(WORKDIR))
|
||||
@$(call DEL,$(SOURCES:.s=.o))
|
||||
Reference in New Issue
Block a user