mirror of https://github.com/cc65/cc65.git
Merge remote-tracking branch 'upstream/master' into rremd
This commit is contained in:
commit
bc44bd583c
|
@ -1797,7 +1797,6 @@ void CE_GenRegInfo (CodeEntry* E, RegContents* InputRegs)
|
|||
}
|
||||
} else if (strcmp (E->Arg, "tosaslax") == 0) {
|
||||
if (RegValIsKnown (In->RegA) && (In->RegA & 0x0F) >= 8) {
|
||||
printf ("Hey!\n");
|
||||
Out->RegA = 0;
|
||||
}
|
||||
} else if (strcmp (E->Arg, "tosorax") == 0) {
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
; 2022-01-17 Spiro Trikaliotis
|
||||
|
||||
.macro TESTER
|
||||
lda #2
|
||||
.endmacro
|
||||
|
||||
test:
|
||||
ldx #0
|
||||
TESTER
|
||||
ldx #15
|
||||
TESTER
|
||||
inx
|
||||
TESTER
|
||||
TESTER
|
||||
dex
|
||||
rts
|
|
@ -0,0 +1,16 @@
|
|||
; 2022-01-17 Spiro Trikaliotis
|
||||
|
||||
.macro TESTER val
|
||||
lda #val
|
||||
.endmacro
|
||||
|
||||
test:
|
||||
ldx #0
|
||||
TESTER 1
|
||||
ldx #15
|
||||
TESTER 2
|
||||
inx
|
||||
TESTER 3
|
||||
TESTER 4
|
||||
dex
|
||||
rts
|
|
@ -0,0 +1,14 @@
|
|||
; 2022-06-15 Spiro Trikaliotis
|
||||
|
||||
|
||||
; upper case pseudo-op
|
||||
.ASCIIZ ""
|
||||
.ASCIIZ "Hello World"
|
||||
.ASCIIZ "Hello ","World"
|
||||
.ASCIIZ "Hello ","World"," ","I"," ","am"," ","testing"
|
||||
|
||||
; lower case pseudo-op
|
||||
.asciiz ""
|
||||
.asciiz "Hello World"
|
||||
.asciiz "Hello ","World"
|
||||
.asciiz "Hello ","World"," ","I"," ","am"," ","testing"
|
|
@ -0,0 +1,81 @@
|
|||
; 2022-06-15 Spiro Trikaliotis
|
||||
|
||||
.ASSERT * = $0000, warning, "Code not at $0000"
|
||||
.assert * = $0000, warning, "Code not at $0000"
|
||||
|
||||
.ASSERT * = $0001, warning, "Code not at $0001"
|
||||
.assert * = $0001, warning, "Code not at $0001"
|
||||
|
||||
.ASSERT * = $1000, warning, "Code not at $1000"
|
||||
.assert * = $1000, warning, "Code not at $1000"
|
||||
|
||||
.ASSERT * = $1001, warning, "Code not at $1001"
|
||||
.assert * = $1001, warning, "Code not at $1001"
|
||||
|
||||
.ASSERT * = $8000, warning, "Code not at $8000"
|
||||
.assert * = $8000, warning, "Code not at $8000"
|
||||
|
||||
.ASSERT * = $8001, warning, "Code not at $8001"
|
||||
.assert * = $8001, warning, "Code not at $8001"
|
||||
|
||||
nop
|
||||
|
||||
.ASSERT * = $0000, warning, "Code not at $0000"
|
||||
.assert * = $0000, warning, "Code not at $0000"
|
||||
|
||||
.ASSERT * = $0001, warning, "Code not at $0001"
|
||||
.assert * = $0001, warning, "Code not at $0001"
|
||||
|
||||
.ASSERT * = $1000, warning, "Code not at $1000"
|
||||
.assert * = $1000, warning, "Code not at $1000"
|
||||
|
||||
.ASSERT * = $1001, warning, "Code not at $1001"
|
||||
.assert * = $1001, warning, "Code not at $1001"
|
||||
|
||||
.ASSERT * = $8000, warning, "Code not at $8000"
|
||||
.assert * = $8000, warning, "Code not at $8000"
|
||||
|
||||
.ASSERT * = $8001, warning, "Code not at $8001"
|
||||
.assert * = $8001, warning, "Code not at $8001"
|
||||
|
||||
|
||||
|
||||
.org $8000
|
||||
|
||||
.ASSERT * = $0000, warning, "Code not at $0000"
|
||||
.assert * = $0000, warning, "Code not at $0000"
|
||||
|
||||
.ASSERT * = $0001, warning, "Code not at $0001"
|
||||
.assert * = $0001, warning, "Code not at $0001"
|
||||
|
||||
.ASSERT * = $1000, warning, "Code not at $1000"
|
||||
.assert * = $1000, warning, "Code not at $1000"
|
||||
|
||||
.ASSERT * = $1001, warning, "Code not at $1001"
|
||||
.assert * = $1001, warning, "Code not at $1001"
|
||||
|
||||
.ASSERT * = $8000, warning, "Code not at $8000"
|
||||
.assert * = $8000, warning, "Code not at $8000"
|
||||
|
||||
.ASSERT * = $8001, warning, "Code not at $8001"
|
||||
.assert * = $8001, warning, "Code not at $8001"
|
||||
|
||||
nop
|
||||
|
||||
.ASSERT * = $0000, warning, "Code not at $0000"
|
||||
.assert * = $0000, warning, "Code not at $0000"
|
||||
|
||||
.ASSERT * = $0001, warning, "Code not at $0001"
|
||||
.assert * = $0001, warning, "Code not at $0001"
|
||||
|
||||
.ASSERT * = $1000, warning, "Code not at $1000"
|
||||
.assert * = $1000, warning, "Code not at $1000"
|
||||
|
||||
.ASSERT * = $1001, warning, "Code not at $1001"
|
||||
.assert * = $1001, warning, "Code not at $1001"
|
||||
|
||||
.ASSERT * = $8000, warning, "Code not at $8000"
|
||||
.assert * = $8000, warning, "Code not at $8000"
|
||||
|
||||
.ASSERT * = $8001, warning, "Code not at $8001"
|
||||
.assert * = $8001, warning, "Code not at $8001"
|
|
@ -0,0 +1,28 @@
|
|||
; 2022-06-15 Spiro Trikaliotis
|
||||
|
||||
.ASSERT * = $0000, error, "Code not at $0000"
|
||||
.assert * = $0000, error, "Code not at $0000"
|
||||
|
||||
.ASSERT * = $0001, error, "Code not at $0001"
|
||||
.assert * = $0001, error, "Code not at $0001"
|
||||
|
||||
.ASSERT * = $1000, error, "Code not at $1000"
|
||||
.assert * = $1000, error, "Code not at $1000"
|
||||
|
||||
.ASSERT * = $1001, error, "Code not at $1001"
|
||||
.assert * = $1001, error, "Code not at $1001"
|
||||
|
||||
.ASSERT * = $8000, error, "Code not at $8000"
|
||||
.assert * = $8000, error, "Code not at $8000"
|
||||
|
||||
.ASSERT * = $8001, error, "Code not at $8001"
|
||||
.assert * = $8001, error, "Code not at $8001"
|
||||
|
||||
|
||||
.org $8000
|
||||
|
||||
.ASSERT * = $8000, error, "Code not at $8000"
|
||||
.assert * = $8000, error, "Code not at $8000"
|
||||
|
||||
.ASSERT * = $8001, error, "Code not at $8001"
|
||||
.assert * = $8001, error, "Code not at $8001"
|
|
@ -0,0 +1,8 @@
|
|||
; 2022-06-18 Spiro Trikaliotis
|
||||
|
||||
.ASSERT * = $0000, error, "Code not at $0000"
|
||||
.ASSERT * = $0001, error, "Code not at $0001"
|
||||
.ASSERT * = $1000, error, "Code not at $1000"
|
||||
.ASSERT * = $1001, error, "Code not at $1001"
|
||||
.ASSERT * = $8000, error, "Code not at $8000"
|
||||
.ASSERT * = $8001, error, "Code not at $8001"
|
|
@ -0,0 +1,3 @@
|
|||
; 2022-06-20 Spiro Trikaliotis
|
||||
|
||||
.assert * = $0000, error, "Code not at $0000"
|
|
@ -0,0 +1,3 @@
|
|||
; 2022-06-20 Spiro Trikaliotis
|
||||
|
||||
.assert * = $0001, error, "Code not at $0001"
|
|
@ -0,0 +1,3 @@
|
|||
; 2022-06-20 Spiro Trikaliotis
|
||||
|
||||
.assert * = $1000, error, "Code not at $1000"
|
|
@ -0,0 +1,3 @@
|
|||
; 2022-06-20 Spiro Trikaliotis
|
||||
|
||||
.assert * = $1001, error, "Code not at $1001"
|
|
@ -0,0 +1,3 @@
|
|||
; 2022-06-20 Spiro Trikaliotis
|
||||
|
||||
.assert * = $8000, error, "Code not at $8000"
|
|
@ -0,0 +1,3 @@
|
|||
; 2022-06-20 Spiro Trikaliotis
|
||||
|
||||
.assert * = $8001, error, "Code not at $8001"
|
|
@ -0,0 +1,81 @@
|
|||
; 2022-06-15 Spiro Trikaliotis
|
||||
|
||||
.ASSERT * = $0000, ldwarning, "Code not at $0000"
|
||||
.assert * = $0000, ldwarning, "Code not at $0000"
|
||||
|
||||
.ASSERT * = $0001, ldwarning, "Code not at $0001"
|
||||
.assert * = $0001, ldwarning, "Code not at $0001"
|
||||
|
||||
.ASSERT * = $1000, ldwarning, "Code not at $1000"
|
||||
.assert * = $1000, ldwarning, "Code not at $1000"
|
||||
|
||||
.ASSERT * = $1001, ldwarning, "Code not at $1001"
|
||||
.assert * = $1001, ldwarning, "Code not at $1001"
|
||||
|
||||
.ASSERT * = $8000, ldwarning, "Code not at $8000"
|
||||
.assert * = $8000, ldwarning, "Code not at $8000"
|
||||
|
||||
.ASSERT * = $8001, ldwarning, "Code not at $8001"
|
||||
.assert * = $8001, ldwarning, "Code not at $8001"
|
||||
|
||||
nop
|
||||
|
||||
.ASSERT * = $0000, ldwarning, "Code not at $0000"
|
||||
.assert * = $0000, ldwarning, "Code not at $0000"
|
||||
|
||||
.ASSERT * = $0001, ldwarning, "Code not at $0001"
|
||||
.assert * = $0001, ldwarning, "Code not at $0001"
|
||||
|
||||
.ASSERT * = $1000, ldwarning, "Code not at $1000"
|
||||
.assert * = $1000, ldwarning, "Code not at $1000"
|
||||
|
||||
.ASSERT * = $1001, ldwarning, "Code not at $1001"
|
||||
.assert * = $1001, ldwarning, "Code not at $1001"
|
||||
|
||||
.ASSERT * = $8000, ldwarning, "Code not at $8000"
|
||||
.assert * = $8000, ldwarning, "Code not at $8000"
|
||||
|
||||
.ASSERT * = $8001, ldwarning, "Code not at $8001"
|
||||
.assert * = $8001, ldwarning, "Code not at $8001"
|
||||
|
||||
|
||||
|
||||
.org $8000
|
||||
|
||||
.ASSERT * = $0000, ldwarning, "Code not at $0000"
|
||||
.assert * = $0000, ldwarning, "Code not at $0000"
|
||||
|
||||
.ASSERT * = $0001, ldwarning, "Code not at $0001"
|
||||
.assert * = $0001, ldwarning, "Code not at $0001"
|
||||
|
||||
.ASSERT * = $1000, ldwarning, "Code not at $1000"
|
||||
.assert * = $1000, ldwarning, "Code not at $1000"
|
||||
|
||||
.ASSERT * = $1001, ldwarning, "Code not at $1001"
|
||||
.assert * = $1001, ldwarning, "Code not at $1001"
|
||||
|
||||
.ASSERT * = $8000, ldwarning, "Code not at $8000"
|
||||
.assert * = $8000, ldwarning, "Code not at $8000"
|
||||
|
||||
.ASSERT * = $8001, ldwarning, "Code not at $8001"
|
||||
.assert * = $8001, ldwarning, "Code not at $8001"
|
||||
|
||||
nop
|
||||
|
||||
.ASSERT * = $0000, ldwarning, "Code not at $0000"
|
||||
.assert * = $0000, ldwarning, "Code not at $0000"
|
||||
|
||||
.ASSERT * = $0001, ldwarning, "Code not at $0001"
|
||||
.assert * = $0001, ldwarning, "Code not at $0001"
|
||||
|
||||
.ASSERT * = $1000, ldwarning, "Code not at $1000"
|
||||
.assert * = $1000, ldwarning, "Code not at $1000"
|
||||
|
||||
.ASSERT * = $1001, ldwarning, "Code not at $1001"
|
||||
.assert * = $1001, ldwarning, "Code not at $1001"
|
||||
|
||||
.ASSERT * = $8000, ldwarning, "Code not at $8000"
|
||||
.assert * = $8000, ldwarning, "Code not at $8000"
|
||||
|
||||
.ASSERT * = $8001, ldwarning, "Code not at $8001"
|
||||
.assert * = $8001, ldwarning, "Code not at $8001"
|
|
@ -0,0 +1,28 @@
|
|||
; 2022-06-15 Spiro Trikaliotis
|
||||
|
||||
.ASSERT * = $0000, error, "Code not at $0000"
|
||||
.assert * = $0000, error, "Code not at $0000"
|
||||
|
||||
.ASSERT * = $0001, error, "Code not at $0001"
|
||||
.assert * = $0001, error, "Code not at $0001"
|
||||
|
||||
.ASSERT * = $1000, error, "Code not at $1000"
|
||||
.assert * = $1000, error, "Code not at $1000"
|
||||
|
||||
.ASSERT * = $1001, error, "Code not at $1001"
|
||||
.assert * = $1001, error, "Code not at $1001"
|
||||
|
||||
.ASSERT * = $8000, error, "Code not at $8000"
|
||||
.assert * = $8000, error, "Code not at $8000"
|
||||
|
||||
.ASSERT * = $8001, error, "Code not at $8001"
|
||||
.assert * = $8001, error, "Code not at $8001"
|
||||
|
||||
|
||||
.org $8000
|
||||
|
||||
.ASSERT * = $8000, error, "Code not at $8000"
|
||||
.assert * = $8000, error, "Code not at $8000"
|
||||
|
||||
.ASSERT * = $8001, error, "Code not at $8001"
|
||||
.assert * = $8001, error, "Code not at $8001"
|
|
@ -0,0 +1,8 @@
|
|||
; 2022-06-18 Spiro Trikaliotis
|
||||
|
||||
.ASSERT * = $0000, lderror, "Code not at $0000"
|
||||
.ASSERT * = $0001, lderror, "Code not at $0001"
|
||||
.ASSERT * = $1000, lderror, "Code not at $1000"
|
||||
.ASSERT * = $1001, lderror, "Code not at $1001"
|
||||
.ASSERT * = $8000, lderror, "Code not at $8000"
|
||||
.ASSERT * = $8001, lderror, "Code not at $8001"
|
|
@ -0,0 +1,3 @@
|
|||
; 2022-06-20 Spiro Trikaliotis
|
||||
|
||||
.assert * = $0000, lderror, "Code not at $0000"
|
|
@ -0,0 +1,3 @@
|
|||
; 2022-06-20 Spiro Trikaliotis
|
||||
|
||||
.assert * = $0001, lderror, "Code not at $0001"
|
|
@ -0,0 +1,3 @@
|
|||
; 2022-06-20 Spiro Trikaliotis
|
||||
|
||||
.assert * = $1000, lderror, "Code not at $1000"
|
|
@ -0,0 +1,3 @@
|
|||
; 2022-06-20 Spiro Trikaliotis
|
||||
|
||||
.assert * = $1001, lderror, "Code not at $1001"
|
|
@ -0,0 +1,3 @@
|
|||
; 2022-06-20 Spiro Trikaliotis
|
||||
|
||||
.assert * = $8000, lderror, "Code not at $8000"
|
|
@ -0,0 +1,3 @@
|
|||
; 2022-06-20 Spiro Trikaliotis
|
||||
|
||||
.assert * = $8001, lderror, "Code not at $8001"
|
|
@ -0,0 +1,20 @@
|
|||
; 2022-06-20 Spiro Trikaliotis
|
||||
|
||||
.byte 0
|
||||
|
||||
.align 4
|
||||
.byte 4
|
||||
.word 12
|
||||
.word 18
|
||||
|
||||
.align 1
|
||||
.byte 1
|
||||
|
||||
.align 8
|
||||
.byte 8
|
||||
|
||||
.align 8
|
||||
.byte 8
|
||||
|
||||
.align 128
|
||||
.byte 128
|
|
@ -0,0 +1,10 @@
|
|||
; 2022-06-20 Spiro Trikaliotis
|
||||
|
||||
.case -
|
||||
|
||||
CamelCase:
|
||||
lda #0
|
||||
|
||||
Test:
|
||||
beq CamelCase
|
||||
bne camelcase
|
|
@ -0,0 +1,10 @@
|
|||
; 2022-06-20 Spiro Trikaliotis
|
||||
|
||||
.case off
|
||||
|
||||
CamelCase:
|
||||
lda #0
|
||||
|
||||
Test:
|
||||
beq CamelCase
|
||||
bne camelcase
|
|
@ -0,0 +1,10 @@
|
|||
; 2022-06-20 Spiro Trikaliotis
|
||||
|
||||
.CASE OFF
|
||||
|
||||
CamelCase:
|
||||
lda #0
|
||||
|
||||
Test:
|
||||
beq CamelCase
|
||||
bne camelcase
|
|
@ -0,0 +1,10 @@
|
|||
; 2022-06-20 Spiro Trikaliotis
|
||||
|
||||
|
||||
|
||||
CamelCase:
|
||||
lda #0
|
||||
|
||||
Test:
|
||||
beq CamelCase
|
||||
bne camelcase
|
|
@ -0,0 +1,10 @@
|
|||
; 2022-06-20 Spiro Trikaliotis
|
||||
|
||||
.case +
|
||||
|
||||
CamelCase:
|
||||
lda #0
|
||||
|
||||
Test:
|
||||
beq CamelCase
|
||||
bne camelcase
|
|
@ -0,0 +1,10 @@
|
|||
; 2022-06-20 Spiro Trikaliotis
|
||||
|
||||
.case on
|
||||
|
||||
CamelCase:
|
||||
lda #0
|
||||
|
||||
Test:
|
||||
beq CamelCase
|
||||
bne camelcase
|
|
@ -0,0 +1,10 @@
|
|||
; 2022-06-20 Spiro Trikaliotis
|
||||
|
||||
.CASE ON
|
||||
|
||||
CamelCase:
|
||||
lda #0
|
||||
|
||||
Test:
|
||||
beq CamelCase
|
||||
bne camelcase
|
|
@ -0,0 +1,10 @@
|
|||
; 2022-06-20 Spiro Trikaliotis
|
||||
|
||||
.case
|
||||
|
||||
CamelCase:
|
||||
lda #0
|
||||
|
||||
Test:
|
||||
beq CamelCase
|
||||
bne camelcase
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -15,7 +15,7 @@ else
|
|||
endif
|
||||
|
||||
ifdef QUIET
|
||||
.SILENT:
|
||||
# .SILENT:
|
||||
endif
|
||||
|
||||
CA65 := $(if $(wildcard ../../../bin/ca65*),../../../bin/ca65,ca65)
|
||||
|
@ -49,33 +49,82 @@ $(WORKDIR)/$1.bin: $1.s $(ISEQUAL)
|
|||
$(if $(QUIET),echo asm/$1.bin)
|
||||
|
||||
# compile without generating listing
|
||||
$(CA65) -t none -o $$(@:.bin=.o) $$<
|
||||
$(LD65) -t none -o $$@ $$(@:.bin=.o) none.lib
|
||||
|
||||
ifneq ($(wildcard $1.bin-ref),)
|
||||
$(ISEQUAL) $1.bin-ref $$@
|
||||
ifeq ($(wildcard control/$1.err),)
|
||||
$(CA65) -t none -o $$(@:.bin=.o) $$< > $$(@:.bin=.err) 2>&1
|
||||
ifeq ($(wildcard control/$1.no-ld65),)
|
||||
$(LD65) -t none -o $$@ $$(@:.bin=.o) none.lib > $$(@:.bin=.ld65-err) 2>&1
|
||||
endif
|
||||
else
|
||||
$(CA65) -t none -o $$(@:.bin=.o) $$< > $$(@:.bin=.err) 2>&1 || true
|
||||
ifeq ($(wildcard control/$1.no-ld65),)
|
||||
$(LD65) -t none -o $$@ $$(@:.bin=.o) none.lib > $$(@:.bin=.ld65-err) 2>&1 || true
|
||||
endif
|
||||
endif
|
||||
|
||||
$(CA65) -t none -l $$(@:.bin=.list.orig) -o $$(@:.bin=.list-o) $$<
|
||||
$(LD65) -t none -o $$(@:.bin=.list-bin) $$(@:.bin=.list-o) none.lib
|
||||
ifneq ($(wildcard ref/$1.err-ref),)
|
||||
$(ISEQUAL) ref/$1.err-ref $$(@:.bin=.err)
|
||||
else
|
||||
$(ISEQUAL) --empty $$(@:.bin=.err)
|
||||
endif
|
||||
|
||||
ifneq ($(wildcard ref/$1.bin-ref),)
|
||||
$(ISEQUAL) --binary ref/$1.bin-ref $$@
|
||||
endif
|
||||
|
||||
ifneq ($(wildcard ref/$1.ld65err-ref),)
|
||||
@echo cat $$(@:.bin=.ld65-err)
|
||||
cat $$(@:.bin=.ld65-err)
|
||||
@echo
|
||||
@echo
|
||||
-diff -u ref/$1.ld65err-ref $$(@:.bin=.ld65-err)
|
||||
@echo
|
||||
@echo
|
||||
$(ISEQUAL) --wildcards ref/$1.ld65err-ref $$(@:.bin=.ld65-err)
|
||||
else
|
||||
ifneq ($(wildcard $(WORKDIR)/$1.ld65-err),)
|
||||
$(ISEQUAL) --empty $$(@:.bin=.ld65-err)
|
||||
endif
|
||||
endif
|
||||
|
||||
# compile with listing file
|
||||
ifeq ($(wildcard control/$1.err),)
|
||||
$(CA65) -t none -l $$(@:.bin=.list-lst) -o $$(@:.bin=.list-o) $$< > $$(@:.bin=.list-err) 2>&1
|
||||
ifeq ($(wildcard control/$1.no-ld65),)
|
||||
$(LD65) -t none -o $$(@:.bin=.list-bin) $$(@:.bin=.list-o) none.lib > $$(@:.bin=.list-ld65-err) 2>&1
|
||||
endif
|
||||
else
|
||||
$(CA65) -t none -l $$(@:.bin=.list-lst) -o $$(@:.bin=.list-o) $$< > $$(@:.bin=.list-err) 2>&1 || true
|
||||
ifeq ($(wildcard control/$1.no-ld65),)
|
||||
$(LD65) -t none -o $$(@:.bin=.list-bin) $$(@:.bin=.list-o) none.lib > $$(@:.bin=.list-ld65-err) 2>&1 || true
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(wildcard ref/$1.err-ref),)
|
||||
$(ISEQUAL) ref/$1.err-ref $$(@:.bin=.list-err)
|
||||
else
|
||||
$(ISEQUAL) --empty $$(@:.bin=.list-err)
|
||||
endif
|
||||
|
||||
ifneq ($(wildcard ref/$1.ld65err-ref),)
|
||||
$(ISEQUAL) --wildcards ref/$1.ld65err-ref $$(@:.bin=.list-ld65-err)
|
||||
else
|
||||
ifneq ($(wildcard $(WORKDIR)/$1.list-ld65-err),)
|
||||
$(ISEQUAL) --empty $$(@:.bin=.list-ld65-err)
|
||||
endif
|
||||
endif
|
||||
|
||||
# check if the result bin is the same as without listing file
|
||||
ifeq ($(wildcard control/$1.err),)
|
||||
$(ISEQUAL) $$@ $$(@:.bin=.list-bin)
|
||||
endif
|
||||
|
||||
ifneq ($(wildcard $1.list-ref),)
|
||||
ifneq ($(wildcard ref/$1.list-ref),)
|
||||
# we have a reference file, compare that, too
|
||||
|
||||
# remove first line which contains a version number
|
||||
tail -n +2 $$(@:.bin=.lst.orig) > $$(@:.bin=.lst)
|
||||
$(ISEQUAL) $1.list-ref $$(@:.bin=.lst)
|
||||
$(ISEQUAL) --skip=1 ref/$1.list-ref $$(@:.bin=.list-lst)
|
||||
endif
|
||||
|
||||
# $(CA65) -t none -f -l $$(@:.bin=.flist.orig) -o $$(@:.bin=.flist-o) $$<
|
||||
# $(LD65) -t none -o $$(@:.bin=.flist-bin) $$(@:.bin=.flist-o) none.lib
|
||||
|
||||
# # check if the result bin is the same as without listing file
|
||||
# $(ISEQUAL) $$@ $$(@:.bin=.flist-bin)
|
||||
|
||||
endef # LISTING_template
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
ca65 Vx.xx - Git XXXXXXXXX
|
||||
Main file : 001-macro-simple-listing.s
|
||||
Current file: 001-macro-simple-listing.s
|
||||
|
||||
000000r 1 ; 2022-01-17 Spiro Trikaliotis
|
||||
000000r 1
|
||||
000000r 1 .macro TESTER
|
||||
000000r 1 lda #2
|
||||
000000r 1 .endmacro
|
||||
000000r 1
|
||||
000000r 1 test:
|
||||
000000r 1 A2 00 ldx #0
|
||||
000002r 1 A9 02 TESTER
|
||||
000004r 1 A2 0F ldx #15
|
||||
000006r 1 A9 02 TESTER
|
||||
000008r 1 E8 inx
|
||||
000009r 1 A9 02 TESTER
|
||||
00000Br 1 A9 02 TESTER
|
||||
00000Dr 1 CA dex
|
||||
00000Er 1 60 rts
|
||||
00000Er 1
|
|
@ -0,0 +1,21 @@
|
|||
ca65 Vx.xx - Git XXXXXXXXX
|
||||
Main file : 002-macro-param-listing.s
|
||||
Current file: 002-macro-param-listing.s
|
||||
|
||||
000000r 1 ; 2022-01-17 Spiro Trikaliotis
|
||||
000000r 1
|
||||
000000r 1 .macro TESTER val
|
||||
000000r 1 lda #val
|
||||
000000r 1 .endmacro
|
||||
000000r 1
|
||||
000000r 1 test:
|
||||
000000r 1 A2 00 ldx #0
|
||||
000002r 1 A9 01 TESTER 1
|
||||
000004r 1 A2 0F ldx #15
|
||||
000006r 1 A9 02 TESTER 2
|
||||
000008r 1 E8 inx
|
||||
000009r 1 A9 03 TESTER 3
|
||||
00000Br 1 A9 04 TESTER 4
|
||||
00000Dr 1 CA dex
|
||||
00000Er 1 60 rts
|
||||
00000Er 1
|
|
@ -0,0 +1,15 @@
|
|||
.paramcount = 3
|
||||
.paramcount = 5
|
||||
010-paramcount.s:18: Warning: User warning: r1 is blank!
|
||||
010-paramcount.s:14: Note: Macro was defined here
|
||||
010-paramcount.s:8: Note: Macro was defined here
|
||||
.paramcount = 3
|
||||
.paramcount = 5
|
||||
010-paramcount.s:19: Warning: User warning: r1 is blank!
|
||||
010-paramcount.s:14: Note: Macro was defined here
|
||||
010-paramcount.s:8: Note: Macro was defined here
|
||||
.paramcount = 1
|
||||
.paramcount = 5
|
||||
010-paramcount.s:20: Warning: User warning: r1 is blank!
|
||||
010-paramcount.s:14: Note: Macro was defined here
|
||||
010-paramcount.s:8: Note: Macro was defined here
|
Binary file not shown.
|
@ -0,0 +1,31 @@
|
|||
ca65 Vx.xx - Git XXXXXXXXX
|
||||
Main file : 020-asciiz.s
|
||||
Current file: 020-asciiz.s
|
||||
|
||||
000000r 1 ; 2022-06-15 Spiro Trikaliotis
|
||||
000000r 1
|
||||
000000r 1
|
||||
000000r 1 ; upper case pseudo-op
|
||||
000000r 1 00 .ASCIIZ ""
|
||||
000001r 1 48 65 6C 6C .ASCIIZ "Hello World"
|
||||
000005r 1 6F 20 57 6F
|
||||
000009r 1 72 6C 64 00
|
||||
00000Dr 1 48 65 6C 6C .ASCIIZ "Hello ","World"
|
||||
000011r 1 6F 20 57 6F
|
||||
000015r 1 72 6C 64 00
|
||||
000019r 1 48 65 6C 6C .ASCIIZ "Hello ","World"," ","I"," ","am"," ","testing"
|
||||
00001Dr 1 6F 20 57 6F
|
||||
000021r 1 72 6C 64 20
|
||||
000032r 1
|
||||
000032r 1 ; lower case pseudo-op
|
||||
000032r 1 00 .asciiz ""
|
||||
000033r 1 48 65 6C 6C .asciiz "Hello World"
|
||||
000037r 1 6F 20 57 6F
|
||||
00003Br 1 72 6C 64 00
|
||||
00003Fr 1 48 65 6C 6C .asciiz "Hello ","World"
|
||||
000043r 1 6F 20 57 6F
|
||||
000047r 1 72 6C 64 00
|
||||
00004Br 1 48 65 6C 6C .asciiz "Hello ","World"," ","I"," ","am"," ","testing"
|
||||
00004Fr 1 6F 20 57 6F
|
||||
000053r 1 72 6C 64 20
|
||||
000063r 1
|
|
@ -0,0 +1 @@
|
|||
<EFBFBD>
|
|
@ -0,0 +1,20 @@
|
|||
030-assert-success.s:45: Warning: Code not at $0000
|
||||
030-assert-success.s:46: Warning: Code not at $0000
|
||||
030-assert-success.s:48: Warning: Code not at $0001
|
||||
030-assert-success.s:49: Warning: Code not at $0001
|
||||
030-assert-success.s:51: Warning: Code not at $1000
|
||||
030-assert-success.s:52: Warning: Code not at $1000
|
||||
030-assert-success.s:54: Warning: Code not at $1001
|
||||
030-assert-success.s:55: Warning: Code not at $1001
|
||||
030-assert-success.s:60: Warning: Code not at $8001
|
||||
030-assert-success.s:61: Warning: Code not at $8001
|
||||
030-assert-success.s:65: Warning: Code not at $0000
|
||||
030-assert-success.s:66: Warning: Code not at $0000
|
||||
030-assert-success.s:68: Warning: Code not at $0001
|
||||
030-assert-success.s:69: Warning: Code not at $0001
|
||||
030-assert-success.s:71: Warning: Code not at $1000
|
||||
030-assert-success.s:72: Warning: Code not at $1000
|
||||
030-assert-success.s:74: Warning: Code not at $1001
|
||||
030-assert-success.s:75: Warning: Code not at $1001
|
||||
030-assert-success.s:77: Warning: Code not at $8000
|
||||
030-assert-success.s:78: Warning: Code not at $8000
|
|
@ -0,0 +1,40 @@
|
|||
ld65: Warning: 030-assert-success.s:3: Code not at $0000
|
||||
ld65: Warning: 030-assert-success.s:4: Code not at $0000
|
||||
ld65: Warning: 030-assert-success.s:6: Code not at $0001
|
||||
ld65: Warning: 030-assert-success.s:7: Code not at $0001
|
||||
ld65: Warning: 030-assert-success.s:12: Code not at $1001
|
||||
ld65: Warning: 030-assert-success.s:13: Code not at $1001
|
||||
ld65: Warning: 030-assert-success.s:15: Code not at $8000
|
||||
ld65: Warning: 030-assert-success.s:16: Code not at $8000
|
||||
ld65: Warning: 030-assert-success.s:18: Code not at $8001
|
||||
ld65: Warning: 030-assert-success.s:19: Code not at $8001
|
||||
ld65: Warning: 030-assert-success.s:23: Code not at $0000
|
||||
ld65: Warning: 030-assert-success.s:24: Code not at $0000
|
||||
ld65: Warning: 030-assert-success.s:26: Code not at $0001
|
||||
ld65: Warning: 030-assert-success.s:27: Code not at $0001
|
||||
ld65: Warning: 030-assert-success.s:29: Code not at $1000
|
||||
ld65: Warning: 030-assert-success.s:30: Code not at $1000
|
||||
ld65: Warning: 030-assert-success.s:35: Code not at $8000
|
||||
ld65: Warning: 030-assert-success.s:36: Code not at $8000
|
||||
ld65: Warning: 030-assert-success.s:38: Code not at $8001
|
||||
ld65: Warning: 030-assert-success.s:39: Code not at $8001
|
||||
ld65: Warning: 030-assert-success.s:45: Code not at $0000
|
||||
ld65: Warning: 030-assert-success.s:46: Code not at $0000
|
||||
ld65: Warning: 030-assert-success.s:48: Code not at $0001
|
||||
ld65: Warning: 030-assert-success.s:49: Code not at $0001
|
||||
ld65: Warning: 030-assert-success.s:51: Code not at $1000
|
||||
ld65: Warning: 030-assert-success.s:52: Code not at $1000
|
||||
ld65: Warning: 030-assert-success.s:54: Code not at $1001
|
||||
ld65: Warning: 030-assert-success.s:55: Code not at $1001
|
||||
ld65: Warning: 030-assert-success.s:60: Code not at $8001
|
||||
ld65: Warning: 030-assert-success.s:61: Code not at $8001
|
||||
ld65: Warning: 030-assert-success.s:65: Code not at $0000
|
||||
ld65: Warning: 030-assert-success.s:66: Code not at $0000
|
||||
ld65: Warning: 030-assert-success.s:68: Code not at $0001
|
||||
ld65: Warning: 030-assert-success.s:69: Code not at $0001
|
||||
ld65: Warning: 030-assert-success.s:71: Code not at $1000
|
||||
ld65: Warning: 030-assert-success.s:72: Code not at $1000
|
||||
ld65: Warning: 030-assert-success.s:74: Code not at $1001
|
||||
ld65: Warning: 030-assert-success.s:75: Code not at $1001
|
||||
ld65: Warning: 030-assert-success.s:77: Code not at $8000
|
||||
ld65: Warning: 030-assert-success.s:78: Code not at $8000
|
|
@ -0,0 +1,2 @@
|
|||
031-assert-error.s:27: Error: Code not at $8001
|
||||
031-assert-error.s:28: Error: Code not at $8001
|
|
@ -0,0 +1 @@
|
|||
ld65: Error: 032-assert-error2.s:3: Code not at $0000
|
|
@ -0,0 +1 @@
|
|||
ld65: Error: 032-assert-error3.s:3: Code not at $0000
|
|
@ -0,0 +1 @@
|
|||
ld65: Error: 032-assert-error4.s:3: Code not at $0001
|
|
@ -0,0 +1 @@
|
|||
ld65: Error: 032-assert-error6.s:3: Code not at $1001
|
|
@ -0,0 +1 @@
|
|||
ld65: Error: 032-assert-error7.s:3: Code not at $8000
|
|
@ -0,0 +1 @@
|
|||
ld65: Error: 032-assert-error8.s:3: Code not at $8001
|
|
@ -0,0 +1 @@
|
|||
<EFBFBD>
|
|
@ -0,0 +1,40 @@
|
|||
ld65: Warning: 033-assert-ldwarning-success.s:3: Code not at $0000
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:4: Code not at $0000
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:6: Code not at $0001
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:7: Code not at $0001
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:12: Code not at $1001
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:13: Code not at $1001
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:15: Code not at $8000
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:16: Code not at $8000
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:18: Code not at $8001
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:19: Code not at $8001
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:23: Code not at $0000
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:24: Code not at $0000
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:26: Code not at $0001
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:27: Code not at $0001
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:29: Code not at $1000
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:30: Code not at $1000
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:35: Code not at $8000
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:36: Code not at $8000
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:38: Code not at $8001
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:39: Code not at $8001
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:45: Code not at $0000
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:46: Code not at $0000
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:48: Code not at $0001
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:49: Code not at $0001
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:51: Code not at $1000
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:52: Code not at $1000
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:54: Code not at $1001
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:55: Code not at $1001
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:60: Code not at $8001
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:61: Code not at $8001
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:65: Code not at $0000
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:66: Code not at $0000
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:68: Code not at $0001
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:69: Code not at $0001
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:71: Code not at $1000
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:72: Code not at $1000
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:74: Code not at $1001
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:75: Code not at $1001
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:77: Code not at $8000
|
||||
ld65: Warning: 033-assert-ldwarning-success.s:78: Code not at $8000
|
|
@ -0,0 +1,2 @@
|
|||
034-assert-lderror1.s:27: Error: Code not at $8001
|
||||
034-assert-lderror1.s:28: Error: Code not at $8001
|
|
@ -0,0 +1 @@
|
|||
ld65: Error: 034-assert-lderror2.s:3: Code not at $0000
|
|
@ -0,0 +1 @@
|
|||
ld65: Error: 034-assert-lderror3.s:3: Code not at $0000
|
|
@ -0,0 +1 @@
|
|||
ld65: Error: 034-assert-lderror4.s:3: Code not at $0001
|
|
@ -0,0 +1 @@
|
|||
ld65: Error: 034-assert-lderror6.s:3: Code not at $1001
|
|
@ -0,0 +1 @@
|
|||
ld65: Error: 034-assert-lderror7.s:3: Code not at $8000
|
|
@ -0,0 +1 @@
|
|||
ld65: Error: 034-assert-lderror8.s:3: Code not at $8001
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
ld65: Warning: <<<#PATH#>>>:<<<#INTEGER#>>>: Segment 'CODE' isn't aligned properly; the resulting executable might not be functional.
|
|
@ -0,0 +1,29 @@
|
|||
ca65 Vx.xx - Git XXXXXXXXX
|
||||
Main file : 040-align.s
|
||||
Current file: 040-align.s
|
||||
|
||||
000000r 1 ; 2022-06-20 Spiro Trikaliotis
|
||||
000000r 1
|
||||
000000r 1 00 .byte 0
|
||||
000001r 1
|
||||
000001r 1 xx xx xx .align 4
|
||||
000004r 1 04 .byte 4
|
||||
000005r 1 0C 00 .word 12
|
||||
000007r 1 12 00 .word 18
|
||||
000009r 1
|
||||
000009r 1 .align 1
|
||||
000009r 1 01 .byte 1
|
||||
00000Ar 1
|
||||
00000Ar 1 xx xx xx xx .align 8
|
||||
00000Er 1 xx xx
|
||||
000010r 1 08 .byte 8
|
||||
000011r 1
|
||||
000011r 1 xx xx xx xx .align 8
|
||||
000015r 1 xx xx xx
|
||||
000018r 1 08 .byte 8
|
||||
000019r 1
|
||||
000019r 1 xx xx xx xx .align 128
|
||||
00001Dr 1 xx xx xx xx
|
||||
000021r 1 xx xx xx xx
|
||||
000080r 1 80 .byte 128
|
||||
000080r 1
|
|
@ -0,0 +1,15 @@
|
|||
ca65 Vx.xx - Git XXXXXXXXX
|
||||
Main file : 050-case-off-2.s
|
||||
Current file: 050-case-off-2.s
|
||||
|
||||
000000r 1 ; 2022-06-20 Spiro Trikaliotis
|
||||
000000r 1
|
||||
000000r 1 .case -
|
||||
000000r 1
|
||||
000000r 1 CamelCase:
|
||||
000000r 1 A9 00 lda #0
|
||||
000002r 1
|
||||
000002r 1 Test:
|
||||
000002r 1 F0 FC beq CamelCase
|
||||
000004r 1 D0 FA bne camelcase
|
||||
000004r 1
|
|
@ -0,0 +1,15 @@
|
|||
ca65 Vx.xx - Git XXXXXXXXX
|
||||
Main file : 050-case-off-3.s
|
||||
Current file: 050-case-off-3.s
|
||||
|
||||
000000r 1 ; 2022-06-20 Spiro Trikaliotis
|
||||
000000r 1
|
||||
000000r 1 .case off
|
||||
000000r 1
|
||||
000000r 1 CamelCase:
|
||||
000000r 1 A9 00 lda #0
|
||||
000002r 1
|
||||
000002r 1 Test:
|
||||
000002r 1 F0 FC beq CamelCase
|
||||
000004r 1 D0 FA bne camelcase
|
||||
000004r 1
|
|
@ -0,0 +1,15 @@
|
|||
ca65 Vx.xx - Git XXXXXXXXX
|
||||
Main file : 050-case-off-4.s
|
||||
Current file: 050-case-off-4.s
|
||||
|
||||
000000r 1 ; 2022-06-20 Spiro Trikaliotis
|
||||
000000r 1
|
||||
000000r 1 .CASE OFF
|
||||
000000r 1
|
||||
000000r 1 CamelCase:
|
||||
000000r 1 A9 00 lda #0
|
||||
000002r 1
|
||||
000002r 1 Test:
|
||||
000002r 1 F0 FC beq CamelCase
|
||||
000004r 1 D0 FA bne camelcase
|
||||
000004r 1
|
|
@ -0,0 +1 @@
|
|||
050-case-on-1.s:10: Error: Symbol 'camelcase' is undefined
|
|
@ -0,0 +1 @@
|
|||
050-case-on-2.s:10: Error: Symbol 'camelcase' is undefined
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue