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:
parent
9f01a27df0
commit
3d0871f757
@ -23,6 +23,7 @@
|
||||
<outputDirectory>fragment</outputDirectory>
|
||||
<includes>
|
||||
<include>*.asm</include>
|
||||
<include>*/*.asm</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
|
@ -1,2 +0,0 @@
|
||||
lda #{c3}
|
||||
sta {c1}+{c2}
|
@ -1,7 +0,0 @@
|
||||
lda {z1}
|
||||
sec
|
||||
sbc #{c1}
|
||||
sta {z1}
|
||||
bcs !+
|
||||
dec {z1}+1
|
||||
!:
|
@ -1,6 +0,0 @@
|
||||
lda {z1}
|
||||
asl
|
||||
sta {z1}
|
||||
lda {z1}+1
|
||||
rol
|
||||
sta {z1}+1
|
@ -1,7 +0,0 @@
|
||||
lda {z1}
|
||||
clc
|
||||
adc {z2}
|
||||
sta {z1}
|
||||
lda {z1}+1
|
||||
adc {z2}+1
|
||||
sta {z1}+1
|
@ -1,7 +0,0 @@
|
||||
lda {z2}
|
||||
clc
|
||||
adc {z3}
|
||||
sta {z1}
|
||||
lda {z2}+1
|
||||
adc {z3}+1
|
||||
sta {z1}+1
|
@ -1,7 +0,0 @@
|
||||
lda {z2}
|
||||
clc
|
||||
adc {z3}
|
||||
sta {z1}
|
||||
lda #0
|
||||
adc {z2}+1
|
||||
sta {z1}+1
|
@ -1,4 +0,0 @@
|
||||
lda #{c1}
|
||||
sta {z1}
|
||||
lda #0
|
||||
sta {z1}+1
|
@ -1,7 +0,0 @@
|
||||
txa
|
||||
clc
|
||||
adc #<{c1}
|
||||
sta {z1}
|
||||
lda #0
|
||||
adc #>{c1}
|
||||
sta {z1}+1
|
@ -1,7 +0,0 @@
|
||||
lda #<{c1}
|
||||
clc
|
||||
adc {z2}
|
||||
sta {z1}
|
||||
lda #>{c1}
|
||||
adc #0
|
||||
sta {z1}+1
|
@ -1,3 +0,0 @@
|
||||
tay
|
||||
lda #{c1}
|
||||
sta ({z1}),y
|
@ -1,3 +0,0 @@
|
||||
ldy #{c1}
|
||||
lda #{c2}
|
||||
sta ({z1}),y
|
@ -1,4 +0,0 @@
|
||||
txa
|
||||
tay
|
||||
lda #{c1}
|
||||
sta ({z1}),y
|
@ -1,2 +0,0 @@
|
||||
tya
|
||||
sta ({z1}),y
|
@ -1,3 +0,0 @@
|
||||
lda {z2}
|
||||
tay
|
||||
sta ({z1}),y
|
@ -1 +0,0 @@
|
||||
jmp {la1}
|
@ -1,5 +0,0 @@
|
||||
cmp #0
|
||||
beq !+
|
||||
lda #$ff
|
||||
!:
|
||||
eor #$ff
|
@ -1,5 +0,0 @@
|
||||
cmp #0
|
||||
beq !+
|
||||
lda #$ff
|
||||
!:
|
||||
and {z1}
|
@ -1,6 +0,0 @@
|
||||
sec
|
||||
sbc #{c1}
|
||||
beq !+
|
||||
lda #$ff
|
||||
!:
|
||||
eor #$ff
|
@ -1,2 +0,0 @@
|
||||
cmp #0
|
||||
bne {la1}
|
@ -1,2 +0,0 @@
|
||||
ldy #{c1}
|
||||
lda ({z1}),y
|
@ -1 +0,0 @@
|
||||
ora >{z1}
|
@ -1 +0,0 @@
|
||||
ora {c1},y
|
@ -1 +0,0 @@
|
||||
ora #{c1}
|
@ -1 +0,0 @@
|
||||
eor {z1}
|
@ -1,2 +0,0 @@
|
||||
stx $ff
|
||||
eor $ff
|
@ -1,2 +0,0 @@
|
||||
sty $ff
|
||||
eor $ff
|
@ -1,3 +0,0 @@
|
||||
lda {z1}
|
||||
sec
|
||||
sbc #1
|
@ -1,2 +0,0 @@
|
||||
cmp {c1},x
|
||||
beq {la1}
|
@ -1,2 +0,0 @@
|
||||
cmp {c1},y
|
||||
beq {la1}
|
@ -1 +0,0 @@
|
||||
jmp {la1}
|
@ -1,2 +0,0 @@
|
||||
cmp #{c1}
|
||||
beq {la1}
|
@ -1,3 +0,0 @@
|
||||
stx $ff
|
||||
cmp $ff
|
||||
beq {la1}
|
@ -1,3 +0,0 @@
|
||||
sty $ff
|
||||
cmp $ff
|
||||
beq {la1}
|
@ -1,2 +0,0 @@
|
||||
cmp #0
|
||||
beq {la1}
|
@ -1,3 +0,0 @@
|
||||
cmp {c1}
|
||||
bcc {la1}
|
||||
beq {la1}
|
@ -1,3 +0,0 @@
|
||||
sty $ff
|
||||
cmp $ff
|
||||
bcc {la1}
|
@ -1,2 +0,0 @@
|
||||
sec
|
||||
sbc {z1}
|
@ -1,3 +0,0 @@
|
||||
sta $ff
|
||||
cpx $ff
|
||||
bne {la1}
|
@ -1,3 +0,0 @@
|
||||
sta $ff
|
||||
cpy $ff
|
||||
bne {la1}
|
@ -1,4 +0,0 @@
|
||||
lda #{c1}
|
||||
cmp {z1}
|
||||
bcc {la1}
|
||||
beq {la1}
|
@ -1,3 +0,0 @@
|
||||
lda #{c1}
|
||||
cmp {z1}
|
||||
bcc {la1}
|
@ -1 +0,0 @@
|
||||
ldx {zpsby1}
|
@ -1,3 +0,0 @@
|
||||
tya
|
||||
tax
|
||||
inx
|
@ -1,2 +0,0 @@
|
||||
ldx {z1}
|
||||
dex
|
@ -1,2 +0,0 @@
|
||||
lda {c1},x
|
||||
tax
|
@ -1 +0,0 @@
|
||||
ldx {c1},y
|
@ -1 +0,0 @@
|
||||
jmp {la1}
|
@ -1,3 +0,0 @@
|
||||
sty $ff
|
||||
cpx $ff
|
||||
beq {la1}
|
@ -1,4 +0,0 @@
|
||||
cpx #{c1}
|
||||
beq !+
|
||||
bcs {la1}
|
||||
!:
|
@ -1,2 +0,0 @@
|
||||
cpx #0
|
||||
beq {la1}
|
@ -1 +0,0 @@
|
||||
ldy {zpsby1}
|
@ -1,2 +0,0 @@
|
||||
ldy {z1}
|
||||
dey
|
@ -1 +0,0 @@
|
||||
dey
|
@ -1,2 +0,0 @@
|
||||
ldy {z1}
|
||||
dey
|
@ -1,2 +0,0 @@
|
||||
cpy #{c1}
|
||||
beq {la1}
|
@ -1 +0,0 @@
|
||||
jmp {la1}
|
@ -1,2 +0,0 @@
|
||||
cpy {z1}
|
||||
beq {la1}
|
@ -1,4 +0,0 @@
|
||||
cpy #{c1}
|
||||
beq !+
|
||||
bcs {la1}
|
||||
!:
|
@ -1,2 +0,0 @@
|
||||
cpy #0
|
||||
beq {la1}
|
@ -1,2 +0,0 @@
|
||||
sta {z1}
|
||||
dec {z1}
|
@ -1,3 +0,0 @@
|
||||
ldy #{c1}
|
||||
lda ({z2}),y
|
||||
sta {z1}
|
@ -1,2 +0,0 @@
|
||||
sta {z1}
|
||||
dec {z1}
|
@ -1,3 +0,0 @@
|
||||
dex
|
||||
stx {z1}
|
||||
inx
|
@ -1,2 +0,0 @@
|
||||
sty {z1}
|
||||
dec {z1}
|
@ -1,2 +0,0 @@
|
||||
and {z1}
|
||||
sta {z1}
|
@ -1,2 +0,0 @@
|
||||
ora {z1}
|
||||
sta {z1}
|
@ -1,4 +0,0 @@
|
||||
lda {z2}
|
||||
sec
|
||||
sbc #{c1}
|
||||
sta {z1}
|
@ -1,4 +0,0 @@
|
||||
lda {z1}
|
||||
clc
|
||||
adc {z2}
|
||||
sta {z1}
|
@ -1,4 +0,0 @@
|
||||
lda {z2}
|
||||
clc
|
||||
adc {z2}
|
||||
sta {z1}
|
@ -1 +0,0 @@
|
||||
jmp {la1}
|
@ -1 +0,0 @@
|
||||
lsr {z1}
|
@ -1,4 +0,0 @@
|
||||
lda {z1}+1
|
||||
cmp #$80
|
||||
ror {z1}+1
|
||||
ror {z1}
|
@ -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
|
@ -1,7 +0,0 @@
|
||||
lda {z2}
|
||||
clc
|
||||
adc #1
|
||||
sta {z1}
|
||||
lda {z2}+1
|
||||
adc #0
|
||||
sta {z1}+1
|
@ -1,2 +0,0 @@
|
||||
sta {z1}
|
||||
sta {z1}+1
|
@ -1,4 +0,0 @@
|
||||
lda {c2}
|
||||
sta {z1}
|
||||
lda #0
|
||||
sta {z1}+1
|
@ -1,3 +0,0 @@
|
||||
stx {z1}
|
||||
ldx #0
|
||||
stx {z1}+1
|
@ -1,2 +0,0 @@
|
||||
stx {z1}+1
|
||||
sta {z1}
|
@ -1,2 +0,0 @@
|
||||
stx {z1}+1
|
||||
sty {z1}
|
@ -1,3 +0,0 @@
|
||||
sty {z1}
|
||||
ldy #0
|
||||
sty {z1}+1
|
@ -1,2 +0,0 @@
|
||||
sty {z1}+1
|
||||
sta {z1}
|
@ -1,2 +0,0 @@
|
||||
sty {z1}+1
|
||||
stx {z1}
|
@ -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
Loading…
x
Reference in New Issue
Block a user