1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2025-02-17 10:30:43 +00:00

Added support for #pragma cpu(). Added test of program without illegal opcodes. Closes #303

This commit is contained in:
jespergravgaard 2019-09-08 02:29:17 +02:00
parent 9f01a27df0
commit 3d0871f757
658 changed files with 1123 additions and 883 deletions

View File

@ -23,6 +23,7 @@
<outputDirectory>fragment</outputDirectory>
<includes>
<include>*.asm</include>
<include>*/*.asm</include>
</includes>
</fileSet>
<fileSet>

View File

@ -1,2 +0,0 @@
lda #{c3}
sta {c1}+{c2}

View File

@ -1,7 +0,0 @@
lda {z1}
sec
sbc #{c1}
sta {z1}
bcs !+
dec {z1}+1
!:

View File

@ -1,6 +0,0 @@
lda {z1}
asl
sta {z1}
lda {z1}+1
rol
sta {z1}+1

View File

@ -1,7 +0,0 @@
lda {z1}
clc
adc {z2}
sta {z1}
lda {z1}+1
adc {z2}+1
sta {z1}+1

View File

@ -1,7 +0,0 @@
lda {z2}
clc
adc {z3}
sta {z1}
lda {z2}+1
adc {z3}+1
sta {z1}+1

View File

@ -1,7 +0,0 @@
lda {z2}
clc
adc {z3}
sta {z1}
lda #0
adc {z2}+1
sta {z1}+1

View File

@ -1,4 +0,0 @@
lda #{c1}
sta {z1}
lda #0
sta {z1}+1

View File

@ -1,7 +0,0 @@
txa
clc
adc #<{c1}
sta {z1}
lda #0
adc #>{c1}
sta {z1}+1

View File

@ -1,7 +0,0 @@
lda #<{c1}
clc
adc {z2}
sta {z1}
lda #>{c1}
adc #0
sta {z1}+1

View File

@ -1,3 +0,0 @@
tay
lda #{c1}
sta ({z1}),y

View File

@ -1,3 +0,0 @@
ldy #{c1}
lda #{c2}
sta ({z1}),y

View File

@ -1,4 +0,0 @@
txa
tay
lda #{c1}
sta ({z1}),y

View File

@ -1,2 +0,0 @@
tya
sta ({z1}),y

View File

@ -1,3 +0,0 @@
lda {z2}
tay
sta ({z1}),y

View File

@ -1 +0,0 @@
jmp {la1}

View File

@ -1,5 +0,0 @@
cmp #0
beq !+
lda #$ff
!:
eor #$ff

View File

@ -1,5 +0,0 @@
cmp #0
beq !+
lda #$ff
!:
and {z1}

View File

@ -1,6 +0,0 @@
sec
sbc #{c1}
beq !+
lda #$ff
!:
eor #$ff

View File

@ -1,2 +0,0 @@
cmp #0
bne {la1}

View File

@ -1,2 +0,0 @@
ldy #{c1}
lda ({z1}),y

View File

@ -1 +0,0 @@
ora >{z1}

View File

@ -1 +0,0 @@
ora #{c1}

View File

@ -1 +0,0 @@
eor {z1}

View File

@ -1,2 +0,0 @@
stx $ff
eor $ff

View File

@ -1,2 +0,0 @@
sty $ff
eor $ff

View File

@ -1,3 +0,0 @@
lda {z1}
sec
sbc #1

View File

@ -1,2 +0,0 @@
cmp {c1},x
beq {la1}

View File

@ -1,2 +0,0 @@
cmp {c1},y
beq {la1}

View File

@ -1 +0,0 @@
jmp {la1}

View File

@ -1,2 +0,0 @@
cmp #{c1}
beq {la1}

View File

@ -1,3 +0,0 @@
stx $ff
cmp $ff
beq {la1}

View File

@ -1,3 +0,0 @@
sty $ff
cmp $ff
beq {la1}

View File

@ -1,2 +0,0 @@
cmp #0
beq {la1}

View File

@ -1,3 +0,0 @@
cmp {c1}
bcc {la1}
beq {la1}

View File

@ -1,3 +0,0 @@
sty $ff
cmp $ff
bcc {la1}

View File

@ -1,2 +0,0 @@
sec
sbc {z1}

View File

@ -1,3 +0,0 @@
sta $ff
cpx $ff
bne {la1}

View File

@ -1,3 +0,0 @@
sta $ff
cpy $ff
bne {la1}

View File

@ -1,4 +0,0 @@
lda #{c1}
cmp {z1}
bcc {la1}
beq {la1}

View File

@ -1,3 +0,0 @@
lda #{c1}
cmp {z1}
bcc {la1}

View File

@ -1 +0,0 @@
ldx {zpsby1}

View File

@ -1,3 +0,0 @@
tya
tax
inx

View File

@ -1,2 +0,0 @@
ldx {z1}
dex

View File

@ -1,2 +0,0 @@
lda {c1},x
tax

View File

@ -1 +0,0 @@
ldx {c1},y

View File

@ -1 +0,0 @@
jmp {la1}

View File

@ -1,3 +0,0 @@
sty $ff
cpx $ff
beq {la1}

View File

@ -1,4 +0,0 @@
cpx #{c1}
beq !+
bcs {la1}
!:

View File

@ -1,2 +0,0 @@
cpx #0
beq {la1}

View File

@ -1 +0,0 @@
ldy {zpsby1}

View File

@ -1,2 +0,0 @@
ldy {z1}
dey

View File

@ -1 +0,0 @@
dey

View File

@ -1,2 +0,0 @@
ldy {z1}
dey

View File

@ -1,2 +0,0 @@
cpy #{c1}
beq {la1}

View File

@ -1 +0,0 @@
jmp {la1}

View File

@ -1,2 +0,0 @@
cpy {z1}
beq {la1}

View File

@ -1,4 +0,0 @@
cpy #{c1}
beq !+
bcs {la1}
!:

View File

@ -1,2 +0,0 @@
cpy #0
beq {la1}

View File

@ -1,2 +0,0 @@
sta {z1}
dec {z1}

View File

@ -1,3 +0,0 @@
ldy #{c1}
lda ({z2}),y
sta {z1}

View File

@ -1,2 +0,0 @@
sta {z1}
dec {z1}

View File

@ -1,3 +0,0 @@
dex
stx {z1}
inx

View File

@ -1,2 +0,0 @@
sty {z1}
dec {z1}

View File

@ -1,2 +0,0 @@
and {z1}
sta {z1}

View File

@ -1,2 +0,0 @@
ora {z1}
sta {z1}

View File

@ -1,4 +0,0 @@
lda {z2}
sec
sbc #{c1}
sta {z1}

View File

@ -1,4 +0,0 @@
lda {z1}
clc
adc {z2}
sta {z1}

View File

@ -1,4 +0,0 @@
lda {z2}
clc
adc {z2}
sta {z1}

View File

@ -1 +0,0 @@
jmp {la1}

View File

@ -1 +0,0 @@
lsr {z1}

View File

@ -1,4 +0,0 @@
lda {z1}+1
cmp #$80
ror {z1}+1
ror {z1}

View File

@ -1,18 +0,0 @@
// ROL twice instead of RORing 6 times
lda {z2} // {z2} low byte to tmp $ff
sta $ff
lda {z2}+1 // {z2} high byte to {z1} low byte
sta {z1}
lda #0
bit {z2}+1
bpl !+ // {z2} high byte positive?
lda #$ff
!:
sta {z1}+1 // sign extended {z2} into {z1} high byte
// ROL twice
rol $ff
rol {z1}
rol {z1}+1
rol $ff
rol {z1}
rol {z1}+1

View File

@ -1,7 +0,0 @@
lda {z2}
clc
adc #1
sta {z1}
lda {z2}+1
adc #0
sta {z1}+1

View File

@ -1,2 +0,0 @@
sta {z1}
sta {z1}+1

View File

@ -1,4 +0,0 @@
lda {c2}
sta {z1}
lda #0
sta {z1}+1

View File

@ -1,3 +0,0 @@
stx {z1}
ldx #0
stx {z1}+1

View File

@ -1,2 +0,0 @@
stx {z1}+1
sta {z1}

View File

@ -1,2 +0,0 @@
stx {z1}+1
sty {z1}

View File

@ -1,3 +0,0 @@
sty {z1}
ldy #0
sty {z1}+1

View File

@ -1,2 +0,0 @@
sty {z1}+1
sta {z1}

View File

@ -1,2 +0,0 @@
sty {z1}+1
stx {z1}

View File

@ -1,3 +0,0 @@
sta {z1}
lda {z2}
sta {z1}+1

Some files were not shown because too many files have changed in this diff Show More