mirror of
https://gitlab.com/camelot/kickc.git
synced 2025-02-05 21:30:52 +00:00
Added many Z register fragments.
This commit is contained in:
parent
30b3172e7f
commit
e8084a4d27
@ -1,4 +1,4 @@
|
|||||||
//KICKC FRAGMENT CACHE 1368a0c981
|
//KICKC FRAGMENT CACHE 15196e00e6
|
||||||
//FRAGMENT vbuzz=vbuc1
|
//FRAGMENT vbuzz=vbuc1
|
||||||
ldz #{c1}
|
ldz #{c1}
|
||||||
//FRAGMENT vbuzz_lt_vbuc1_then_la1
|
//FRAGMENT vbuzz_lt_vbuc1_then_la1
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
//KICKC FRAGMENT CACHE 1368a0c981
|
//KICKC FRAGMENT CACHE 15196e00e6
|
||||||
//FRAGMENT vduz1=vduc1
|
//FRAGMENT vduz1=vduc1
|
||||||
lda #<{c1}
|
lda #<{c1}
|
||||||
sta {z1}
|
sta {z1}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
//KICKC FRAGMENT CACHE 1368a0c981
|
//KICKC FRAGMENT CACHE 15196e00e6
|
||||||
//FRAGMENT vbuz1=vbuc1
|
//FRAGMENT vbuz1=vbuc1
|
||||||
lda #{c1}
|
lda #{c1}
|
||||||
sta {z1}
|
sta {z1}
|
||||||
|
@ -1,57 +1,12 @@
|
|||||||
//KICKC FRAGMENT CACHE 1368a0c981
|
//KICKC FRAGMENT CACHE 15196e00e6
|
||||||
|
//FRAGMENT vbuz1=vbuc1
|
||||||
|
lda #{c1}
|
||||||
|
sta {z1}
|
||||||
//FRAGMENT pbuz1=pbuc1
|
//FRAGMENT pbuz1=pbuc1
|
||||||
lda #<{c1}
|
lda #<{c1}
|
||||||
sta {z1}
|
sta {z1}
|
||||||
lda #>{c1}
|
lda #>{c1}
|
||||||
sta {z1}+1
|
sta {z1}+1
|
||||||
//FRAGMENT vbuz1=vbuc1
|
|
||||||
lda #{c1}
|
|
||||||
sta {z1}
|
|
||||||
//FRAGMENT _deref_pbuz1=pbuc1_derefidx_vbuz2
|
|
||||||
ldy {z2}
|
|
||||||
lda {c1},y
|
|
||||||
ldy #0
|
|
||||||
sta ({z1}),y
|
|
||||||
//FRAGMENT vbuz1=_inc_vbuz1
|
|
||||||
inc {z1}
|
|
||||||
//FRAGMENT vbuz1_neq_vbuc1_then_la1
|
|
||||||
lda #{c1}
|
|
||||||
cmp {z1}
|
|
||||||
bne {la1}
|
|
||||||
//FRAGMENT pbuz1=_inc_pbuz1
|
|
||||||
inc {z1}
|
|
||||||
bne !+
|
|
||||||
inc {z1}+1
|
|
||||||
!:
|
|
||||||
//FRAGMENT pbuz1_lt_pbuc1_then_la1
|
|
||||||
lda {z1}+1
|
|
||||||
cmp #>{c1}
|
|
||||||
bcc {la1}
|
|
||||||
bne !+
|
|
||||||
lda {z1}
|
|
||||||
cmp #<{c1}
|
|
||||||
bcc {la1}
|
|
||||||
!:
|
|
||||||
//FRAGMENT _deref_pbuz1=pbuc1_derefidx_vbuaa
|
|
||||||
tay
|
|
||||||
lda {c1},y
|
|
||||||
ldy #0
|
|
||||||
sta ({z1}),y
|
|
||||||
//FRAGMENT _deref_pbuz1=pbuc1_derefidx_vbuxx
|
|
||||||
lda {c1},x
|
|
||||||
ldy #0
|
|
||||||
sta ({z1}),y
|
|
||||||
//FRAGMENT _deref_pbuz1=pbuc1_derefidx_vbuyy
|
|
||||||
lda {c1},y
|
|
||||||
ldy #0
|
|
||||||
sta ({z1}),y
|
|
||||||
//FRAGMENT vbuxx_neq_vbuc1_then_la1
|
|
||||||
cpx #{c1}
|
|
||||||
bne {la1}
|
|
||||||
//FRAGMENT vbuxx=vbuc1
|
|
||||||
ldx #{c1}
|
|
||||||
//FRAGMENT vbuxx=_inc_vbuxx
|
|
||||||
inx
|
|
||||||
//FRAGMENT vwuz1=vwuc1
|
//FRAGMENT vwuz1=vwuc1
|
||||||
lda #<{c1}
|
lda #<{c1}
|
||||||
sta {z1}
|
sta {z1}
|
||||||
@ -88,6 +43,12 @@ lda {z2}
|
|||||||
sta {z1}
|
sta {z1}
|
||||||
lda {z2}+1
|
lda {z2}+1
|
||||||
sta {z1}+1
|
sta {z1}+1
|
||||||
|
//FRAGMENT vbuz1=_inc_vbuz1
|
||||||
|
inc {z1}
|
||||||
|
//FRAGMENT vbuz1_neq_vbuc1_then_la1
|
||||||
|
lda #{c1}
|
||||||
|
cmp {z1}
|
||||||
|
bne {la1}
|
||||||
//FRAGMENT pbuz1=pbuz2
|
//FRAGMENT pbuz1=pbuz2
|
||||||
lda {z2}
|
lda {z2}
|
||||||
sta {z1}
|
sta {z1}
|
||||||
@ -108,6 +69,11 @@ sta {z1}+1
|
|||||||
lda {z2}
|
lda {z2}
|
||||||
ldy #0
|
ldy #0
|
||||||
sta ({z1}),y
|
sta ({z1}),y
|
||||||
|
//FRAGMENT pbuz1=_inc_pbuz1
|
||||||
|
inc {z1}
|
||||||
|
bne !+
|
||||||
|
inc {z1}+1
|
||||||
|
!:
|
||||||
//FRAGMENT vbuz1=_hi_vwuz2
|
//FRAGMENT vbuz1=_hi_vwuz2
|
||||||
lda {z2}+1
|
lda {z2}+1
|
||||||
sta {z1}
|
sta {z1}
|
||||||
@ -146,6 +112,9 @@ sta {z1}
|
|||||||
lda #{c1}
|
lda #{c1}
|
||||||
and {z2}
|
and {z2}
|
||||||
sta {z1}
|
sta {z1}
|
||||||
|
//FRAGMENT vbuxx_neq_vbuc1_then_la1
|
||||||
|
cpx #{c1}
|
||||||
|
bne {la1}
|
||||||
//FRAGMENT _deref_pbuz1=vbuaa
|
//FRAGMENT _deref_pbuz1=vbuaa
|
||||||
ldy #0
|
ldy #0
|
||||||
sta ({z1}),y
|
sta ({z1}),y
|
||||||
@ -286,6 +255,8 @@ and #{c1}
|
|||||||
tay
|
tay
|
||||||
//FRAGMENT vbuaa=vbuc1
|
//FRAGMENT vbuaa=vbuc1
|
||||||
lda #{c1}
|
lda #{c1}
|
||||||
|
//FRAGMENT vbuxx=vbuc1
|
||||||
|
ldx #{c1}
|
||||||
//FRAGMENT vbuyy=vbuc1
|
//FRAGMENT vbuyy=vbuc1
|
||||||
ldy #{c1}
|
ldy #{c1}
|
||||||
//FRAGMENT vbuaa=pbuc1_derefidx_vbuxx
|
//FRAGMENT vbuaa=pbuc1_derefidx_vbuxx
|
||||||
@ -1307,6 +1278,8 @@ ldy {z1}+1
|
|||||||
//FRAGMENT vbuyy=vbuaa_band_vbuc1
|
//FRAGMENT vbuyy=vbuaa_band_vbuc1
|
||||||
and #{c1}
|
and #{c1}
|
||||||
tay
|
tay
|
||||||
|
//FRAGMENT vbuxx=_inc_vbuxx
|
||||||
|
inx
|
||||||
//FRAGMENT vbuyy=_inc_vbuyy
|
//FRAGMENT vbuyy=_inc_vbuyy
|
||||||
iny
|
iny
|
||||||
//FRAGMENT vbuyy_neq_vbuc1_then_la1
|
//FRAGMENT vbuyy_neq_vbuc1_then_la1
|
||||||
@ -1686,6 +1659,11 @@ bne {la1}
|
|||||||
//FRAGMENT _deref_pbuc1=_deref_pbuc2
|
//FRAGMENT _deref_pbuc1=_deref_pbuc2
|
||||||
lda {c2}
|
lda {c2}
|
||||||
sta {c1}
|
sta {c1}
|
||||||
|
//FRAGMENT _deref_pbuz1=pbuc1_derefidx_vbuz2
|
||||||
|
ldy {z2}
|
||||||
|
lda {c1},y
|
||||||
|
ldy #0
|
||||||
|
sta ({z1}),y
|
||||||
//FRAGMENT vbuz1=vbuz1_plus_vbuz2
|
//FRAGMENT vbuz1=vbuz1_plus_vbuz2
|
||||||
lda {z1}
|
lda {z1}
|
||||||
clc
|
clc
|
||||||
@ -1908,6 +1886,14 @@ tay
|
|||||||
//FRAGMENT vbuc1_neq_vbuaa_then_la1
|
//FRAGMENT vbuc1_neq_vbuaa_then_la1
|
||||||
cmp #{c1}
|
cmp #{c1}
|
||||||
bne {la1}
|
bne {la1}
|
||||||
|
//FRAGMENT _deref_pbuz1=pbuc1_derefidx_vbuxx
|
||||||
|
lda {c1},x
|
||||||
|
ldy #0
|
||||||
|
sta ({z1}),y
|
||||||
|
//FRAGMENT _deref_pbuz1=pbuc1_derefidx_vbuyy
|
||||||
|
lda {c1},y
|
||||||
|
ldy #0
|
||||||
|
sta ({z1}),y
|
||||||
//FRAGMENT vbuz1=vbuz1_plus_vbuxx
|
//FRAGMENT vbuz1=vbuz1_plus_vbuxx
|
||||||
txa
|
txa
|
||||||
clc
|
clc
|
||||||
@ -2903,6 +2889,15 @@ inc {m1}
|
|||||||
lda #{c1}
|
lda #{c1}
|
||||||
cmp {m1}
|
cmp {m1}
|
||||||
bne {la1}
|
bne {la1}
|
||||||
|
//FRAGMENT pbuz1_lt_pbuc1_then_la1
|
||||||
|
lda {z1}+1
|
||||||
|
cmp #>{c1}
|
||||||
|
bcc {la1}
|
||||||
|
bne !+
|
||||||
|
lda {z1}
|
||||||
|
cmp #<{c1}
|
||||||
|
bcc {la1}
|
||||||
|
!:
|
||||||
//FRAGMENT vboz1=vbuz2_eq_vbuc1
|
//FRAGMENT vboz1=vbuz2_eq_vbuc1
|
||||||
lda {z2}
|
lda {z2}
|
||||||
eor #{c1}
|
eor #{c1}
|
||||||
@ -3740,6 +3735,11 @@ tax
|
|||||||
//FRAGMENT vbuyy=_byte_vwuz1
|
//FRAGMENT vbuyy=_byte_vwuz1
|
||||||
lda {z1}
|
lda {z1}
|
||||||
tay
|
tay
|
||||||
|
//FRAGMENT _deref_pbuz1=pbuc1_derefidx_vbuaa
|
||||||
|
tay
|
||||||
|
lda {c1},y
|
||||||
|
ldy #0
|
||||||
|
sta ({z1}),y
|
||||||
//FRAGMENT pwsz1=pwsc1_plus_vwsz1
|
//FRAGMENT pwsz1=pwsc1_plus_vwsz1
|
||||||
clc
|
clc
|
||||||
lda {z1}
|
lda {z1}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
//KICKC FRAGMENT CACHE 1368a0c981
|
//KICKC FRAGMENT CACHE 15196e00e6
|
||||||
//FRAGMENT vbuz1=_deref_pbuc1
|
//FRAGMENT vbuz1=_deref_pbuc1
|
||||||
lda {c1}
|
lda {c1}
|
||||||
sta {z1}
|
sta {z1}
|
||||||
|
@ -0,0 +1 @@
|
|||||||
|
stz {c1}
|
1
src/main/fragment/csg65ce02-common/vbuzz=_dec_vbuzz.asm
Normal file
1
src/main/fragment/csg65ce02-common/vbuzz=_dec_vbuzz.asm
Normal file
@ -0,0 +1 @@
|
|||||||
|
dez
|
@ -0,0 +1 @@
|
|||||||
|
ldz {c1}
|
@ -0,0 +1 @@
|
|||||||
|
ldz {c1}+1
|
1
src/main/fragment/csg65ce02-common/vbuzz=_hi_pvom1.asm
Normal file
1
src/main/fragment/csg65ce02-common/vbuzz=_hi_pvom1.asm
Normal file
@ -0,0 +1 @@
|
|||||||
|
ldz {m1}+1
|
1
src/main/fragment/csg65ce02-common/vbuzz=_hi_vwum1.asm
Normal file
1
src/main/fragment/csg65ce02-common/vbuzz=_hi_vwum1.asm
Normal file
@ -0,0 +1 @@
|
|||||||
|
ldz {m1}+1
|
@ -0,0 +1 @@
|
|||||||
|
ldz {c1}
|
1
src/main/fragment/csg65ce02-common/vbuzz=_lo_pvom1.asm
Normal file
1
src/main/fragment/csg65ce02-common/vbuzz=_lo_pvom1.asm
Normal file
@ -0,0 +1 @@
|
|||||||
|
ldz {m1}
|
1
src/main/fragment/csg65ce02-common/vbuzz=_lo_vwum1.asm
Normal file
1
src/main/fragment/csg65ce02-common/vbuzz=_lo_vwum1.asm
Normal file
@ -0,0 +1 @@
|
|||||||
|
ldz {m1}
|
@ -0,0 +1 @@
|
|||||||
|
ldz {c1},x
|
1
src/main/fragment/csg65ce02-common/vbuzz=vbuaa.asm
Normal file
1
src/main/fragment/csg65ce02-common/vbuzz=vbuaa.asm
Normal file
@ -0,0 +1 @@
|
|||||||
|
taz
|
@ -0,0 +1,2 @@
|
|||||||
|
taz
|
||||||
|
dez
|
1
src/main/fragment/csg65ce02-common/vbuzz=vbum1.asm
Normal file
1
src/main/fragment/csg65ce02-common/vbuzz=vbum1.asm
Normal file
@ -0,0 +1 @@
|
|||||||
|
ldz {m1}
|
2
src/main/fragment/csg65ce02-common/vbuzz=vbuxx.asm
Normal file
2
src/main/fragment/csg65ce02-common/vbuzz=vbuxx.asm
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
stx $ff
|
||||||
|
ldz $ff
|
@ -0,0 +1,3 @@
|
|||||||
|
txa
|
||||||
|
taz
|
||||||
|
inz
|
2
src/main/fragment/csg65ce02-common/vbuzz=vbuyy.asm
Normal file
2
src/main/fragment/csg65ce02-common/vbuzz=vbuyy.asm
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
sty $ff
|
||||||
|
ldz $ff
|
@ -0,0 +1,3 @@
|
|||||||
|
tya
|
||||||
|
taz
|
||||||
|
inz
|
0
src/main/fragment/csg65ce02-common/vbuzz=vbuzz.asm
Normal file
0
src/main/fragment/csg65ce02-common/vbuzz=vbuzz.asm
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
dez
|
||||||
|
dez
|
@ -0,0 +1 @@
|
|||||||
|
inz
|
@ -0,0 +1,2 @@
|
|||||||
|
inz
|
||||||
|
inz
|
@ -0,0 +1,2 @@
|
|||||||
|
cpz #0
|
||||||
|
beq {la1}
|
@ -0,0 +1,2 @@
|
|||||||
|
cpz {c1}
|
||||||
|
beq {la1}
|
@ -0,0 +1,2 @@
|
|||||||
|
cpz #{c1}
|
||||||
|
beq {la1}
|
@ -0,0 +1,3 @@
|
|||||||
|
stx $ff
|
||||||
|
cpz $ff
|
||||||
|
beq {la1}
|
@ -0,0 +1,3 @@
|
|||||||
|
sty $ff
|
||||||
|
cpz $ff
|
||||||
|
beq {la1}
|
@ -0,0 +1,3 @@
|
|||||||
|
sta $ff
|
||||||
|
cpz $ff
|
||||||
|
bcs {la1}
|
@ -0,0 +1,2 @@
|
|||||||
|
cpz #{c1}
|
||||||
|
bcs {la1}
|
@ -0,0 +1,2 @@
|
|||||||
|
cpz {m1}
|
||||||
|
bcs {la1}
|
@ -0,0 +1,3 @@
|
|||||||
|
stx $ff
|
||||||
|
cpz $ff
|
||||||
|
bcs {la1}
|
@ -0,0 +1,3 @@
|
|||||||
|
sty $ff
|
||||||
|
cpz $ff
|
||||||
|
bcs {la1}
|
@ -0,0 +1,2 @@
|
|||||||
|
cpz #0
|
||||||
|
bne {la1}
|
@ -0,0 +1,4 @@
|
|||||||
|
cpz #{c1}
|
||||||
|
beq !+
|
||||||
|
bcs {la1}
|
||||||
|
!:
|
@ -0,0 +1,2 @@
|
|||||||
|
cpz #0
|
||||||
|
beq {la1}
|
@ -0,0 +1,3 @@
|
|||||||
|
cpz #{c1}
|
||||||
|
bcc {la1}
|
||||||
|
beq {la1}
|
@ -0,0 +1,2 @@
|
|||||||
|
cpz {c1}
|
||||||
|
bcc {la1}
|
@ -0,0 +1,3 @@
|
|||||||
|
sta $ff
|
||||||
|
cpz $ff
|
||||||
|
bcc {la1}
|
@ -0,0 +1,2 @@
|
|||||||
|
cpz {m1}
|
||||||
|
bcc {la1}
|
@ -0,0 +1,3 @@
|
|||||||
|
stx $ff
|
||||||
|
cpz $ff
|
||||||
|
bcc {la1}
|
@ -0,0 +1,3 @@
|
|||||||
|
sty $ff
|
||||||
|
cpz $ff
|
||||||
|
bcc {la1}
|
@ -0,0 +1,2 @@
|
|||||||
|
cpz #0
|
||||||
|
bne {la1}
|
@ -0,0 +1,2 @@
|
|||||||
|
cpz {c1}
|
||||||
|
bne {la1}
|
@ -0,0 +1,2 @@
|
|||||||
|
cpz #{c1}
|
||||||
|
bne {la1}
|
@ -0,0 +1,2 @@
|
|||||||
|
cpz {m1}
|
||||||
|
bne {la1}
|
@ -112,6 +112,7 @@ public class AsmFragmentTemplateSynthesizer {
|
|||||||
for(AsmFragmentTemplate candidateTemplate : candidates) {
|
for(AsmFragmentTemplate candidateTemplate : candidates) {
|
||||||
double score = candidateTemplate.getCycles();
|
double score = candidateTemplate.getCycles();
|
||||||
if(candidateTemplate.getClobber().isClobberA()) score += 0.5;
|
if(candidateTemplate.getClobber().isClobberA()) score += 0.5;
|
||||||
|
if(candidateTemplate.getClobber().isClobberZ()) score += 1.0;
|
||||||
if(candidateTemplate.getClobber().isClobberY()) score += 1.0;
|
if(candidateTemplate.getClobber().isClobberY()) score += 1.0;
|
||||||
if(candidateTemplate.getClobber().isClobberX()) score += 1.5;
|
if(candidateTemplate.getClobber().isClobberX()) score += 1.5;
|
||||||
if(score < minScore) {
|
if(score < minScore) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user