mirror of
https://gitlab.com/camelot/kickc.git
synced 2025-01-03 11:31:21 +00:00
Added fragment for mega65 cpu.
This commit is contained in:
parent
329d3f505e
commit
b35152fb26
@ -1,4 +1,4 @@
|
|||||||
//KICKC FRAGMENT CACHE d8c3d291d d8c3d4dd4
|
//KICKC FRAGMENT CACHE d528e7a15 d528e9ed4
|
||||||
//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 d8c3d291d d8c3d4dd4
|
//KICKC FRAGMENT CACHE d528e7a15 d528e9ed4
|
||||||
//FRAGMENT _deref_pbuc1=vbuc2
|
//FRAGMENT _deref_pbuc1=vbuc2
|
||||||
ldz #{c2}
|
ldz #{c2}
|
||||||
stz {c1}
|
stz {c1}
|
||||||
@ -1652,11 +1652,110 @@ tza
|
|||||||
sta {c1}
|
sta {c1}
|
||||||
lda #0
|
lda #0
|
||||||
sta {c1}+1
|
sta {c1}+1
|
||||||
|
//FRAGMENT _deref_pbuc1=_inc__deref_pbuc1
|
||||||
|
inc {c1}
|
||||||
//FRAGMENT vwuz1=vbuc1
|
//FRAGMENT vwuz1=vbuc1
|
||||||
lda #<{c1}
|
lda #<{c1}
|
||||||
sta {z1}
|
sta {z1}
|
||||||
lda #>{c1}
|
lda #>{c1}
|
||||||
sta {z1}+1
|
sta {z1}+1
|
||||||
|
//FRAGMENT _deref_pbuc1_eq_vbuz1_then_la1
|
||||||
|
lda {c1}
|
||||||
|
cmp {z1}
|
||||||
|
beq {la1}
|
||||||
|
//FRAGMENT _deref_pbuc1=_dec__deref_pbuc1
|
||||||
|
dec {c1}
|
||||||
|
//FRAGMENT pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1
|
||||||
|
ldx {z1}
|
||||||
|
inc {c1},x
|
||||||
|
//FRAGMENT vbuz1=_byte0_vwuz2
|
||||||
|
lda {z2}
|
||||||
|
sta {z1}
|
||||||
|
//FRAGMENT vbuz1=_byte1_vwuz2
|
||||||
|
lda {z2}+1
|
||||||
|
sta {z1}
|
||||||
|
//FRAGMENT vbuz1=vbuz2_bor_vbuz3
|
||||||
|
lda {z2}
|
||||||
|
ora {z3}
|
||||||
|
sta {z1}
|
||||||
|
//FRAGMENT _deref_pbuc1_eq_vbuaa_then_la1
|
||||||
|
cmp {c1}
|
||||||
|
beq {la1}
|
||||||
|
//FRAGMENT pbuc1_derefidx_vbuaa=_inc_pbuc1_derefidx_vbuaa
|
||||||
|
tax
|
||||||
|
inc {c1},x
|
||||||
|
//FRAGMENT pbuc1_derefidx_vbuxx=_inc_pbuc1_derefidx_vbuxx
|
||||||
|
inc {c1},x
|
||||||
|
//FRAGMENT vbuaa=_byte1_vwuz1
|
||||||
|
lda {z1}+1
|
||||||
|
//FRAGMENT vbuxx=_byte1_vwuz1
|
||||||
|
ldx {z1}+1
|
||||||
|
//FRAGMENT vbuz1=vbuxx_bor_vbuz2
|
||||||
|
txa
|
||||||
|
ora {z2}
|
||||||
|
sta {z1}
|
||||||
|
//FRAGMENT vbuz1=vbuyy_bor_vbuz2
|
||||||
|
tya
|
||||||
|
ora {z2}
|
||||||
|
sta {z1}
|
||||||
|
//FRAGMENT vbuz1=vbuzz_bor_vbuz2
|
||||||
|
tza
|
||||||
|
ora {z2}
|
||||||
|
sta {z1}
|
||||||
|
//FRAGMENT vbuz1=vbuz2_bor_vbuaa
|
||||||
|
ora {z2}
|
||||||
|
sta {z1}
|
||||||
|
//FRAGMENT vbuz1=vbuxx_bor_vbuaa
|
||||||
|
stx $ff
|
||||||
|
ora $ff
|
||||||
|
sta {z1}
|
||||||
|
//FRAGMENT vbuz1=vbuyy_bor_vbuaa
|
||||||
|
sty $ff
|
||||||
|
ora $ff
|
||||||
|
sta {z1}
|
||||||
|
//FRAGMENT vbuz1=vbuzz_bor_vbuaa
|
||||||
|
tay
|
||||||
|
tza
|
||||||
|
sty $ff
|
||||||
|
ora $ff
|
||||||
|
sta {z1}
|
||||||
|
//FRAGMENT vbuz1=vbuz2_bor_vbuxx
|
||||||
|
txa
|
||||||
|
ora {z2}
|
||||||
|
sta {z1}
|
||||||
|
//FRAGMENT vbuz1=vbuxx_bor_vbuxx
|
||||||
|
stx {z1}
|
||||||
|
//FRAGMENT vbuyy=_byte1_vwuz1
|
||||||
|
ldy {z1}+1
|
||||||
|
//FRAGMENT vbuzz=_byte1_vwuz1
|
||||||
|
lda {z1}+1
|
||||||
|
taz
|
||||||
|
//FRAGMENT vbuz1=vbuz2_bor_vbuyy
|
||||||
|
tya
|
||||||
|
ora {z2}
|
||||||
|
sta {z1}
|
||||||
|
//FRAGMENT vbuz1=vbuz2_bor_vbuzz
|
||||||
|
tza
|
||||||
|
ora {z2}
|
||||||
|
sta {z1}
|
||||||
|
//FRAGMENT pbuc1_derefidx_vbuyy=_inc_pbuc1_derefidx_vbuyy
|
||||||
|
lda {c1},y
|
||||||
|
inc
|
||||||
|
sta {c1},y
|
||||||
|
//FRAGMENT pbuc1_derefidx_vbuzz=_inc_pbuc1_derefidx_vbuzz
|
||||||
|
tza
|
||||||
|
tax
|
||||||
|
inc {c1},x
|
||||||
|
//FRAGMENT _deref_pbuc1_eq_vbuxx_then_la1
|
||||||
|
cpx {c1}
|
||||||
|
beq {la1}
|
||||||
|
//FRAGMENT _deref_pbuc1_eq_vbuyy_then_la1
|
||||||
|
tya
|
||||||
|
cmp {c1}
|
||||||
|
beq {la1}
|
||||||
|
//FRAGMENT _deref_pbuc1_eq_vbuzz_then_la1
|
||||||
|
cpz {c1}
|
||||||
|
beq {la1}
|
||||||
//FRAGMENT vduz1=vduc1
|
//FRAGMENT vduz1=vduc1
|
||||||
lda #<{c1}
|
lda #<{c1}
|
||||||
sta {z1}
|
sta {z1}
|
||||||
@ -1710,16 +1809,6 @@ lda {z2}
|
|||||||
sta {z1}
|
sta {z1}
|
||||||
lda {z2}+1
|
lda {z2}+1
|
||||||
sta {z1}+1
|
sta {z1}+1
|
||||||
//FRAGMENT vbuz1=_byte0_vwuz2
|
|
||||||
lda {z2}
|
|
||||||
sta {z1}
|
|
||||||
//FRAGMENT vbuz1=_byte1_vwuz2
|
|
||||||
lda {z2}+1
|
|
||||||
sta {z1}
|
|
||||||
//FRAGMENT vbuz1=vbuz2_bor_vbuz3
|
|
||||||
lda {z2}
|
|
||||||
ora {z3}
|
|
||||||
sta {z1}
|
|
||||||
//FRAGMENT vduz1=vduz2_ror_4
|
//FRAGMENT vduz1=vduz2_ror_4
|
||||||
lda {z2}+3
|
lda {z2}+3
|
||||||
lsr
|
lsr
|
||||||
@ -2307,62 +2396,10 @@ dey
|
|||||||
bne !-
|
bne !-
|
||||||
!e:
|
!e:
|
||||||
taz
|
taz
|
||||||
//FRAGMENT vbuaa=_byte1_vwuz1
|
|
||||||
lda {z1}+1
|
|
||||||
//FRAGMENT vbuxx=_byte1_vwuz1
|
|
||||||
ldx {z1}+1
|
|
||||||
//FRAGMENT vbuz1=vbuxx_bor_vbuz2
|
|
||||||
txa
|
|
||||||
ora {z2}
|
|
||||||
sta {z1}
|
|
||||||
//FRAGMENT vbuz1=vbuyy_bor_vbuz2
|
|
||||||
tya
|
|
||||||
ora {z2}
|
|
||||||
sta {z1}
|
|
||||||
//FRAGMENT vbuz1=vbuzz_bor_vbuz2
|
|
||||||
tza
|
|
||||||
ora {z2}
|
|
||||||
sta {z1}
|
|
||||||
//FRAGMENT vbuz1=vbuz2_bor_vbuaa
|
|
||||||
ora {z2}
|
|
||||||
sta {z1}
|
|
||||||
//FRAGMENT vbuz1=vbuxx_bor_vbuaa
|
|
||||||
stx $ff
|
|
||||||
ora $ff
|
|
||||||
sta {z1}
|
|
||||||
//FRAGMENT vbuz1=vbuyy_bor_vbuaa
|
|
||||||
sty $ff
|
|
||||||
ora $ff
|
|
||||||
sta {z1}
|
|
||||||
//FRAGMENT vbuz1=vbuzz_bor_vbuaa
|
|
||||||
tay
|
|
||||||
tza
|
|
||||||
sty $ff
|
|
||||||
ora $ff
|
|
||||||
sta {z1}
|
|
||||||
//FRAGMENT vbuz1=vbuz2_bor_vbuxx
|
|
||||||
txa
|
|
||||||
ora {z2}
|
|
||||||
sta {z1}
|
|
||||||
//FRAGMENT vbuz1=vbuxx_bor_vbuxx
|
|
||||||
stx {z1}
|
|
||||||
//FRAGMENT vbuaa=_byte1_vduz1
|
//FRAGMENT vbuaa=_byte1_vduz1
|
||||||
lda {z1}+1
|
lda {z1}+1
|
||||||
//FRAGMENT vbuxx=_byte1_vduz1
|
//FRAGMENT vbuxx=_byte1_vduz1
|
||||||
ldx {z1}+1
|
ldx {z1}+1
|
||||||
//FRAGMENT vbuz1=vbuz2_bor_vbuyy
|
|
||||||
tya
|
|
||||||
ora {z2}
|
|
||||||
sta {z1}
|
|
||||||
//FRAGMENT vbuz1=vbuz2_bor_vbuzz
|
|
||||||
tza
|
|
||||||
ora {z2}
|
|
||||||
sta {z1}
|
|
||||||
//FRAGMENT vbuyy=_byte1_vwuz1
|
|
||||||
ldy {z1}+1
|
|
||||||
//FRAGMENT vbuzz=_byte1_vwuz1
|
|
||||||
lda {z1}+1
|
|
||||||
taz
|
|
||||||
//FRAGMENT vbuyy=_byte1_vduz1
|
//FRAGMENT vbuyy=_byte1_vduz1
|
||||||
ldy {z1}+1
|
ldy {z1}+1
|
||||||
//FRAGMENT vbuzz=_byte1_vduz1
|
//FRAGMENT vbuzz=_byte1_vduz1
|
||||||
@ -2440,40 +2477,334 @@ sta {z1}+3
|
|||||||
NO_SYNTHESIS
|
NO_SYNTHESIS
|
||||||
//FRAGMENT vduz1=vwsc1
|
//FRAGMENT vduz1=vwsc1
|
||||||
NO_SYNTHESIS
|
NO_SYNTHESIS
|
||||||
//FRAGMENT _deref_pbuc1=_inc__deref_pbuc1
|
//FRAGMENT _deref_pwuc1=vbuc2
|
||||||
inc {c1}
|
lda #<{c2}
|
||||||
//FRAGMENT _deref_pbuc1_eq_vbuz1_then_la1
|
sta {c1}
|
||||||
lda {c1}
|
lda #>{c2}
|
||||||
cmp {z1}
|
sta {c1}+1
|
||||||
|
//FRAGMENT _deref_pbuc1_neq_vbuc2_then_la1
|
||||||
|
ldz #{c2}
|
||||||
|
cpz {c1}
|
||||||
|
bne {la1}
|
||||||
|
//FRAGMENT vbuz1=vbuz1_bxor_vbuc1
|
||||||
|
lda #{c1}
|
||||||
|
eor {z1}
|
||||||
|
sta {z1}
|
||||||
|
//FRAGMENT vbuz1_eq_0_then_la1
|
||||||
|
lda {z1}
|
||||||
beq {la1}
|
beq {la1}
|
||||||
//FRAGMENT _deref_pbuc1=_dec__deref_pbuc1
|
//FRAGMENT pvoz1=pvoz2
|
||||||
dec {c1}
|
lda {z2}
|
||||||
//FRAGMENT pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1
|
sta {z1}
|
||||||
ldx {z1}
|
lda {z2}+1
|
||||||
inc {c1},x
|
sta {z1}+1
|
||||||
//FRAGMENT _deref_pbuc1_eq_vbuaa_then_la1
|
//FRAGMENT pwuz1=pwuc1
|
||||||
cmp {c1}
|
lda #<{c1}
|
||||||
|
sta {z1}
|
||||||
|
lda #>{c1}
|
||||||
|
sta {z1}+1
|
||||||
|
//FRAGMENT vwuz1_lt_vwuc1_then_la1
|
||||||
|
lda {z1}+1
|
||||||
|
cmp #>{c1}
|
||||||
|
bcc {la1}
|
||||||
|
bne !+
|
||||||
|
lda {z1}
|
||||||
|
cmp #<{c1}
|
||||||
|
bcc {la1}
|
||||||
|
!:
|
||||||
|
//FRAGMENT vduz1=vduz2
|
||||||
|
ldq {z2}
|
||||||
|
stq {z1}
|
||||||
|
//FRAGMENT vduz1=_inc_vduz2
|
||||||
|
lda {z2}
|
||||||
|
clc
|
||||||
|
adc #1
|
||||||
|
sta {z1}
|
||||||
|
lda {z2}+1
|
||||||
|
adc #0
|
||||||
|
sta {z1}+1
|
||||||
|
lda {z2}+2
|
||||||
|
adc #0
|
||||||
|
sta {z1}+2
|
||||||
|
lda {z2}+3
|
||||||
|
adc #0
|
||||||
|
sta {z1}+3
|
||||||
|
//FRAGMENT vwuz1=_inc_vwuz1
|
||||||
|
inw {z1}
|
||||||
|
//FRAGMENT vwuz1=vwuz2_rol_1
|
||||||
|
lda {z2}
|
||||||
|
asl
|
||||||
|
sta {z1}
|
||||||
|
lda {z2}+1
|
||||||
|
rol
|
||||||
|
sta {z1}+1
|
||||||
|
//FRAGMENT pwuz1=pwuc1_plus_vwuz2
|
||||||
|
lda {z2}
|
||||||
|
clc
|
||||||
|
adc #<{c1}
|
||||||
|
sta {z1}
|
||||||
|
lda {z2}+1
|
||||||
|
adc #>{c1}
|
||||||
|
sta {z1}+1
|
||||||
|
//FRAGMENT _deref_pwuz1=vwuz2
|
||||||
|
ldy #0
|
||||||
|
lda {z2}
|
||||||
|
sta ({z1}),y
|
||||||
|
iny
|
||||||
|
lda {z2}+1
|
||||||
|
sta ({z1}),y
|
||||||
|
//FRAGMENT vbuz1=vwuz2_band_vbuc1
|
||||||
|
lda #{c1}
|
||||||
|
and {z2}
|
||||||
|
sta {z1}
|
||||||
|
//FRAGMENT vwuz1=vwuz1_plus_1
|
||||||
|
inw {z1}
|
||||||
|
//FRAGMENT vwuz1_le_vwuc1_then_la1
|
||||||
|
lda {z1}+1
|
||||||
|
cmp #>{c1}
|
||||||
|
bne !+
|
||||||
|
lda {z1}
|
||||||
|
cmp #<{c1}
|
||||||
|
!:
|
||||||
|
bcc {la1}
|
||||||
beq {la1}
|
beq {la1}
|
||||||
//FRAGMENT pbuc1_derefidx_vbuaa=_inc_pbuc1_derefidx_vbuaa
|
//FRAGMENT vwuz1=vwuz1_minus_vwuc1
|
||||||
|
lda {z1}
|
||||||
|
sec
|
||||||
|
sbc #<{c1}
|
||||||
|
sta {z1}
|
||||||
|
lda {z1}+1
|
||||||
|
sbc #>{c1}
|
||||||
|
sta {z1}+1
|
||||||
|
//FRAGMENT vwuz1=vwuz1_minus_1
|
||||||
|
lda {z1}
|
||||||
|
sec
|
||||||
|
sbc #1
|
||||||
|
sta {z1}
|
||||||
|
lda {z1}+1
|
||||||
|
sbc #0
|
||||||
|
sta {z1}+1
|
||||||
|
//FRAGMENT vwuz1=vwuz1_plus_vwuc1
|
||||||
|
lda {z1}
|
||||||
|
clc
|
||||||
|
adc #<{c1}
|
||||||
|
sta {z1}
|
||||||
|
lda {z1}+1
|
||||||
|
adc #>{c1}
|
||||||
|
sta {z1}+1
|
||||||
|
//FRAGMENT vwuz1=_deref_pwuz2_plus__deref_pwuz3
|
||||||
|
ldy #0
|
||||||
|
clc
|
||||||
|
lda ({z2}),y
|
||||||
|
adc ({z3}),y
|
||||||
|
sta {z1}
|
||||||
|
iny
|
||||||
|
lda ({z2}),y
|
||||||
|
adc ({z3}),y
|
||||||
|
sta {z1}+1
|
||||||
|
//FRAGMENT vbuz1=_deref_pbuz2_plus__deref_pbuz3
|
||||||
|
ldy #0
|
||||||
|
lda ({z2}),y
|
||||||
|
clc
|
||||||
|
ldy #0
|
||||||
|
adc ({z3}),y
|
||||||
|
sta {z1}
|
||||||
|
//FRAGMENT vwuz1=vwuz1_minus_vbuc1
|
||||||
|
sec
|
||||||
|
lda {z1}
|
||||||
|
sbc #{c1}
|
||||||
|
sta {z1}
|
||||||
|
lda {z1}+1
|
||||||
|
sbc #0
|
||||||
|
sta {z1}+1
|
||||||
|
//FRAGMENT pbuz1=pbuz2_plus__deref_pwuz3
|
||||||
|
ldy #0
|
||||||
|
clc
|
||||||
|
lda {z2}
|
||||||
|
adc ({z3}),y
|
||||||
|
sta {z1}
|
||||||
|
iny
|
||||||
|
lda {z2}+1
|
||||||
|
adc ({z3}),y
|
||||||
|
sta {z1}+1
|
||||||
|
//FRAGMENT pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuz2_bor_pbuc1_derefidx_vbuz3
|
||||||
|
ldx {z3}
|
||||||
|
ldy {z2}
|
||||||
|
lda ({z1}),y
|
||||||
|
ora {c1},x
|
||||||
|
sta ({z1}),y
|
||||||
|
//FRAGMENT vbuaa=vwuz1_band_vbuc1
|
||||||
|
lda #{c1}
|
||||||
|
and {z1}
|
||||||
|
//FRAGMENT vbuxx=vwuz1_band_vbuc1
|
||||||
|
lda #{c1}
|
||||||
|
and {z1}
|
||||||
tax
|
tax
|
||||||
inc {c1},x
|
//FRAGMENT vbuyy=vwuz1_band_vbuc1
|
||||||
//FRAGMENT pbuc1_derefidx_vbuxx=_inc_pbuc1_derefidx_vbuxx
|
lda #{c1}
|
||||||
inc {c1},x
|
and {z1}
|
||||||
//FRAGMENT pbuc1_derefidx_vbuyy=_inc_pbuc1_derefidx_vbuyy
|
tay
|
||||||
lda {c1},y
|
//FRAGMENT vbuzz=vwuz1_band_vbuc1
|
||||||
inc
|
lda #{c1}
|
||||||
sta {c1},y
|
and {z1}
|
||||||
//FRAGMENT pbuc1_derefidx_vbuzz=_inc_pbuc1_derefidx_vbuzz
|
taz
|
||||||
|
//FRAGMENT vbuaa=_deref_pbuz1_plus__deref_pbuz2
|
||||||
|
ldy #0
|
||||||
|
lda ({z1}),y
|
||||||
|
clc
|
||||||
|
ldy #0
|
||||||
|
adc ({z2}),y
|
||||||
|
//FRAGMENT vbuxx=_deref_pbuz1_plus__deref_pbuz2
|
||||||
|
ldy #0
|
||||||
|
lda ({z1}),y
|
||||||
|
clc
|
||||||
|
ldy #0
|
||||||
|
adc ({z2}),y
|
||||||
|
tax
|
||||||
|
//FRAGMENT vbuyy=_deref_pbuz1_plus__deref_pbuz2
|
||||||
|
ldy #0
|
||||||
|
lda ({z1}),y
|
||||||
|
clc
|
||||||
|
ldy #0
|
||||||
|
adc ({z2}),y
|
||||||
|
tay
|
||||||
|
//FRAGMENT vbuzz=_deref_pbuz1_plus__deref_pbuz2
|
||||||
|
ldy #0
|
||||||
|
lda ({z1}),y
|
||||||
|
clc
|
||||||
|
ldy #0
|
||||||
|
adc ({z2}),y
|
||||||
|
taz
|
||||||
|
//FRAGMENT pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuz2_bor_pbuc1_derefidx_vbuaa
|
||||||
|
ldy {z2}
|
||||||
|
tax
|
||||||
|
lda ({z1}),y
|
||||||
|
ora {c1},x
|
||||||
|
sta ({z1}),y
|
||||||
|
//FRAGMENT pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuz2_bor_pbuc1_derefidx_vbuxx
|
||||||
|
ldy {z2}
|
||||||
|
lda ({z1}),y
|
||||||
|
ora {c1},x
|
||||||
|
sta ({z1}),y
|
||||||
|
//FRAGMENT pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuz2_bor_pbuc1_derefidx_vbuyy
|
||||||
|
tya
|
||||||
|
ldy {z2}
|
||||||
|
tax
|
||||||
|
lda ({z1}),y
|
||||||
|
ora {c1},x
|
||||||
|
sta ({z1}),y
|
||||||
|
//FRAGMENT pbuz1_derefidx_vbuz2=pbuz1_derefidx_vbuz2_bor_pbuc1_derefidx_vbuzz
|
||||||
|
ldy {z2}
|
||||||
tza
|
tza
|
||||||
tax
|
tax
|
||||||
inc {c1},x
|
lda ({z1}),y
|
||||||
//FRAGMENT _deref_pbuc1_eq_vbuxx_then_la1
|
ora {c1},x
|
||||||
cpx {c1}
|
sta ({z1}),y
|
||||||
beq {la1}
|
//FRAGMENT pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bor_pbuc1_derefidx_vbuz2
|
||||||
//FRAGMENT _deref_pbuc1_eq_vbuyy_then_la1
|
txa
|
||||||
tya
|
ldx {z2}
|
||||||
cmp {c1}
|
tay
|
||||||
beq {la1}
|
lda ({z1}),y
|
||||||
//FRAGMENT _deref_pbuc1_eq_vbuzz_then_la1
|
ora {c1},x
|
||||||
cpz {c1}
|
sta ({z1}),y
|
||||||
beq {la1}
|
//FRAGMENT pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bor_pbuc1_derefidx_vbuaa
|
||||||
|
tay
|
||||||
|
txa
|
||||||
|
ldx {c1},y
|
||||||
|
tay
|
||||||
|
lda ({z1}),y
|
||||||
|
stx $ff
|
||||||
|
ora $ff
|
||||||
|
sta ({z1}),y
|
||||||
|
//FRAGMENT pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bor_pbuc1_derefidx_vbuxx
|
||||||
|
txa
|
||||||
|
tay
|
||||||
|
lda ({z1}),y
|
||||||
|
stx $ff
|
||||||
|
ora {c1},x
|
||||||
|
ldy $ff
|
||||||
|
sta ({z1}),y
|
||||||
|
//FRAGMENT pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bor_pbuc1_derefidx_vbuyy
|
||||||
|
txa
|
||||||
|
ldx {c1},y
|
||||||
|
tay
|
||||||
|
lda ({z1}),y
|
||||||
|
stx $ff
|
||||||
|
ora $ff
|
||||||
|
sta ({z1}),y
|
||||||
|
//FRAGMENT pbuz1_derefidx_vbuxx=pbuz1_derefidx_vbuxx_bor_pbuc1_derefidx_vbuzz
|
||||||
|
txa
|
||||||
|
tay
|
||||||
|
tza
|
||||||
|
tax
|
||||||
|
lda ({z1}),y
|
||||||
|
ora {c1},x
|
||||||
|
sta ({z1}),y
|
||||||
|
//FRAGMENT pbuz1_derefidx_vbuzz=pbuz1_derefidx_vbuzz_bor_pbuc1_derefidx_vbuz2
|
||||||
|
ldx {z2}
|
||||||
|
tza
|
||||||
|
tay
|
||||||
|
lda ({z1}),y
|
||||||
|
ora {c1},x
|
||||||
|
sta ({z1}),y
|
||||||
|
//FRAGMENT pbuz1_derefidx_vbuzz=pbuz1_derefidx_vbuzz_bor_pbuc1_derefidx_vbuaa
|
||||||
|
tax
|
||||||
|
tza
|
||||||
|
tay
|
||||||
|
lda ({z1}),y
|
||||||
|
ora {c1},x
|
||||||
|
sta ({z1}),y
|
||||||
|
//FRAGMENT pbuz1_derefidx_vbuzz=pbuz1_derefidx_vbuzz_bor_pbuc1_derefidx_vbuxx
|
||||||
|
tza
|
||||||
|
tay
|
||||||
|
lda ({z1}),y
|
||||||
|
ora {c1},x
|
||||||
|
sta ({z1}),y
|
||||||
|
//FRAGMENT pbuz1_derefidx_vbuzz=pbuz1_derefidx_vbuzz_bor_pbuc1_derefidx_vbuyy
|
||||||
|
lda ({z1}),z
|
||||||
|
stz $ff
|
||||||
|
ora {c1},y
|
||||||
|
ldz $ff
|
||||||
|
sta ({z1}),z
|
||||||
|
//FRAGMENT pbuz1_derefidx_vbuzz=pbuz1_derefidx_vbuzz_bor_pbuc1_derefidx_vbuzz
|
||||||
|
tza
|
||||||
|
tax
|
||||||
|
tza
|
||||||
|
tay
|
||||||
|
lda ({z1}),y
|
||||||
|
ora {c1},x
|
||||||
|
sta ({z1}),y
|
||||||
|
//FRAGMENT vduz1=_inc_vduz1
|
||||||
|
inq {z1}
|
||||||
|
//FRAGMENT pwuz1=pwuc1_plus_vwuz1
|
||||||
|
lda {z1}
|
||||||
|
clc
|
||||||
|
adc #<{c1}
|
||||||
|
sta {z1}
|
||||||
|
lda {z1}+1
|
||||||
|
adc #>{c1}
|
||||||
|
sta {z1}+1
|
||||||
|
//FRAGMENT vwuz1=_deref_pwuz1_plus__deref_pwuz2
|
||||||
|
ldy #0
|
||||||
|
clc
|
||||||
|
lda ({z1}),y
|
||||||
|
adc ({z2}),y
|
||||||
|
pha
|
||||||
|
iny
|
||||||
|
lda ({z1}),y
|
||||||
|
adc ({z2}),y
|
||||||
|
sta {z1}+1
|
||||||
|
pla
|
||||||
|
sta {z1}
|
||||||
|
//FRAGMENT pbuz1=pbuz2_plus__deref_pwuz1
|
||||||
|
ldy #0
|
||||||
|
clc
|
||||||
|
lda ({z1}),y
|
||||||
|
adc {z2}
|
||||||
|
pha
|
||||||
|
iny
|
||||||
|
lda ({z1}),y
|
||||||
|
adc {z2}+1
|
||||||
|
sta {z1}+1
|
||||||
|
pla
|
||||||
|
sta {z1}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
//KICKC FRAGMENT CACHE d8c3d291d d8c3d4dd4
|
//KICKC FRAGMENT CACHE d528e7a15 d528e9ed4
|
||||||
//FRAGMENT vbuz1=vbuc1
|
//FRAGMENT vbuz1=vbuc1
|
||||||
lda #{c1}
|
lda #{c1}
|
||||||
sta {z1}
|
sta {z1}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
//KICKC FRAGMENT CACHE d8c3d291d d8c3d4dd4
|
//KICKC FRAGMENT CACHE d528e7a15 d528e9ed4
|
||||||
//FRAGMENT vbuz1=vbuc1
|
//FRAGMENT vbuz1=vbuc1
|
||||||
lda #{c1}
|
lda #{c1}
|
||||||
sta {z1}
|
sta {z1}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
//KICKC FRAGMENT CACHE d8c3d291d d8c3d4dd4
|
//KICKC FRAGMENT CACHE d528e7a15 d528e9ed4
|
||||||
//FRAGMENT _deref_pbuc1=_inc__deref_pbuc1
|
//FRAGMENT _deref_pbuc1=_inc__deref_pbuc1
|
||||||
inc {c1}
|
inc {c1}
|
||||||
//FRAGMENT isr_hardware_all_entry
|
//FRAGMENT isr_hardware_all_entry
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
//KICKC FRAGMENT CACHE d8c3d291d d8c3d4dd4
|
//KICKC FRAGMENT CACHE d528e7a15 d528e9ed4
|
||||||
//FRAGMENT vbuz1=_deref_pbuc1
|
//FRAGMENT vbuz1=_deref_pbuc1
|
||||||
lda {c1}
|
lda {c1}
|
||||||
sta {z1}
|
sta {z1}
|
||||||
|
1
src/main/fragment/mega45gs02-common/vdum1=_inc_vdum1.asm
Normal file
1
src/main/fragment/mega45gs02-common/vdum1=_inc_vdum1.asm
Normal file
@ -0,0 +1 @@
|
|||||||
|
inq {m1}
|
@ -16,7 +16,7 @@ public class TestProgramsThorough extends TestPrograms {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testComplexSwinkiblues() throws IOException {
|
public void testComplexSwinkiblues() throws IOException {
|
||||||
compileAndCompare("complex/swinkiblues/kielbasa.c", log());
|
compileAndCompare("complex/swinkiblues_4/loader.c");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -418,9 +418,7 @@ graphics_mode: {
|
|||||||
__b1:
|
__b1:
|
||||||
// for(char y=0;y<25;y++)
|
// for(char y=0;y<25;y++)
|
||||||
cpx #$19
|
cpx #$19
|
||||||
bcs !__b2+
|
bcc __b2
|
||||||
jmp __b2
|
|
||||||
!__b2:
|
|
||||||
lda #<$ff80000
|
lda #<$ff80000
|
||||||
sta.z cols
|
sta.z cols
|
||||||
lda #>$ff80000
|
lda #>$ff80000
|
||||||
@ -471,14 +469,7 @@ graphics_mode: {
|
|||||||
stz.z lpoke.val
|
stz.z lpoke.val
|
||||||
jsr lpoke
|
jsr lpoke
|
||||||
// lpoke(cols++, 0);
|
// lpoke(cols++, 0);
|
||||||
inc.z cols
|
inq.z cols
|
||||||
bne !+
|
|
||||||
inc.z cols+1
|
|
||||||
bne !+
|
|
||||||
inc.z cols+2
|
|
||||||
bne !+
|
|
||||||
inc.z cols+3
|
|
||||||
!:
|
|
||||||
// lpoke(cols++, WHITE)
|
// lpoke(cols++, WHITE)
|
||||||
ldq.z cols
|
ldq.z cols
|
||||||
stq.z lpoke.addr
|
stq.z lpoke.addr
|
||||||
@ -487,14 +478,7 @@ graphics_mode: {
|
|||||||
// No extended attributes
|
// No extended attributes
|
||||||
jsr lpoke
|
jsr lpoke
|
||||||
// lpoke(cols++, WHITE);
|
// lpoke(cols++, WHITE);
|
||||||
inc.z cols
|
inq.z cols
|
||||||
bne !+
|
|
||||||
inc.z cols+1
|
|
||||||
bne !+
|
|
||||||
inc.z cols+2
|
|
||||||
bne !+
|
|
||||||
inc.z cols+3
|
|
||||||
!:
|
|
||||||
// for( unsigned int i=0; i<1000;i++)
|
// for( unsigned int i=0; i<1000;i++)
|
||||||
inw.z i
|
inw.z i
|
||||||
jmp __b6
|
jmp __b6
|
||||||
|
@ -3366,14 +3366,7 @@ graphics_mode: {
|
|||||||
// graphics_mode::@9
|
// graphics_mode::@9
|
||||||
__b9:
|
__b9:
|
||||||
// [94] graphics_mode::cols#1 = ++ graphics_mode::cols#3 -- vduz1=_inc_vduz1
|
// [94] graphics_mode::cols#1 = ++ graphics_mode::cols#3 -- vduz1=_inc_vduz1
|
||||||
inc.z cols
|
inq.z cols
|
||||||
bne !+
|
|
||||||
inc.z cols+1
|
|
||||||
bne !+
|
|
||||||
inc.z cols+2
|
|
||||||
bne !+
|
|
||||||
inc.z cols+3
|
|
||||||
!:
|
|
||||||
// [95] lpoke::addr = graphics_mode::cols#1 -- vduz1=vduz2
|
// [95] lpoke::addr = graphics_mode::cols#1 -- vduz1=vduz2
|
||||||
ldq.z cols
|
ldq.z cols
|
||||||
stq.z lpoke.addr
|
stq.z lpoke.addr
|
||||||
@ -3387,14 +3380,7 @@ graphics_mode: {
|
|||||||
// graphics_mode::@10
|
// graphics_mode::@10
|
||||||
__b10:
|
__b10:
|
||||||
// [98] graphics_mode::cols#2 = ++ graphics_mode::cols#1 -- vduz1=_inc_vduz1
|
// [98] graphics_mode::cols#2 = ++ graphics_mode::cols#1 -- vduz1=_inc_vduz1
|
||||||
inc.z cols
|
inq.z cols
|
||||||
bne !+
|
|
||||||
inc.z cols+1
|
|
||||||
bne !+
|
|
||||||
inc.z cols+2
|
|
||||||
bne !+
|
|
||||||
inc.z cols+3
|
|
||||||
!:
|
|
||||||
// [99] graphics_mode::i#1 = ++ graphics_mode::i#2 -- vwuz1=_inc_vwuz1
|
// [99] graphics_mode::i#1 = ++ graphics_mode::i#2 -- vwuz1=_inc_vwuz1
|
||||||
inw.z i
|
inw.z i
|
||||||
// [83] phi from graphics_mode::@10 to graphics_mode::@6 [phi:graphics_mode::@10->graphics_mode::@6]
|
// [83] phi from graphics_mode::@10 to graphics_mode::@6 [phi:graphics_mode::@10->graphics_mode::@6]
|
||||||
@ -4308,7 +4294,6 @@ Succesful ASM optimization Pass5UnusedLabelElimination
|
|||||||
Relabelling long label __b8_from___b7 to __b4
|
Relabelling long label __b8_from___b7 to __b4
|
||||||
Succesful ASM optimization Pass5RelabelLongLabels
|
Succesful ASM optimization Pass5RelabelLongLabels
|
||||||
Replacing instruction lda #<0 with TZA
|
Replacing instruction lda #<0 with TZA
|
||||||
Fixing long branch [348] bcc __b2 to bcs
|
|
||||||
|
|
||||||
FINAL SYMBOL TABLE
|
FINAL SYMBOL TABLE
|
||||||
__constant const char BLACK = 0
|
__constant const char BLACK = 0
|
||||||
@ -4549,7 +4534,7 @@ mem[12] [ memset_dma_command ]
|
|||||||
|
|
||||||
|
|
||||||
FINAL ASSEMBLER
|
FINAL ASSEMBLER
|
||||||
Score: 52396
|
Score: 52076
|
||||||
|
|
||||||
// File Comments
|
// File Comments
|
||||||
// A pretty simple double sine plotter
|
// A pretty simple double sine plotter
|
||||||
@ -5089,9 +5074,7 @@ graphics_mode: {
|
|||||||
// for(char y=0;y<25;y++)
|
// for(char y=0;y<25;y++)
|
||||||
// [82] if(graphics_mode::y#2<$19) goto graphics_mode::@2 -- vbuxx_lt_vbuc1_then_la1
|
// [82] if(graphics_mode::y#2<$19) goto graphics_mode::@2 -- vbuxx_lt_vbuc1_then_la1
|
||||||
cpx #$19
|
cpx #$19
|
||||||
bcs !__b2+
|
bcc __b2
|
||||||
jmp __b2
|
|
||||||
!__b2:
|
|
||||||
// [83] phi from graphics_mode::@1 to graphics_mode::@6 [phi:graphics_mode::@1->graphics_mode::@6]
|
// [83] phi from graphics_mode::@1 to graphics_mode::@6 [phi:graphics_mode::@1->graphics_mode::@6]
|
||||||
// [83] phi graphics_mode::cols#3 = $ff80000 [phi:graphics_mode::@1->graphics_mode::@6#0] -- vduz1=vduc1
|
// [83] phi graphics_mode::cols#3 = $ff80000 [phi:graphics_mode::@1->graphics_mode::@6#0] -- vduz1=vduc1
|
||||||
lda #<$ff80000
|
lda #<$ff80000
|
||||||
@ -5166,14 +5149,7 @@ graphics_mode: {
|
|||||||
// graphics_mode::@9
|
// graphics_mode::@9
|
||||||
// lpoke(cols++, 0);
|
// lpoke(cols++, 0);
|
||||||
// [94] graphics_mode::cols#1 = ++ graphics_mode::cols#3 -- vduz1=_inc_vduz1
|
// [94] graphics_mode::cols#1 = ++ graphics_mode::cols#3 -- vduz1=_inc_vduz1
|
||||||
inc.z cols
|
inq.z cols
|
||||||
bne !+
|
|
||||||
inc.z cols+1
|
|
||||||
bne !+
|
|
||||||
inc.z cols+2
|
|
||||||
bne !+
|
|
||||||
inc.z cols+3
|
|
||||||
!:
|
|
||||||
// lpoke(cols++, WHITE)
|
// lpoke(cols++, WHITE)
|
||||||
// [95] lpoke::addr = graphics_mode::cols#1 -- vduz1=vduz2
|
// [95] lpoke::addr = graphics_mode::cols#1 -- vduz1=vduz2
|
||||||
ldq.z cols
|
ldq.z cols
|
||||||
@ -5187,14 +5163,7 @@ graphics_mode: {
|
|||||||
// graphics_mode::@10
|
// graphics_mode::@10
|
||||||
// lpoke(cols++, WHITE);
|
// lpoke(cols++, WHITE);
|
||||||
// [98] graphics_mode::cols#2 = ++ graphics_mode::cols#1 -- vduz1=_inc_vduz1
|
// [98] graphics_mode::cols#2 = ++ graphics_mode::cols#1 -- vduz1=_inc_vduz1
|
||||||
inc.z cols
|
inq.z cols
|
||||||
bne !+
|
|
||||||
inc.z cols+1
|
|
||||||
bne !+
|
|
||||||
inc.z cols+2
|
|
||||||
bne !+
|
|
||||||
inc.z cols+3
|
|
||||||
!:
|
|
||||||
// for( unsigned int i=0; i<1000;i++)
|
// for( unsigned int i=0; i<1000;i++)
|
||||||
// [99] graphics_mode::i#1 = ++ graphics_mode::i#2 -- vwuz1=_inc_vwuz1
|
// [99] graphics_mode::i#1 = ++ graphics_mode::i#2 -- vwuz1=_inc_vwuz1
|
||||||
inw.z i
|
inw.z i
|
||||||
|
Loading…
Reference in New Issue
Block a user