mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-12-26 03:32:23 +00:00
Working on deprecating lo/hi operators. Closes #667
This commit is contained in:
parent
459c220af3
commit
c2638ff86c
@ -642,8 +642,9 @@ bitmap_plot: {
|
||||
lda.z plotter+1
|
||||
adc.z __0+1
|
||||
sta.z plotter+1
|
||||
// *plotter |= bitmap_plot_bit[(char)x]
|
||||
// BYTE0(x)
|
||||
ldx.z x
|
||||
// *plotter |= bitmap_plot_bit[BYTE0(x)]
|
||||
lda bitmap_plot_bit,x
|
||||
ldy #0
|
||||
ora (plotter),y
|
||||
|
@ -273,7 +273,7 @@ bitmap_plot: scope:[bitmap_plot] from main::@13
|
||||
[137] bitmap_plot::plotter#0 = bitmap_plot_yhi[bitmap_plot::y#0] w= bitmap_plot_ylo[bitmap_plot::y#0]
|
||||
[138] bitmap_plot::$0 = bitmap_plot::x#0 & $fff8
|
||||
[139] bitmap_plot::plotter#1 = (byte*)bitmap_plot::plotter#0 + bitmap_plot::$0
|
||||
[140] bitmap_plot::$1 = (byte)bitmap_plot::x#0
|
||||
[140] bitmap_plot::$1 = < bitmap_plot::x#0
|
||||
[141] *bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1]
|
||||
to:bitmap_plot::@return
|
||||
bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot
|
||||
|
@ -601,7 +601,7 @@ bitmap_plot: scope:[bitmap_plot] from main::@17
|
||||
bitmap_plot::plotter#0 = (byte*){ bitmap_plot_yhi[bitmap_plot::y#1], bitmap_plot_ylo[bitmap_plot::y#1] }
|
||||
bitmap_plot::$0 = bitmap_plot::x#1 & $fff8
|
||||
bitmap_plot::plotter#1 = bitmap_plot::plotter#0 + bitmap_plot::$0
|
||||
bitmap_plot::$1 = (byte)bitmap_plot::x#1
|
||||
bitmap_plot::$1 = < bitmap_plot::x#1
|
||||
*bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1]
|
||||
to:bitmap_plot::@return
|
||||
bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot
|
||||
@ -2995,7 +2995,7 @@ bitmap_plot: scope:[bitmap_plot] from main::@13
|
||||
[137] bitmap_plot::plotter#0 = bitmap_plot_yhi[bitmap_plot::y#0] w= bitmap_plot_ylo[bitmap_plot::y#0]
|
||||
[138] bitmap_plot::$0 = bitmap_plot::x#0 & $fff8
|
||||
[139] bitmap_plot::plotter#1 = (byte*)bitmap_plot::plotter#0 + bitmap_plot::$0
|
||||
[140] bitmap_plot::$1 = (byte)bitmap_plot::x#0
|
||||
[140] bitmap_plot::$1 = < bitmap_plot::x#0
|
||||
[141] *bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1]
|
||||
to:bitmap_plot::@return
|
||||
bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot
|
||||
@ -3240,7 +3240,7 @@ byte* bitmap_plot::plotter
|
||||
word bitmap_plot::plotter#0 500.5
|
||||
byte* bitmap_plot::plotter#1 1501.5
|
||||
word bitmap_plot::x
|
||||
word bitmap_plot::x#0 220.39999999999998
|
||||
word bitmap_plot::x#0 420.59999999999997
|
||||
byte bitmap_plot::y
|
||||
byte bitmap_plot::y#0 2103.0
|
||||
byte* bitmap_screen
|
||||
@ -4150,7 +4150,7 @@ Uplift Scope [sin16s] 110,511.5: zp[4]:31 [ sin16s::x#6 sin16s::x#4 sin16s::x#0
|
||||
Uplift Scope [mul16s] 82,508.25: zp[4]:26 [ mul16s::m#4 mul16s::m#5 mul16s::m#1 mul16s::m#0 mul16s::m#2 ] 20,002: zp[2]:140 [ mul16s::$6 ] 20,002: zp[2]:142 [ mul16s::$11 ] 20,002: zp[2]:144 [ mul16s::$9 ] 20,002: zp[2]:146 [ mul16s::$12 ] 3,065.85: zp[2]:22 [ mul16s::a#3 mul16s::a#2 mul16s::a#1 mul16s::a#0 ] 2,240.8: zp[4]:148 [ mul16s::return#1 ] 2,002: zp[4]:122 [ mul16s::return#0 ] 1,331.55: zp[2]:24 [ mul16s::b#3 mul16s::b#2 mul16s::b#1 ] 202: zp[4]:75 [ mul16s::return#3 ] 202: zp[4]:95 [ mul16s::return#4 ]
|
||||
Uplift Scope [memset] 35,672.33: zp[2]:42 [ memset::dst#2 memset::dst#4 memset::dst#1 ] 1,833.67: zp[2]:203 [ memset::end#0 ] 1,250.12: zp[1]:41 [ memset::c#4 ] 1,001: zp[2]:37 [ memset::num#2 ] 0: zp[2]:39 [ memset::str#3 ]
|
||||
Uplift Scope [bitmap_init] 3,628.62: zp[2]:20 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] 3,169.83: zp[1]:17 [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] 2,002: zp[1]:18 [ bitmap_init::x#2 bitmap_init::x#1 ] 2,002: zp[1]:19 [ bitmap_init::y#2 bitmap_init::y#1 ] 2,002: zp[1]:133 [ bitmap_init::$4 ] 2,002: zp[1]:134 [ bitmap_init::$5 ] 2,002: zp[1]:135 [ bitmap_init::$6 ] 500.5: zp[1]:132 [ bitmap_init::$7 ]
|
||||
Uplift Scope [bitmap_plot] 2,103: zp[1]:111 [ bitmap_plot::y#0 ] 2,002: zp[2]:154 [ bitmap_plot::$0 ] 2,002: zp[1]:158 [ bitmap_plot::$1 ] 1,501.5: zp[2]:156 [ bitmap_plot::plotter#1 ] 500.5: zp[2]:152 [ bitmap_plot::plotter#0 ] 220.4: zp[2]:109 [ bitmap_plot::x#0 ]
|
||||
Uplift Scope [bitmap_plot] 2,103: zp[1]:111 [ bitmap_plot::y#0 ] 2,002: zp[2]:154 [ bitmap_plot::$0 ] 2,002: zp[1]:158 [ bitmap_plot::$1 ] 1,501.5: zp[2]:156 [ bitmap_plot::plotter#1 ] 500.5: zp[2]:152 [ bitmap_plot::plotter#0 ] 420.6: zp[2]:109 [ bitmap_plot::x#0 ]
|
||||
Uplift Scope [sin16s_gen2] 2,233: zp[2]:9 [ sin16s_gen2::i#2 sin16s_gen2::i#1 ] 2,002: zp[4]:126 [ sin16s_gen2::$6 ] 1,251.25: zp[4]:11 [ sin16s_gen2::x#2 sin16s_gen2::x#1 ] 1,001: zp[2]:130 [ sin16s_gen2::$8 ] 940.33: zp[2]:15 [ sin16s_gen2::sintab#2 sin16s_gen2::sintab#0 ] 73.47: zp[4]:116 [ sin16s_gen2::step#0 ]
|
||||
Uplift Scope [div32u16u] 2,002: zp[2]:165 [ div32u16u::quotient_lo#0 ] 400.4: zp[2]:161 [ div32u16u::quotient_hi#0 ] 367.33: zp[4]:167 [ div32u16u::return#1 ] 202: zp[4]:112 [ div32u16u::return#0 ]
|
||||
Uplift Scope [main] 372.11: zp[1]:8 [ main::r_add#10 main::r_add#12 main::r_add#1 ] 202: zp[2]:69 [ main::$26 ] 202: zp[2]:71 [ main::$30 ] 202: zp[4]:79 [ main::xpos#0 ] 202: zp[2]:85 [ main::$7 ] 202: zp[2]:89 [ main::$27 ] 202: zp[2]:91 [ main::$31 ] 202: zp[4]:99 [ main::ypos#0 ] 202: zp[2]:105 [ main::$11 ] 139.77: zp[2]:2 [ main::idx_x#11 main::idx_x#10 main::idx_x#1 ] 139.63: zp[2]:6 [ main::idx_y#3 main::idx_y#10 main::idx_y#1 ] 101: zp[2]:73 [ main::cos_x#0 ] 101: zp[2]:83 [ main::$28 ] 101: zp[2]:93 [ main::sin_y#0 ] 101: zp[2]:103 [ main::$29 ] 62.04: zp[2]:4 [ main::r#10 main::r#1 ] 50.5: zp[2]:107 [ main::y#0 ] 8.42: zp[2]:87 [ main::x#0 ]
|
||||
@ -5219,7 +5219,7 @@ bitmap_plot: {
|
||||
lda.z plotter+1
|
||||
adc.z __0+1
|
||||
sta.z plotter+1
|
||||
// [140] bitmap_plot::$1 = (byte)bitmap_plot::x#0 -- vbuxx=_byte_vwuz1
|
||||
// [140] bitmap_plot::$1 = < bitmap_plot::x#0 -- vbuxx=_byte0_vwuz1
|
||||
ldx.z x
|
||||
// [141] *bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1] -- _deref_pbuz1=_deref_pbuz1_bor_pbuc1_derefidx_vbuxx
|
||||
lda bitmap_plot_bit,x
|
||||
@ -6244,7 +6244,7 @@ byte* bitmap_plot::plotter
|
||||
word bitmap_plot::plotter#0 plotter zp[2]:37 500.5
|
||||
byte* bitmap_plot::plotter#1 plotter zp[2]:37 1501.5
|
||||
word bitmap_plot::x
|
||||
word bitmap_plot::x#0 x zp[2]:28 220.39999999999998
|
||||
word bitmap_plot::x#0 x zp[2]:28 420.59999999999997
|
||||
byte bitmap_plot::y
|
||||
byte bitmap_plot::y#0 reg byte x 2103.0
|
||||
constant const byte* bitmap_plot_bit[$100] = { fill( $100, 0) }
|
||||
@ -7423,9 +7423,10 @@ bitmap_plot: {
|
||||
lda.z plotter+1
|
||||
adc.z __0+1
|
||||
sta.z plotter+1
|
||||
// *plotter |= bitmap_plot_bit[(char)x]
|
||||
// [140] bitmap_plot::$1 = (byte)bitmap_plot::x#0 -- vbuxx=_byte_vwuz1
|
||||
// BYTE0(x)
|
||||
// [140] bitmap_plot::$1 = < bitmap_plot::x#0 -- vbuxx=_byte0_vwuz1
|
||||
ldx.z x
|
||||
// *plotter |= bitmap_plot_bit[BYTE0(x)]
|
||||
// [141] *bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1] -- _deref_pbuz1=_deref_pbuz1_bor_pbuc1_derefidx_vbuxx
|
||||
lda bitmap_plot_bit,x
|
||||
ldy #0
|
||||
|
@ -62,7 +62,7 @@ byte* bitmap_plot::plotter
|
||||
word bitmap_plot::plotter#0 plotter zp[2]:37 500.5
|
||||
byte* bitmap_plot::plotter#1 plotter zp[2]:37 1501.5
|
||||
word bitmap_plot::x
|
||||
word bitmap_plot::x#0 x zp[2]:28 220.39999999999998
|
||||
word bitmap_plot::x#0 x zp[2]:28 420.59999999999997
|
||||
byte bitmap_plot::y
|
||||
byte bitmap_plot::y#0 reg byte x 2103.0
|
||||
constant const byte* bitmap_plot_bit[$100] = { fill( $100, 0) }
|
||||
|
@ -372,9 +372,9 @@ mul8s: {
|
||||
lda.z a
|
||||
cmp #0
|
||||
bpl __b1
|
||||
// >m
|
||||
// BYTE1(m)
|
||||
lda.z m+1
|
||||
// >m = (>m)-(char)b
|
||||
// BYTE1(m) = BYTE1(m)-(char)b
|
||||
sty.z $ff
|
||||
sec
|
||||
sbc.z $ff
|
||||
@ -383,9 +383,9 @@ mul8s: {
|
||||
// if(b<0)
|
||||
cpy #0
|
||||
bpl __b2
|
||||
// >m
|
||||
// BYTE1(m)
|
||||
lda.z m+1
|
||||
// >m = (>m)-(char)a
|
||||
// BYTE1(m) = BYTE1(m)-(char)a
|
||||
sec
|
||||
sbc.z a
|
||||
sta.z m+1
|
||||
@ -418,9 +418,8 @@ utoa: {
|
||||
cmp #max_digits-1
|
||||
bcc __b2
|
||||
// *buffer++ = DIGITS[(char)value]
|
||||
lda.z value
|
||||
tay
|
||||
lda DIGITS,y
|
||||
ldx.z value
|
||||
lda DIGITS,x
|
||||
ldy #0
|
||||
sta (buffer),y
|
||||
// *buffer++ = DIGITS[(char)value];
|
||||
|
@ -201,7 +201,7 @@ mul8s::@5: scope:[mul8s] from mul8s
|
||||
mul8s::@3: scope:[mul8s] from mul8s::@5
|
||||
[95] mul8s::$6 = > mul8s::m#0
|
||||
[96] mul8s::$11 = mul8s::$6 - (byte)mul8s::b#2
|
||||
[97] mul8s::m#1 = mul8s::m#0 hi= mul8s::$11
|
||||
[97] mul8s::m#1 = mul8s::m#0 byte1= mul8s::$11
|
||||
to:mul8s::@1
|
||||
mul8s::@1: scope:[mul8s] from mul8s::@3 mul8s::@5
|
||||
[98] mul8s::m#5 = phi( mul8s::@3/mul8s::m#1, mul8s::@5/mul8s::m#0 )
|
||||
@ -210,7 +210,7 @@ mul8s::@1: scope:[mul8s] from mul8s::@3 mul8s::@5
|
||||
mul8s::@4: scope:[mul8s] from mul8s::@1
|
||||
[100] mul8s::$9 = > mul8s::m#5
|
||||
[101] mul8s::$12 = mul8s::$9 - (byte)mul8s::a#2
|
||||
[102] mul8s::m#2 = mul8s::m#5 hi= mul8s::$12
|
||||
[102] mul8s::m#2 = mul8s::m#5 byte1= mul8s::$12
|
||||
to:mul8s::@2
|
||||
mul8s::@2: scope:[mul8s] from mul8s::@1 mul8s::@4
|
||||
[103] mul8s::m#4 = phi( mul8s::@1/mul8s::m#5, mul8s::@4/mul8s::m#2 )
|
||||
|
@ -262,7 +262,7 @@ mul8s::@3: scope:[mul8s] from mul8s::@5
|
||||
mul8s::$13 = (byte)mul8s::b#4
|
||||
mul8s::$7 = mul8s::$6 - mul8s::$13
|
||||
mul8s::$11 = mul8s::$7
|
||||
mul8s::m#1 = mul8s::m#3 hi= mul8s::$11
|
||||
mul8s::m#1 = mul8s::m#3 byte1= mul8s::$11
|
||||
to:mul8s::@1
|
||||
mul8s::@2: scope:[mul8s] from mul8s::@1 mul8s::@4
|
||||
mul8s::m#4 = phi( mul8s::@1/mul8s::m#6, mul8s::@4/mul8s::m#2 )
|
||||
@ -275,7 +275,7 @@ mul8s::@4: scope:[mul8s] from mul8s::@1
|
||||
mul8s::$14 = (byte)mul8s::a#4
|
||||
mul8s::$10 = mul8s::$9 - mul8s::$14
|
||||
mul8s::$12 = mul8s::$10
|
||||
mul8s::m#2 = mul8s::m#5 hi= mul8s::$12
|
||||
mul8s::m#2 = mul8s::m#5 byte1= mul8s::$12
|
||||
to:mul8s::@2
|
||||
mul8s::@return: scope:[mul8s] from mul8s::@2
|
||||
mul8s::return#4 = phi( mul8s::@2/mul8s::return#0 )
|
||||
@ -3277,7 +3277,7 @@ mul8s::@5: scope:[mul8s] from mul8s
|
||||
mul8s::@3: scope:[mul8s] from mul8s::@5
|
||||
[95] mul8s::$6 = > mul8s::m#0
|
||||
[96] mul8s::$11 = mul8s::$6 - (byte)mul8s::b#2
|
||||
[97] mul8s::m#1 = mul8s::m#0 hi= mul8s::$11
|
||||
[97] mul8s::m#1 = mul8s::m#0 byte1= mul8s::$11
|
||||
to:mul8s::@1
|
||||
mul8s::@1: scope:[mul8s] from mul8s::@3 mul8s::@5
|
||||
[98] mul8s::m#5 = phi( mul8s::@3/mul8s::m#1, mul8s::@5/mul8s::m#0 )
|
||||
@ -3286,7 +3286,7 @@ mul8s::@1: scope:[mul8s] from mul8s::@3 mul8s::@5
|
||||
mul8s::@4: scope:[mul8s] from mul8s::@1
|
||||
[100] mul8s::$9 = > mul8s::m#5
|
||||
[101] mul8s::$12 = mul8s::$9 - (byte)mul8s::a#2
|
||||
[102] mul8s::m#2 = mul8s::m#5 hi= mul8s::$12
|
||||
[102] mul8s::m#2 = mul8s::m#5 byte1= mul8s::$12
|
||||
to:mul8s::@2
|
||||
mul8s::@2: scope:[mul8s] from mul8s::@1 mul8s::@4
|
||||
[103] mul8s::m#4 = phi( mul8s::@1/mul8s::m#5, mul8s::@4/mul8s::m#2 )
|
||||
@ -3938,7 +3938,6 @@ Removing always clobbered register reg byte a as potential for zp[1]:20 [ mul8s:
|
||||
Statement [93] mul8s::m#0 = mul8u::return#2 [ mul8s::a#2 mul8s::b#2 mul8s::m#0 ] ( main:7::mul8s:36 [ main::y#2 main::count#10 main::sc#10 main::x#2 main::yd#0 printf_buffer mul8s::a#2 mul8s::b#2 mul8s::m#0 ] { { mul8s::b#0 = mul8s::b#2 mul8s::a#2 mul8s::a#0 main::xd#0 } } main:7::mul8s:40 [ main::y#2 main::count#10 main::sc#10 main::x#2 main::$9 printf_buffer mul8s::a#2 mul8s::b#2 mul8s::m#0 ] { { mul8s::b#1 = mul8s::b#2 mul8s::a#2 mul8s::a#1 main::yd#0 } } ) always clobbers reg byte a
|
||||
Statement [96] mul8s::$11 = mul8s::$6 - (byte)mul8s::b#2 [ mul8s::a#2 mul8s::b#2 mul8s::m#0 mul8s::$11 ] ( main:7::mul8s:36 [ main::y#2 main::count#10 main::sc#10 main::x#2 main::yd#0 printf_buffer mul8s::a#2 mul8s::b#2 mul8s::m#0 mul8s::$11 ] { { mul8s::b#0 = mul8s::b#2 mul8s::a#2 mul8s::a#0 main::xd#0 } } main:7::mul8s:40 [ main::y#2 main::count#10 main::sc#10 main::x#2 main::$9 printf_buffer mul8s::a#2 mul8s::b#2 mul8s::m#0 mul8s::$11 ] { { mul8s::b#1 = mul8s::b#2 mul8s::a#2 mul8s::a#1 main::yd#0 } } ) always clobbers reg byte a
|
||||
Statement [101] mul8s::$12 = mul8s::$9 - (byte)mul8s::a#2 [ mul8s::m#5 mul8s::$12 ] ( main:7::mul8s:36 [ main::y#2 main::count#10 main::sc#10 main::x#2 main::yd#0 printf_buffer mul8s::m#5 mul8s::$12 ] { { mul8s::b#0 = mul8s::b#2 mul8s::a#2 mul8s::a#0 main::xd#0 } } main:7::mul8s:40 [ main::y#2 main::count#10 main::sc#10 main::x#2 main::$9 printf_buffer mul8s::m#5 mul8s::$12 ] { { mul8s::b#1 = mul8s::b#2 mul8s::a#2 mul8s::a#1 main::yd#0 } } ) always clobbers reg byte a
|
||||
Statement [108] utoa::$11 = (byte)utoa::value#2 [ printf_buffer utoa::buffer#11 utoa::$11 ] ( main:7::printf_uint:23::utoa:76 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::buffer#11 utoa::$11 ] { { printf_uint::uvalue#0 = main::count#11 utoa::value#1 } } ) always clobbers reg byte a
|
||||
Statement [109] *utoa::buffer#11 = DIGITS[utoa::$11] [ printf_buffer utoa::buffer#11 ] ( main:7::printf_uint:23::utoa:76 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::buffer#11 ] { { printf_uint::uvalue#0 = main::count#11 utoa::value#1 } } ) always clobbers reg byte a reg byte y
|
||||
Statement [110] utoa::buffer#3 = ++ utoa::buffer#11 [ printf_buffer utoa::buffer#3 ] ( main:7::printf_uint:23::utoa:76 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::buffer#3 ] { { printf_uint::uvalue#0 = main::count#11 utoa::value#1 } } ) always clobbers reg byte a
|
||||
Statement [111] *utoa::buffer#3 = 0 [ printf_buffer ] ( main:7::printf_uint:23::utoa:76 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { { printf_uint::uvalue#0 = main::count#11 utoa::value#1 } } ) always clobbers reg byte a reg byte y
|
||||
@ -4010,7 +4009,6 @@ Statement [92] mul8u::return#2 = mul8u::res#2 [ mul8s::a#2 mul8s::b#2 mul8u::ret
|
||||
Statement [93] mul8s::m#0 = mul8u::return#2 [ mul8s::a#2 mul8s::b#2 mul8s::m#0 ] ( main:7::mul8s:36 [ main::y#2 main::count#10 main::sc#10 main::x#2 main::yd#0 printf_buffer mul8s::a#2 mul8s::b#2 mul8s::m#0 ] { { mul8s::b#0 = mul8s::b#2 mul8s::a#2 mul8s::a#0 main::xd#0 } } main:7::mul8s:40 [ main::y#2 main::count#10 main::sc#10 main::x#2 main::$9 printf_buffer mul8s::a#2 mul8s::b#2 mul8s::m#0 ] { { mul8s::b#1 = mul8s::b#2 mul8s::a#2 mul8s::a#1 main::yd#0 } } ) always clobbers reg byte a
|
||||
Statement [96] mul8s::$11 = mul8s::$6 - (byte)mul8s::b#2 [ mul8s::a#2 mul8s::b#2 mul8s::m#0 mul8s::$11 ] ( main:7::mul8s:36 [ main::y#2 main::count#10 main::sc#10 main::x#2 main::yd#0 printf_buffer mul8s::a#2 mul8s::b#2 mul8s::m#0 mul8s::$11 ] { { mul8s::b#0 = mul8s::b#2 mul8s::a#2 mul8s::a#0 main::xd#0 } } main:7::mul8s:40 [ main::y#2 main::count#10 main::sc#10 main::x#2 main::$9 printf_buffer mul8s::a#2 mul8s::b#2 mul8s::m#0 mul8s::$11 ] { { mul8s::b#1 = mul8s::b#2 mul8s::a#2 mul8s::a#1 main::yd#0 } } ) always clobbers reg byte a
|
||||
Statement [101] mul8s::$12 = mul8s::$9 - (byte)mul8s::a#2 [ mul8s::m#5 mul8s::$12 ] ( main:7::mul8s:36 [ main::y#2 main::count#10 main::sc#10 main::x#2 main::yd#0 printf_buffer mul8s::m#5 mul8s::$12 ] { { mul8s::b#0 = mul8s::b#2 mul8s::a#2 mul8s::a#0 main::xd#0 } } main:7::mul8s:40 [ main::y#2 main::count#10 main::sc#10 main::x#2 main::$9 printf_buffer mul8s::m#5 mul8s::$12 ] { { mul8s::b#1 = mul8s::b#2 mul8s::a#2 mul8s::a#1 main::yd#0 } } ) always clobbers reg byte a
|
||||
Statement [108] utoa::$11 = (byte)utoa::value#2 [ printf_buffer utoa::buffer#11 utoa::$11 ] ( main:7::printf_uint:23::utoa:76 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::buffer#11 utoa::$11 ] { { printf_uint::uvalue#0 = main::count#11 utoa::value#1 } } ) always clobbers reg byte a
|
||||
Statement [109] *utoa::buffer#11 = DIGITS[utoa::$11] [ printf_buffer utoa::buffer#11 ] ( main:7::printf_uint:23::utoa:76 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::buffer#11 ] { { printf_uint::uvalue#0 = main::count#11 utoa::value#1 } } ) always clobbers reg byte a reg byte y
|
||||
Statement [110] utoa::buffer#3 = ++ utoa::buffer#11 [ printf_buffer utoa::buffer#3 ] ( main:7::printf_uint:23::utoa:76 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::buffer#3 ] { { printf_uint::uvalue#0 = main::count#11 utoa::value#1 } } ) always clobbers reg byte a
|
||||
Statement [111] *utoa::buffer#3 = 0 [ printf_buffer ] ( main:7::printf_uint:23::utoa:76 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { { printf_uint::uvalue#0 = main::count#11 utoa::value#1 } } ) always clobbers reg byte a reg byte y
|
||||
@ -4143,39 +4141,39 @@ Uplifting [cputc] best 109469 combination reg byte a [ cputc::c#3 cputc::c#0 cpu
|
||||
Uplifting [cputs] best 109399 combination zp[2]:17 [ cputs::s#3 cputs::s#4 cputs::s#0 ] reg byte a [ cputs::c#1 ]
|
||||
Uplifting [mul8s] best 109375 combination zp[2]:21 [ mul8s::m#4 mul8s::m#5 mul8s::m#1 mul8s::m#0 mul8s::m#2 ] reg byte a [ mul8s::$6 ] reg byte a [ mul8s::$11 ] reg byte a [ mul8s::$9 ] reg byte a [ mul8s::$12 ] zp[1]:20 [ mul8s::b#2 mul8s::b#1 mul8s::b#0 ] zp[1]:19 [ mul8s::a#2 mul8s::a#1 mul8s::a#0 ]
|
||||
Limited combination testing to 100 combinations of 2304 possible.
|
||||
Uplifting [utoa] best 109261 combination zp[2]:27 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 ] zp[2]:24 [ utoa::value#2 utoa::value#6 utoa::value#1 utoa::value#0 ] zp[1]:23 [ utoa::digit#2 utoa::digit#1 ] reg byte a [ utoa::$10 ] reg byte x [ utoa::started#2 utoa::started#4 ] zp[2]:91 [ utoa::digit_value#0 ] reg byte a [ utoa::$11 ] zp[2]:88 [ utoa::buffer#3 ]
|
||||
Uplifting [main] best 107561 combination zp[2]:4 [ main::count#11 main::count#10 main::count#12 main::count#1 ] zp[1]:8 [ main::x#2 main::x#1 ] reg byte a [ main::$5 ] reg byte a [ main::$7 ] zp[2]:60 [ main::$10 ] zp[2]:62 [ main::dist_sq#0 ] zp[2]:6 [ main::sc#8 main::sc#10 main::sc#1 ] reg byte x [ main::xd#0 ] zp[1]:57 [ main::yd#0 ] zp[2]:58 [ main::$9 ] zp[1]:3 [ main::y#2 main::y#1 ]
|
||||
Uplifting [utoa] best 109259 combination zp[2]:27 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 ] zp[2]:24 [ utoa::value#2 utoa::value#6 utoa::value#1 utoa::value#0 ] zp[1]:23 [ utoa::digit#2 utoa::digit#1 ] reg byte a [ utoa::$10 ] reg byte x [ utoa::started#2 utoa::started#4 ] zp[2]:91 [ utoa::digit_value#0 ] reg byte x [ utoa::$11 ] zp[2]:88 [ utoa::buffer#3 ]
|
||||
Uplifting [main] best 107559 combination zp[2]:4 [ main::count#11 main::count#10 main::count#12 main::count#1 ] zp[1]:8 [ main::x#2 main::x#1 ] reg byte a [ main::$5 ] reg byte a [ main::$7 ] zp[2]:60 [ main::$10 ] zp[2]:62 [ main::dist_sq#0 ] zp[2]:6 [ main::sc#8 main::sc#10 main::sc#1 ] reg byte x [ main::xd#0 ] zp[1]:57 [ main::yd#0 ] zp[2]:58 [ main::$9 ] zp[1]:3 [ main::y#2 main::y#1 ]
|
||||
Limited combination testing to 100 combinations of 576 possible.
|
||||
Uplifting [gotoxy] best 107545 combination zp[2]:66 [ gotoxy::$8 ] zp[2]:68 [ gotoxy::$9 ] zp[2]:72 [ gotoxy::$5 ] zp[2]:74 [ gotoxy::$6 ] reg byte x [ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ] zp[2]:64 [ gotoxy::$7 ] zp[2]:70 [ gotoxy::line_offset#0 ]
|
||||
Uplifting [printf_number_buffer] best 107538 combination reg byte a [ printf_number_buffer::buffer_sign#0 ]
|
||||
Uplifting [printf_uint] best 107538 combination zp[2]:52 [ printf_uint::uvalue#0 ]
|
||||
Uplifting [conio_c64_init] best 107526 combination reg byte x [ conio_c64_init::line#2 conio_c64_init::line#0 ]
|
||||
Uplifting [cputln] best 107526 combination
|
||||
Uplifting [MOS6526_CIA] best 107526 combination
|
||||
Uplifting [MOS6569_VICII] best 107526 combination
|
||||
Uplifting [MOS6581_SID] best 107526 combination
|
||||
Uplifting [cscroll] best 107526 combination
|
||||
Uplifting [RADIX] best 107526 combination
|
||||
Uplifting [printf_format_number] best 107526 combination
|
||||
Uplifting [printf_buffer_number] best 107526 combination
|
||||
Uplifting [printf_format_string] best 107526 combination
|
||||
Uplifting [__start] best 107526 combination
|
||||
Uplifting [gotoxy] best 107543 combination zp[2]:66 [ gotoxy::$8 ] zp[2]:68 [ gotoxy::$9 ] zp[2]:72 [ gotoxy::$5 ] zp[2]:74 [ gotoxy::$6 ] reg byte x [ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ] zp[2]:64 [ gotoxy::$7 ] zp[2]:70 [ gotoxy::line_offset#0 ]
|
||||
Uplifting [printf_number_buffer] best 107536 combination reg byte a [ printf_number_buffer::buffer_sign#0 ]
|
||||
Uplifting [printf_uint] best 107536 combination zp[2]:52 [ printf_uint::uvalue#0 ]
|
||||
Uplifting [conio_c64_init] best 107524 combination reg byte x [ conio_c64_init::line#2 conio_c64_init::line#0 ]
|
||||
Uplifting [cputln] best 107524 combination
|
||||
Uplifting [MOS6526_CIA] best 107524 combination
|
||||
Uplifting [MOS6569_VICII] best 107524 combination
|
||||
Uplifting [MOS6581_SID] best 107524 combination
|
||||
Uplifting [cscroll] best 107524 combination
|
||||
Uplifting [RADIX] best 107524 combination
|
||||
Uplifting [printf_format_number] best 107524 combination
|
||||
Uplifting [printf_buffer_number] best 107524 combination
|
||||
Uplifting [printf_format_string] best 107524 combination
|
||||
Uplifting [__start] best 107524 combination
|
||||
Attempting to uplift remaining variables inzp[1]:47 [ conio_cursor_y ]
|
||||
Uplifting [] best 107526 combination zp[1]:47 [ conio_cursor_y ]
|
||||
Uplifting [] best 107524 combination zp[1]:47 [ conio_cursor_y ]
|
||||
Attempting to uplift remaining variables inzp[1]:46 [ conio_cursor_x ]
|
||||
Uplifting [] best 107526 combination zp[1]:46 [ conio_cursor_x ]
|
||||
Uplifting [] best 107524 combination zp[1]:46 [ conio_cursor_x ]
|
||||
Attempting to uplift remaining variables inzp[1]:23 [ utoa::digit#2 utoa::digit#1 ]
|
||||
Uplifting [utoa] best 107526 combination zp[1]:23 [ utoa::digit#2 utoa::digit#1 ]
|
||||
Uplifting [utoa] best 107524 combination zp[1]:23 [ utoa::digit#2 utoa::digit#1 ]
|
||||
Attempting to uplift remaining variables inzp[1]:20 [ mul8s::b#2 mul8s::b#1 mul8s::b#0 ]
|
||||
Uplifting [mul8s] best 107325 combination reg byte y [ mul8s::b#2 mul8s::b#1 mul8s::b#0 ]
|
||||
Uplifting [mul8s] best 107323 combination reg byte y [ mul8s::b#2 mul8s::b#1 mul8s::b#0 ]
|
||||
Attempting to uplift remaining variables inzp[1]:19 [ mul8s::a#2 mul8s::a#1 mul8s::a#0 ]
|
||||
Uplifting [mul8s] best 107325 combination zp[1]:19 [ mul8s::a#2 mul8s::a#1 mul8s::a#0 ]
|
||||
Uplifting [mul8s] best 107323 combination zp[1]:19 [ mul8s::a#2 mul8s::a#1 mul8s::a#0 ]
|
||||
Attempting to uplift remaining variables inzp[1]:8 [ main::x#2 main::x#1 ]
|
||||
Uplifting [main] best 107325 combination zp[1]:8 [ main::x#2 main::x#1 ]
|
||||
Uplifting [main] best 107323 combination zp[1]:8 [ main::x#2 main::x#1 ]
|
||||
Attempting to uplift remaining variables inzp[1]:57 [ main::yd#0 ]
|
||||
Uplifting [main] best 107325 combination zp[1]:57 [ main::yd#0 ]
|
||||
Uplifting [main] best 107323 combination zp[1]:57 [ main::yd#0 ]
|
||||
Attempting to uplift remaining variables inzp[1]:3 [ main::y#2 main::y#1 ]
|
||||
Uplifting [main] best 107325 combination zp[1]:3 [ main::y#2 main::y#1 ]
|
||||
Uplifting [main] best 107323 combination zp[1]:3 [ main::y#2 main::y#1 ]
|
||||
Coalescing zero page register [ zp[2]:4 [ main::count#11 main::count#10 main::count#12 main::count#1 ] ] with [ zp[2]:52 [ printf_uint::uvalue#0 ] ] - score: 1
|
||||
Coalescing zero page register [ zp[2]:10 [ memset::num#3 ] ] with [ zp[2]:76 [ memset::end#0 ] ] - score: 1
|
||||
Coalescing zero page register [ zp[2]:12 [ memset::str#4 ] ] with [ zp[2]:15 [ memset::dst#2 memset::dst#4 memset::dst#1 ] ] - score: 1
|
||||
@ -4804,13 +4802,13 @@ mul8s: {
|
||||
jmp __b3
|
||||
// mul8s::@3
|
||||
__b3:
|
||||
// [95] mul8s::$6 = > mul8s::m#0 -- vbuaa=_hi_vwuz1
|
||||
// [95] mul8s::$6 = > mul8s::m#0 -- vbuaa=_byte1_vwuz1
|
||||
lda.z m+1
|
||||
// [96] mul8s::$11 = mul8s::$6 - (byte)mul8s::b#2 -- vbuaa=vbuaa_minus_vbuyy
|
||||
sty.z $ff
|
||||
sec
|
||||
sbc.z $ff
|
||||
// [97] mul8s::m#1 = mul8s::m#0 hi= mul8s::$11 -- vwuz1=vwuz1_sethi_vbuaa
|
||||
// [97] mul8s::m#1 = mul8s::m#0 byte1= mul8s::$11 -- vwuz1=vwuz1_setbyte1_vbuaa
|
||||
sta.z m+1
|
||||
// [98] phi from mul8s::@3 mul8s::@5 to mul8s::@1 [phi:mul8s::@3/mul8s::@5->mul8s::@1]
|
||||
__b1_from___b3:
|
||||
@ -4825,12 +4823,12 @@ mul8s: {
|
||||
jmp __b4
|
||||
// mul8s::@4
|
||||
__b4:
|
||||
// [100] mul8s::$9 = > mul8s::m#5 -- vbuaa=_hi_vwuz1
|
||||
// [100] mul8s::$9 = > mul8s::m#5 -- vbuaa=_byte1_vwuz1
|
||||
lda.z m+1
|
||||
// [101] mul8s::$12 = mul8s::$9 - (byte)mul8s::a#2 -- vbuaa=vbuaa_minus_vbuz1
|
||||
sec
|
||||
sbc.z a
|
||||
// [102] mul8s::m#2 = mul8s::m#5 hi= mul8s::$12 -- vwuz1=vwuz1_sethi_vbuaa
|
||||
// [102] mul8s::m#2 = mul8s::m#5 byte1= mul8s::$12 -- vwuz1=vwuz1_setbyte1_vbuaa
|
||||
sta.z m+1
|
||||
// [103] phi from mul8s::@1 mul8s::@4 to mul8s::@2 [phi:mul8s::@1/mul8s::@4->mul8s::@2]
|
||||
__b2_from___b1:
|
||||
@ -4881,11 +4879,10 @@ utoa: {
|
||||
jmp __b3
|
||||
// utoa::@3
|
||||
__b3:
|
||||
// [108] utoa::$11 = (byte)utoa::value#2 -- vbuaa=_byte_vwuz1
|
||||
lda.z value
|
||||
// [109] *utoa::buffer#11 = DIGITS[utoa::$11] -- _deref_pbuz1=pbuc1_derefidx_vbuaa
|
||||
tay
|
||||
lda DIGITS,y
|
||||
// [108] utoa::$11 = (byte)utoa::value#2 -- vbuxx=_byte_vwuz1
|
||||
ldx.z value
|
||||
// [109] *utoa::buffer#11 = DIGITS[utoa::$11] -- _deref_pbuz1=pbuc1_derefidx_vbuxx
|
||||
lda DIGITS,x
|
||||
ldy #0
|
||||
sta (buffer),y
|
||||
// [110] utoa::buffer#3 = ++ utoa::buffer#11 -- pbuz1=_inc_pbuz1
|
||||
@ -5786,7 +5783,7 @@ word printf_uint::uvalue
|
||||
word printf_uint::uvalue#0 uvalue zp[2]:3 37.33333333333333
|
||||
void utoa(word utoa::value , byte* utoa::buffer , byte utoa::radix)
|
||||
byte~ utoa::$10 reg byte a 20002.0
|
||||
byte~ utoa::$11 reg byte a 2002.0
|
||||
byte~ utoa::$11 reg byte x 2002.0
|
||||
byte* utoa::buffer
|
||||
byte* utoa::buffer#11 buffer zp[2]:20 3000.4285714285716
|
||||
byte* utoa::buffer#14 buffer zp[2]:20 15001.5
|
||||
@ -5858,7 +5855,7 @@ reg byte a [ mul8s::$6 ]
|
||||
reg byte a [ mul8s::$11 ]
|
||||
reg byte a [ mul8s::$9 ]
|
||||
reg byte a [ mul8s::$12 ]
|
||||
reg byte a [ utoa::$11 ]
|
||||
reg byte x [ utoa::$11 ]
|
||||
reg byte a [ utoa::$10 ]
|
||||
zp[2]:28 [ utoa::digit_value#0 utoa_append::sub#0 memcpy::destination#2 memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ]
|
||||
reg byte a [ mul8u::$1 ]
|
||||
@ -5867,7 +5864,7 @@ mem[12] [ printf_buffer ]
|
||||
|
||||
|
||||
FINAL ASSEMBLER
|
||||
Score: 86187
|
||||
Score: 86185
|
||||
|
||||
// File Comments
|
||||
// Plot a r=9 circle on the screen using chars - count how many chars are used
|
||||
@ -6421,15 +6418,15 @@ mul8s: {
|
||||
cmp #0
|
||||
bpl __b1
|
||||
// mul8s::@3
|
||||
// >m
|
||||
// [95] mul8s::$6 = > mul8s::m#0 -- vbuaa=_hi_vwuz1
|
||||
// BYTE1(m)
|
||||
// [95] mul8s::$6 = > mul8s::m#0 -- vbuaa=_byte1_vwuz1
|
||||
lda.z m+1
|
||||
// >m = (>m)-(char)b
|
||||
// BYTE1(m) = BYTE1(m)-(char)b
|
||||
// [96] mul8s::$11 = mul8s::$6 - (byte)mul8s::b#2 -- vbuaa=vbuaa_minus_vbuyy
|
||||
sty.z $ff
|
||||
sec
|
||||
sbc.z $ff
|
||||
// [97] mul8s::m#1 = mul8s::m#0 hi= mul8s::$11 -- vwuz1=vwuz1_sethi_vbuaa
|
||||
// [97] mul8s::m#1 = mul8s::m#0 byte1= mul8s::$11 -- vwuz1=vwuz1_setbyte1_vbuaa
|
||||
sta.z m+1
|
||||
// [98] phi from mul8s::@3 mul8s::@5 to mul8s::@1 [phi:mul8s::@3/mul8s::@5->mul8s::@1]
|
||||
// [98] phi mul8s::m#5 = mul8s::m#1 [phi:mul8s::@3/mul8s::@5->mul8s::@1#0] -- register_copy
|
||||
@ -6440,14 +6437,14 @@ mul8s: {
|
||||
cpy #0
|
||||
bpl __b2
|
||||
// mul8s::@4
|
||||
// >m
|
||||
// [100] mul8s::$9 = > mul8s::m#5 -- vbuaa=_hi_vwuz1
|
||||
// BYTE1(m)
|
||||
// [100] mul8s::$9 = > mul8s::m#5 -- vbuaa=_byte1_vwuz1
|
||||
lda.z m+1
|
||||
// >m = (>m)-(char)a
|
||||
// BYTE1(m) = BYTE1(m)-(char)a
|
||||
// [101] mul8s::$12 = mul8s::$9 - (byte)mul8s::a#2 -- vbuaa=vbuaa_minus_vbuz1
|
||||
sec
|
||||
sbc.z a
|
||||
// [102] mul8s::m#2 = mul8s::m#5 hi= mul8s::$12 -- vwuz1=vwuz1_sethi_vbuaa
|
||||
// [102] mul8s::m#2 = mul8s::m#5 byte1= mul8s::$12 -- vwuz1=vwuz1_setbyte1_vbuaa
|
||||
sta.z m+1
|
||||
// [103] phi from mul8s::@1 mul8s::@4 to mul8s::@2 [phi:mul8s::@1/mul8s::@4->mul8s::@2]
|
||||
// [103] phi mul8s::m#4 = mul8s::m#5 [phi:mul8s::@1/mul8s::@4->mul8s::@2#0] -- register_copy
|
||||
@ -6492,11 +6489,10 @@ utoa: {
|
||||
bcc __b2
|
||||
// utoa::@3
|
||||
// *buffer++ = DIGITS[(char)value]
|
||||
// [108] utoa::$11 = (byte)utoa::value#2 -- vbuaa=_byte_vwuz1
|
||||
lda.z value
|
||||
// [109] *utoa::buffer#11 = DIGITS[utoa::$11] -- _deref_pbuz1=pbuc1_derefidx_vbuaa
|
||||
tay
|
||||
lda DIGITS,y
|
||||
// [108] utoa::$11 = (byte)utoa::value#2 -- vbuxx=_byte_vwuz1
|
||||
ldx.z value
|
||||
// [109] *utoa::buffer#11 = DIGITS[utoa::$11] -- _deref_pbuz1=pbuc1_derefidx_vbuxx
|
||||
lda DIGITS,x
|
||||
ldy #0
|
||||
sta (buffer),y
|
||||
// *buffer++ = DIGITS[(char)value];
|
||||
|
@ -171,7 +171,7 @@ word printf_uint::uvalue
|
||||
word printf_uint::uvalue#0 uvalue zp[2]:3 37.33333333333333
|
||||
void utoa(word utoa::value , byte* utoa::buffer , byte utoa::radix)
|
||||
byte~ utoa::$10 reg byte a 20002.0
|
||||
byte~ utoa::$11 reg byte a 2002.0
|
||||
byte~ utoa::$11 reg byte x 2002.0
|
||||
byte* utoa::buffer
|
||||
byte* utoa::buffer#11 buffer zp[2]:20 3000.4285714285716
|
||||
byte* utoa::buffer#14 buffer zp[2]:20 15001.5
|
||||
@ -243,7 +243,7 @@ reg byte a [ mul8s::$6 ]
|
||||
reg byte a [ mul8s::$11 ]
|
||||
reg byte a [ mul8s::$9 ]
|
||||
reg byte a [ mul8s::$12 ]
|
||||
reg byte a [ utoa::$11 ]
|
||||
reg byte x [ utoa::$11 ]
|
||||
reg byte a [ utoa::$10 ]
|
||||
zp[2]:28 [ utoa::digit_value#0 utoa_append::sub#0 memcpy::destination#2 memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ]
|
||||
reg byte a [ mul8u::$1 ]
|
||||
|
@ -169,9 +169,9 @@ anim: {
|
||||
lda.z yr+1
|
||||
adc.z __12+1
|
||||
sta.z yr+1
|
||||
// >xr
|
||||
// BYTE1(xr)
|
||||
lda.z xr+1
|
||||
// signed int xpos = ((signed char) >xr) + 24 /*border*/ + 149
|
||||
// signed int xpos = ((signed char) BYTE1(xr)) + 24 /*border*/ + 149
|
||||
tax
|
||||
clc
|
||||
adc #<$18+$95
|
||||
@ -185,8 +185,8 @@ anim: {
|
||||
sta.z xpos+1
|
||||
// sprite_msb = sprite_msb/2
|
||||
lsr.z sprite_msb
|
||||
// >xpos
|
||||
// if(>xpos!=0)
|
||||
// BYTE1(xpos)
|
||||
// if(BYTE1(xpos)!=0)
|
||||
cmp #0
|
||||
beq __b5
|
||||
// sprite_msb |= $80
|
||||
@ -194,9 +194,9 @@ anim: {
|
||||
ora.z sprite_msb
|
||||
sta.z sprite_msb
|
||||
__b5:
|
||||
// (>yr) + 89
|
||||
// BYTE1(yr) + 89
|
||||
lda.z yr+1
|
||||
// char ypos = (>yr) + 89 /*center*/+ 51
|
||||
// char ypos = BYTE1(yr) + 89 /*center*/+ 51
|
||||
clc
|
||||
adc #$59+$33
|
||||
tay
|
||||
@ -204,9 +204,9 @@ anim: {
|
||||
lda.z i
|
||||
asl
|
||||
tax
|
||||
// <xpos
|
||||
// BYTE0(xpos)
|
||||
lda.z xpos
|
||||
// SPRITES_XPOS[i2] = <xpos
|
||||
// SPRITES_XPOS[i2] = BYTE0(xpos)
|
||||
sta SPRITES_XPOS,x
|
||||
// SPRITES_YPOS[i2] = ypos
|
||||
tya
|
||||
@ -357,16 +357,16 @@ mulf_init: {
|
||||
inc.z sqr+1
|
||||
!:
|
||||
__b3:
|
||||
// <sqr
|
||||
// BYTE0(sqr)
|
||||
lda.z sqr
|
||||
// *sqr1_lo = <sqr
|
||||
// *sqr1_lo = BYTE0(sqr)
|
||||
ldy #0
|
||||
sta (sqr1_lo),y
|
||||
// >sqr
|
||||
// BYTE1(sqr)
|
||||
lda.z sqr+1
|
||||
// *sqr1_hi++ = >sqr
|
||||
// *sqr1_hi++ = BYTE1(sqr)
|
||||
sta (sqr1_hi),y
|
||||
// *sqr1_hi++ = >sqr;
|
||||
// *sqr1_hi++ = BYTE1(sqr);
|
||||
inc.z sqr1_hi
|
||||
bne !+
|
||||
inc.z sqr1_hi+1
|
||||
@ -443,9 +443,9 @@ mulf8s_prepared: {
|
||||
lda memA
|
||||
cmp #0
|
||||
bpl __b1
|
||||
// >m
|
||||
// BYTE1(m)
|
||||
lda.z m+1
|
||||
// >m = (>m)-(char)b
|
||||
// BYTE1(m) = BYTE1(m)-(char)b
|
||||
sty.z $ff
|
||||
sec
|
||||
sbc.z $ff
|
||||
@ -454,9 +454,9 @@ mulf8s_prepared: {
|
||||
// if(b<0)
|
||||
cpy #0
|
||||
bpl __b2
|
||||
// >m
|
||||
// BYTE1(m)
|
||||
lda.z m+1
|
||||
// >m = (>m)-(char)*memA
|
||||
// BYTE1(m) = BYTE1(m)-(char)*memA
|
||||
sec
|
||||
sbc memA
|
||||
sta.z m+1
|
||||
@ -489,7 +489,7 @@ clock: {
|
||||
// print_ulong_at(dword zp($11) dw)
|
||||
print_ulong_at: {
|
||||
.label dw = $11
|
||||
// print_uint_at(>dw, at)
|
||||
// print_uint_at(WORD1(dw), at)
|
||||
lda.z dw+2
|
||||
sta.z print_uint_at.w
|
||||
lda.z dw+3
|
||||
@ -499,7 +499,7 @@ print_ulong_at: {
|
||||
lda #>SCREEN
|
||||
sta.z print_uint_at.at+1
|
||||
jsr print_uint_at
|
||||
// print_uint_at(<dw, at+4)
|
||||
// print_uint_at(WORD0(dw), at+4)
|
||||
lda.z dw
|
||||
sta.z print_uint_at.w
|
||||
lda.z dw+1
|
||||
@ -547,11 +547,11 @@ mulf8u_prepared: {
|
||||
print_uint_at: {
|
||||
.label w = $d
|
||||
.label at = $f
|
||||
// print_uchar_at(>w, at)
|
||||
// print_uchar_at(BYTE1(w), at)
|
||||
lda.z w+1
|
||||
sta.z print_uchar_at.b
|
||||
jsr print_uchar_at
|
||||
// print_uchar_at(<w, at+2)
|
||||
// print_uchar_at(BYTE0(w), at+2)
|
||||
lda.z w
|
||||
sta.z print_uchar_at.b
|
||||
lda #2
|
||||
|
@ -221,7 +221,7 @@ mulf8s_prepared::@5: scope:[mulf8s_prepared] from mulf8s_prepared
|
||||
mulf8s_prepared::@3: scope:[mulf8s_prepared] from mulf8s_prepared::@5
|
||||
[113] mulf8s_prepared::$6 = > mulf8s_prepared::m#0
|
||||
[114] mulf8s_prepared::$11 = mulf8s_prepared::$6 - (byte)mulf8s_prepared::b#4
|
||||
[115] mulf8s_prepared::m#1 = mulf8s_prepared::m#0 hi= mulf8s_prepared::$11
|
||||
[115] mulf8s_prepared::m#1 = mulf8s_prepared::m#0 byte1= mulf8s_prepared::$11
|
||||
to:mulf8s_prepared::@1
|
||||
mulf8s_prepared::@1: scope:[mulf8s_prepared] from mulf8s_prepared::@3 mulf8s_prepared::@5
|
||||
[116] mulf8s_prepared::m#5 = phi( mulf8s_prepared::@3/mulf8s_prepared::m#1, mulf8s_prepared::@5/mulf8s_prepared::m#0 )
|
||||
@ -230,7 +230,7 @@ mulf8s_prepared::@1: scope:[mulf8s_prepared] from mulf8s_prepared::@3 mulf8s_pr
|
||||
mulf8s_prepared::@4: scope:[mulf8s_prepared] from mulf8s_prepared::@1
|
||||
[118] mulf8s_prepared::$9 = > mulf8s_prepared::m#5
|
||||
[119] mulf8s_prepared::$12 = mulf8s_prepared::$9 - (byte)*mulf8s_prepared::memA
|
||||
[120] mulf8s_prepared::m#2 = mulf8s_prepared::m#5 hi= mulf8s_prepared::$12
|
||||
[120] mulf8s_prepared::m#2 = mulf8s_prepared::m#5 byte1= mulf8s_prepared::$12
|
||||
to:mulf8s_prepared::@2
|
||||
mulf8s_prepared::@2: scope:[mulf8s_prepared] from mulf8s_prepared::@1 mulf8s_prepared::@4
|
||||
[121] mulf8s_prepared::m#4 = phi( mulf8s_prepared::@1/mulf8s_prepared::m#5, mulf8s_prepared::@4/mulf8s_prepared::m#2 )
|
||||
@ -249,11 +249,11 @@ clock::@return: scope:[clock] from clock
|
||||
|
||||
void print_ulong_at(dword print_ulong_at::dw , byte* print_ulong_at::at)
|
||||
print_ulong_at: scope:[print_ulong_at] from anim::@14
|
||||
[125] print_uint_at::w#0 = > print_ulong_at::dw#0
|
||||
[125] print_uint_at::w#0 = _word1_ print_ulong_at::dw#0
|
||||
[126] call print_uint_at
|
||||
to:print_ulong_at::@1
|
||||
print_ulong_at::@1: scope:[print_ulong_at] from print_ulong_at
|
||||
[127] print_uint_at::w#1 = < print_ulong_at::dw#0
|
||||
[127] print_uint_at::w#1 = _word0_ print_ulong_at::dw#0
|
||||
[128] call print_uint_at
|
||||
to:print_ulong_at::@return
|
||||
print_ulong_at::@return: scope:[print_ulong_at] from print_ulong_at::@1
|
||||
|
@ -162,7 +162,7 @@ mulf8s_prepared::@3: scope:[mulf8s_prepared] from mulf8s_prepared::@5
|
||||
mulf8s_prepared::$13 = (byte)mulf8s_prepared::b#6
|
||||
mulf8s_prepared::$7 = mulf8s_prepared::$6 - mulf8s_prepared::$13
|
||||
mulf8s_prepared::$11 = mulf8s_prepared::$7
|
||||
mulf8s_prepared::m#1 = mulf8s_prepared::m#3 hi= mulf8s_prepared::$11
|
||||
mulf8s_prepared::m#1 = mulf8s_prepared::m#3 byte1= mulf8s_prepared::$11
|
||||
to:mulf8s_prepared::@1
|
||||
mulf8s_prepared::@2: scope:[mulf8s_prepared] from mulf8s_prepared::@1 mulf8s_prepared::@4
|
||||
mulf8s_prepared::m#4 = phi( mulf8s_prepared::@1/mulf8s_prepared::m#6, mulf8s_prepared::@4/mulf8s_prepared::m#2 )
|
||||
@ -174,7 +174,7 @@ mulf8s_prepared::@4: scope:[mulf8s_prepared] from mulf8s_prepared::@1
|
||||
mulf8s_prepared::$14 = (byte)*mulf8s_prepared::memA
|
||||
mulf8s_prepared::$10 = mulf8s_prepared::$9 - mulf8s_prepared::$14
|
||||
mulf8s_prepared::$12 = mulf8s_prepared::$10
|
||||
mulf8s_prepared::m#2 = mulf8s_prepared::m#5 hi= mulf8s_prepared::$12
|
||||
mulf8s_prepared::m#2 = mulf8s_prepared::m#5 byte1= mulf8s_prepared::$12
|
||||
to:mulf8s_prepared::@2
|
||||
mulf8s_prepared::@return: scope:[mulf8s_prepared] from mulf8s_prepared::@2
|
||||
mulf8s_prepared::return#6 = phi( mulf8s_prepared::@2/mulf8s_prepared::return#0 )
|
||||
@ -233,7 +233,7 @@ void print_ulong_at(dword print_ulong_at::dw , byte* print_ulong_at::at)
|
||||
print_ulong_at: scope:[print_ulong_at] from anim::@17
|
||||
print_ulong_at::at#1 = phi( anim::@17/print_ulong_at::at#0 )
|
||||
print_ulong_at::dw#1 = phi( anim::@17/print_ulong_at::dw#0 )
|
||||
print_ulong_at::$0 = > print_ulong_at::dw#1
|
||||
print_ulong_at::$0 = _word1_ print_ulong_at::dw#1
|
||||
print_uint_at::w#0 = print_ulong_at::$0
|
||||
print_uint_at::at#0 = print_ulong_at::at#1
|
||||
call print_uint_at
|
||||
@ -241,7 +241,7 @@ print_ulong_at: scope:[print_ulong_at] from anim::@17
|
||||
print_ulong_at::@1: scope:[print_ulong_at] from print_ulong_at
|
||||
print_ulong_at::at#2 = phi( print_ulong_at/print_ulong_at::at#1 )
|
||||
print_ulong_at::dw#2 = phi( print_ulong_at/print_ulong_at::dw#1 )
|
||||
print_ulong_at::$2 = < print_ulong_at::dw#2
|
||||
print_ulong_at::$2 = _word0_ print_ulong_at::dw#2
|
||||
print_ulong_at::$3 = print_ulong_at::at#2 + 4
|
||||
print_uint_at::w#1 = print_ulong_at::$2
|
||||
print_uint_at::at#1 = print_ulong_at::$3
|
||||
@ -1734,7 +1734,7 @@ mulf8s_prepared::@5: scope:[mulf8s_prepared] from mulf8s_prepared
|
||||
mulf8s_prepared::@3: scope:[mulf8s_prepared] from mulf8s_prepared::@5
|
||||
[113] mulf8s_prepared::$6 = > mulf8s_prepared::m#0
|
||||
[114] mulf8s_prepared::$11 = mulf8s_prepared::$6 - (byte)mulf8s_prepared::b#4
|
||||
[115] mulf8s_prepared::m#1 = mulf8s_prepared::m#0 hi= mulf8s_prepared::$11
|
||||
[115] mulf8s_prepared::m#1 = mulf8s_prepared::m#0 byte1= mulf8s_prepared::$11
|
||||
to:mulf8s_prepared::@1
|
||||
mulf8s_prepared::@1: scope:[mulf8s_prepared] from mulf8s_prepared::@3 mulf8s_prepared::@5
|
||||
[116] mulf8s_prepared::m#5 = phi( mulf8s_prepared::@3/mulf8s_prepared::m#1, mulf8s_prepared::@5/mulf8s_prepared::m#0 )
|
||||
@ -1743,7 +1743,7 @@ mulf8s_prepared::@1: scope:[mulf8s_prepared] from mulf8s_prepared::@3 mulf8s_pr
|
||||
mulf8s_prepared::@4: scope:[mulf8s_prepared] from mulf8s_prepared::@1
|
||||
[118] mulf8s_prepared::$9 = > mulf8s_prepared::m#5
|
||||
[119] mulf8s_prepared::$12 = mulf8s_prepared::$9 - (byte)*mulf8s_prepared::memA
|
||||
[120] mulf8s_prepared::m#2 = mulf8s_prepared::m#5 hi= mulf8s_prepared::$12
|
||||
[120] mulf8s_prepared::m#2 = mulf8s_prepared::m#5 byte1= mulf8s_prepared::$12
|
||||
to:mulf8s_prepared::@2
|
||||
mulf8s_prepared::@2: scope:[mulf8s_prepared] from mulf8s_prepared::@1 mulf8s_prepared::@4
|
||||
[121] mulf8s_prepared::m#4 = phi( mulf8s_prepared::@1/mulf8s_prepared::m#5, mulf8s_prepared::@4/mulf8s_prepared::m#2 )
|
||||
@ -1762,11 +1762,11 @@ clock::@return: scope:[clock] from clock
|
||||
|
||||
void print_ulong_at(dword print_ulong_at::dw , byte* print_ulong_at::at)
|
||||
print_ulong_at: scope:[print_ulong_at] from anim::@14
|
||||
[125] print_uint_at::w#0 = > print_ulong_at::dw#0
|
||||
[125] print_uint_at::w#0 = _word1_ print_ulong_at::dw#0
|
||||
[126] call print_uint_at
|
||||
to:print_ulong_at::@1
|
||||
print_ulong_at::@1: scope:[print_ulong_at] from print_ulong_at
|
||||
[127] print_uint_at::w#1 = < print_ulong_at::dw#0
|
||||
[127] print_uint_at::w#1 = _word0_ print_ulong_at::dw#0
|
||||
[128] call print_uint_at
|
||||
to:print_ulong_at::@return
|
||||
print_ulong_at::@return: scope:[print_ulong_at] from print_ulong_at::@1
|
||||
@ -2225,8 +2225,8 @@ Statement [112] if(*mulf8s_prepared::memA>=0) goto mulf8s_prepared::@1 [ mulf8s_
|
||||
Statement [114] mulf8s_prepared::$11 = mulf8s_prepared::$6 - (byte)mulf8s_prepared::b#4 [ mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$11 ] ( anim:3::mulf8s_prepared:25 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::y#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$11 ] { { mulf8s_prepared::b#0 = mulf8s_prepared::b#4 anim::x#0 } } anim:3::mulf8s_prepared:29 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::y#0 anim::xr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$11 ] { { mulf8s_prepared::b#1 = mulf8s_prepared::b#4 anim::y#0 } } anim:3::mulf8s_prepared:35 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$11 ] { { mulf8s_prepared::b#2 = mulf8s_prepared::b#4 anim::y#0 } } anim:3::mulf8s_prepared:40 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$11 ] { { mulf8s_prepared::b#3 = mulf8s_prepared::b#4 anim::x#0 } } ) always clobbers reg byte a
|
||||
Statement [119] mulf8s_prepared::$12 = mulf8s_prepared::$9 - (byte)*mulf8s_prepared::memA [ mulf8s_prepared::m#5 mulf8s_prepared::$12 ] ( anim:3::mulf8s_prepared:25 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::y#0 mulf8s_prepared::m#5 mulf8s_prepared::$12 ] { { mulf8s_prepared::b#0 = mulf8s_prepared::b#4 anim::x#0 } } anim:3::mulf8s_prepared:29 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::y#0 anim::xr#0 mulf8s_prepared::m#5 mulf8s_prepared::$12 ] { { mulf8s_prepared::b#1 = mulf8s_prepared::b#4 anim::y#0 } } anim:3::mulf8s_prepared:35 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::xr#0 anim::yr#0 mulf8s_prepared::m#5 mulf8s_prepared::$12 ] { { mulf8s_prepared::b#2 = mulf8s_prepared::b#4 anim::y#0 } } anim:3::mulf8s_prepared:40 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::yr#0 anim::xr#1 mulf8s_prepared::m#5 mulf8s_prepared::$12 ] { { mulf8s_prepared::b#3 = mulf8s_prepared::b#4 anim::x#0 } } ) always clobbers reg byte a
|
||||
Statement [123] clock::return#0 = $ffffffff - *CIA2_TIMER_AB [ clock::return#0 ] ( anim:3::clock:61 [ anim::angle#1 clock::return#0 ] { { clock::return#0 = clock::return#2 } } ) always clobbers reg byte a
|
||||
Statement [125] print_uint_at::w#0 = > print_ulong_at::dw#0 [ print_ulong_at::dw#0 print_uint_at::w#0 ] ( anim:3::print_ulong_at:66 [ anim::angle#1 print_ulong_at::dw#0 print_uint_at::w#0 ] { { print_ulong_at::dw#0 = anim::cyclecount#0 } { print_uint_at::w#0 = print_uint_at::w#2 } } ) always clobbers reg byte a
|
||||
Statement [127] print_uint_at::w#1 = < print_ulong_at::dw#0 [ print_uint_at::w#1 ] ( anim:3::print_ulong_at:66 [ anim::angle#1 print_uint_at::w#1 ] { { print_ulong_at::dw#0 = anim::cyclecount#0 } { print_uint_at::w#1 = print_uint_at::w#2 } } ) always clobbers reg byte a
|
||||
Statement [125] print_uint_at::w#0 = _word1_ print_ulong_at::dw#0 [ print_ulong_at::dw#0 print_uint_at::w#0 ] ( anim:3::print_ulong_at:66 [ anim::angle#1 print_ulong_at::dw#0 print_uint_at::w#0 ] { { print_ulong_at::dw#0 = anim::cyclecount#0 } { print_uint_at::w#0 = print_uint_at::w#2 } } ) always clobbers reg byte a
|
||||
Statement [127] print_uint_at::w#1 = _word0_ print_ulong_at::dw#0 [ print_uint_at::w#1 ] ( anim:3::print_ulong_at:66 [ anim::angle#1 print_uint_at::w#1 ] { { print_ulong_at::dw#0 = anim::cyclecount#0 } { print_uint_at::w#1 = print_uint_at::w#2 } } ) always clobbers reg byte a
|
||||
Statement asm { ldxmemB sec sm1: ldamulf_sqr1_lo,x sm2: sbcmulf_sqr2_lo,x staresL sm3: ldamulf_sqr1_hi,x sm4: sbcmulf_sqr2_hi,x stamemB } always clobbers reg byte a reg byte x
|
||||
Removing always clobbered register reg byte x as potential for zp[1]:34 [ anim::x#0 ]
|
||||
Removing always clobbered register reg byte x as potential for zp[1]:35 [ anim::y#0 ]
|
||||
@ -2298,8 +2298,8 @@ Statement [112] if(*mulf8s_prepared::memA>=0) goto mulf8s_prepared::@1 [ mulf8s_
|
||||
Statement [114] mulf8s_prepared::$11 = mulf8s_prepared::$6 - (byte)mulf8s_prepared::b#4 [ mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$11 ] ( anim:3::mulf8s_prepared:25 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::y#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$11 ] { { mulf8s_prepared::b#0 = mulf8s_prepared::b#4 anim::x#0 } } anim:3::mulf8s_prepared:29 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::y#0 anim::xr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$11 ] { { mulf8s_prepared::b#1 = mulf8s_prepared::b#4 anim::y#0 } } anim:3::mulf8s_prepared:35 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$11 ] { { mulf8s_prepared::b#2 = mulf8s_prepared::b#4 anim::y#0 } } anim:3::mulf8s_prepared:40 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$11 ] { { mulf8s_prepared::b#3 = mulf8s_prepared::b#4 anim::x#0 } } ) always clobbers reg byte a
|
||||
Statement [119] mulf8s_prepared::$12 = mulf8s_prepared::$9 - (byte)*mulf8s_prepared::memA [ mulf8s_prepared::m#5 mulf8s_prepared::$12 ] ( anim:3::mulf8s_prepared:25 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::y#0 mulf8s_prepared::m#5 mulf8s_prepared::$12 ] { { mulf8s_prepared::b#0 = mulf8s_prepared::b#4 anim::x#0 } } anim:3::mulf8s_prepared:29 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::y#0 anim::xr#0 mulf8s_prepared::m#5 mulf8s_prepared::$12 ] { { mulf8s_prepared::b#1 = mulf8s_prepared::b#4 anim::y#0 } } anim:3::mulf8s_prepared:35 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::xr#0 anim::yr#0 mulf8s_prepared::m#5 mulf8s_prepared::$12 ] { { mulf8s_prepared::b#2 = mulf8s_prepared::b#4 anim::y#0 } } anim:3::mulf8s_prepared:40 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::yr#0 anim::xr#1 mulf8s_prepared::m#5 mulf8s_prepared::$12 ] { { mulf8s_prepared::b#3 = mulf8s_prepared::b#4 anim::x#0 } } ) always clobbers reg byte a
|
||||
Statement [123] clock::return#0 = $ffffffff - *CIA2_TIMER_AB [ clock::return#0 ] ( anim:3::clock:61 [ anim::angle#1 clock::return#0 ] { { clock::return#0 = clock::return#2 } } ) always clobbers reg byte a
|
||||
Statement [125] print_uint_at::w#0 = > print_ulong_at::dw#0 [ print_ulong_at::dw#0 print_uint_at::w#0 ] ( anim:3::print_ulong_at:66 [ anim::angle#1 print_ulong_at::dw#0 print_uint_at::w#0 ] { { print_ulong_at::dw#0 = anim::cyclecount#0 } { print_uint_at::w#0 = print_uint_at::w#2 } } ) always clobbers reg byte a
|
||||
Statement [127] print_uint_at::w#1 = < print_ulong_at::dw#0 [ print_uint_at::w#1 ] ( anim:3::print_ulong_at:66 [ anim::angle#1 print_uint_at::w#1 ] { { print_ulong_at::dw#0 = anim::cyclecount#0 } { print_uint_at::w#1 = print_uint_at::w#2 } } ) always clobbers reg byte a
|
||||
Statement [125] print_uint_at::w#0 = _word1_ print_ulong_at::dw#0 [ print_ulong_at::dw#0 print_uint_at::w#0 ] ( anim:3::print_ulong_at:66 [ anim::angle#1 print_ulong_at::dw#0 print_uint_at::w#0 ] { { print_ulong_at::dw#0 = anim::cyclecount#0 } { print_uint_at::w#0 = print_uint_at::w#2 } } ) always clobbers reg byte a
|
||||
Statement [127] print_uint_at::w#1 = _word0_ print_ulong_at::dw#0 [ print_uint_at::w#1 ] ( anim:3::print_ulong_at:66 [ anim::angle#1 print_uint_at::w#1 ] { { print_ulong_at::dw#0 = anim::cyclecount#0 } { print_uint_at::w#1 = print_uint_at::w#2 } } ) always clobbers reg byte a
|
||||
Statement asm { ldxmemB sec sm1: ldamulf_sqr1_lo,x sm2: sbcmulf_sqr2_lo,x staresL sm3: ldamulf_sqr1_hi,x sm4: sbcmulf_sqr2_hi,x stamemB } always clobbers reg byte a reg byte x
|
||||
Statement [132] mulf8u_prepared::return#0 = *mulf8u_prepared::memB w= *mulf8u_prepared::resL [ mulf8u_prepared::return#0 ] ( anim:3::mulf8s_prepared:25::mulf8u_prepared:109 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::y#0 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] { { mulf8s_prepared::b#0 = mulf8s_prepared::b#4 anim::x#0 } { mulf8u_prepared::return#0 = mulf8u_prepared::return#2 } } anim:3::mulf8s_prepared:29::mulf8u_prepared:109 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::y#0 anim::xr#0 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] { { mulf8s_prepared::b#1 = mulf8s_prepared::b#4 anim::y#0 } { mulf8u_prepared::return#0 = mulf8u_prepared::return#2 } } anim:3::mulf8s_prepared:35::mulf8u_prepared:109 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] { { mulf8s_prepared::b#2 = mulf8s_prepared::b#4 anim::y#0 } { mulf8u_prepared::return#0 = mulf8u_prepared::return#2 } } anim:3::mulf8s_prepared:40::mulf8u_prepared:109 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] { { mulf8s_prepared::b#3 = mulf8s_prepared::b#4 anim::x#0 } { mulf8u_prepared::return#0 = mulf8u_prepared::return#2 } } ) always clobbers reg byte a
|
||||
Statement [136] print_uchar_at::at#0 = print_uint_at::at#2 [ print_uint_at::w#2 print_uint_at::at#2 print_uchar_at::b#0 print_uchar_at::at#0 ] ( anim:3::print_ulong_at:66::print_uint_at:126 [ anim::angle#1 print_ulong_at::dw#0 print_uint_at::w#2 print_uint_at::at#2 print_uchar_at::b#0 print_uchar_at::at#0 ] { { print_ulong_at::dw#0 = anim::cyclecount#0 } { print_uint_at::w#0 = print_uint_at::w#2 } { print_uchar_at::b#0 = print_uchar_at::b#2 } { print_uchar_at::at#0 = print_uchar_at::at#2 print_uint_at::at#2 } } anim:3::print_ulong_at:66::print_uint_at:128 [ anim::angle#1 print_uint_at::w#2 print_uint_at::at#2 print_uchar_at::b#0 print_uchar_at::at#0 ] { { print_ulong_at::dw#0 = anim::cyclecount#0 } { print_uint_at::w#1 = print_uint_at::w#2 } { print_uchar_at::b#0 = print_uchar_at::b#2 } { print_uchar_at::at#0 = print_uchar_at::at#2 print_uint_at::at#2 } } ) always clobbers reg byte a
|
||||
@ -2361,8 +2361,8 @@ Statement [112] if(*mulf8s_prepared::memA>=0) goto mulf8s_prepared::@1 [ mulf8s_
|
||||
Statement [114] mulf8s_prepared::$11 = mulf8s_prepared::$6 - (byte)mulf8s_prepared::b#4 [ mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$11 ] ( anim:3::mulf8s_prepared:25 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::y#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$11 ] { { mulf8s_prepared::b#0 = mulf8s_prepared::b#4 anim::x#0 } } anim:3::mulf8s_prepared:29 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::y#0 anim::xr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$11 ] { { mulf8s_prepared::b#1 = mulf8s_prepared::b#4 anim::y#0 } } anim:3::mulf8s_prepared:35 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$11 ] { { mulf8s_prepared::b#2 = mulf8s_prepared::b#4 anim::y#0 } } anim:3::mulf8s_prepared:40 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$11 ] { { mulf8s_prepared::b#3 = mulf8s_prepared::b#4 anim::x#0 } } ) always clobbers reg byte a
|
||||
Statement [119] mulf8s_prepared::$12 = mulf8s_prepared::$9 - (byte)*mulf8s_prepared::memA [ mulf8s_prepared::m#5 mulf8s_prepared::$12 ] ( anim:3::mulf8s_prepared:25 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::y#0 mulf8s_prepared::m#5 mulf8s_prepared::$12 ] { { mulf8s_prepared::b#0 = mulf8s_prepared::b#4 anim::x#0 } } anim:3::mulf8s_prepared:29 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::y#0 anim::xr#0 mulf8s_prepared::m#5 mulf8s_prepared::$12 ] { { mulf8s_prepared::b#1 = mulf8s_prepared::b#4 anim::y#0 } } anim:3::mulf8s_prepared:35 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::xr#0 anim::yr#0 mulf8s_prepared::m#5 mulf8s_prepared::$12 ] { { mulf8s_prepared::b#2 = mulf8s_prepared::b#4 anim::y#0 } } anim:3::mulf8s_prepared:40 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::yr#0 anim::xr#1 mulf8s_prepared::m#5 mulf8s_prepared::$12 ] { { mulf8s_prepared::b#3 = mulf8s_prepared::b#4 anim::x#0 } } ) always clobbers reg byte a
|
||||
Statement [123] clock::return#0 = $ffffffff - *CIA2_TIMER_AB [ clock::return#0 ] ( anim:3::clock:61 [ anim::angle#1 clock::return#0 ] { { clock::return#0 = clock::return#2 } } ) always clobbers reg byte a
|
||||
Statement [125] print_uint_at::w#0 = > print_ulong_at::dw#0 [ print_ulong_at::dw#0 print_uint_at::w#0 ] ( anim:3::print_ulong_at:66 [ anim::angle#1 print_ulong_at::dw#0 print_uint_at::w#0 ] { { print_ulong_at::dw#0 = anim::cyclecount#0 } { print_uint_at::w#0 = print_uint_at::w#2 } } ) always clobbers reg byte a
|
||||
Statement [127] print_uint_at::w#1 = < print_ulong_at::dw#0 [ print_uint_at::w#1 ] ( anim:3::print_ulong_at:66 [ anim::angle#1 print_uint_at::w#1 ] { { print_ulong_at::dw#0 = anim::cyclecount#0 } { print_uint_at::w#1 = print_uint_at::w#2 } } ) always clobbers reg byte a
|
||||
Statement [125] print_uint_at::w#0 = _word1_ print_ulong_at::dw#0 [ print_ulong_at::dw#0 print_uint_at::w#0 ] ( anim:3::print_ulong_at:66 [ anim::angle#1 print_ulong_at::dw#0 print_uint_at::w#0 ] { { print_ulong_at::dw#0 = anim::cyclecount#0 } { print_uint_at::w#0 = print_uint_at::w#2 } } ) always clobbers reg byte a
|
||||
Statement [127] print_uint_at::w#1 = _word0_ print_ulong_at::dw#0 [ print_uint_at::w#1 ] ( anim:3::print_ulong_at:66 [ anim::angle#1 print_uint_at::w#1 ] { { print_ulong_at::dw#0 = anim::cyclecount#0 } { print_uint_at::w#1 = print_uint_at::w#2 } } ) always clobbers reg byte a
|
||||
Statement asm { ldxmemB sec sm1: ldamulf_sqr1_lo,x sm2: sbcmulf_sqr2_lo,x staresL sm3: ldamulf_sqr1_hi,x sm4: sbcmulf_sqr2_hi,x stamemB } always clobbers reg byte a reg byte x
|
||||
Statement [132] mulf8u_prepared::return#0 = *mulf8u_prepared::memB w= *mulf8u_prepared::resL [ mulf8u_prepared::return#0 ] ( anim:3::mulf8s_prepared:25::mulf8u_prepared:109 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::y#0 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] { { mulf8s_prepared::b#0 = mulf8s_prepared::b#4 anim::x#0 } { mulf8u_prepared::return#0 = mulf8u_prepared::return#2 } } anim:3::mulf8s_prepared:29::mulf8u_prepared:109 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::y#0 anim::xr#0 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] { { mulf8s_prepared::b#1 = mulf8s_prepared::b#4 anim::y#0 } { mulf8u_prepared::return#0 = mulf8u_prepared::return#2 } } anim:3::mulf8s_prepared:35::mulf8u_prepared:109 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] { { mulf8s_prepared::b#2 = mulf8s_prepared::b#4 anim::y#0 } { mulf8u_prepared::return#0 = mulf8u_prepared::return#2 } } anim:3::mulf8s_prepared:40::mulf8u_prepared:109 [ anim::angle#9 anim::i#10 anim::sprite_msb#10 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] { { mulf8s_prepared::b#3 = mulf8s_prepared::b#4 anim::x#0 } { mulf8u_prepared::return#0 = mulf8u_prepared::return#2 } } ) always clobbers reg byte a
|
||||
Statement [136] print_uchar_at::at#0 = print_uint_at::at#2 [ print_uint_at::w#2 print_uint_at::at#2 print_uchar_at::b#0 print_uchar_at::at#0 ] ( anim:3::print_ulong_at:66::print_uint_at:126 [ anim::angle#1 print_ulong_at::dw#0 print_uint_at::w#2 print_uint_at::at#2 print_uchar_at::b#0 print_uchar_at::at#0 ] { { print_ulong_at::dw#0 = anim::cyclecount#0 } { print_uint_at::w#0 = print_uint_at::w#2 } { print_uchar_at::b#0 = print_uchar_at::b#2 } { print_uchar_at::at#0 = print_uchar_at::at#2 print_uint_at::at#2 } } anim:3::print_ulong_at:66::print_uint_at:128 [ anim::angle#1 print_uint_at::w#2 print_uint_at::at#2 print_uchar_at::b#0 print_uchar_at::at#0 ] { { print_ulong_at::dw#0 = anim::cyclecount#0 } { print_uint_at::w#1 = print_uint_at::w#2 } { print_uchar_at::b#0 = print_uchar_at::b#2 } { print_uchar_at::at#0 = print_uchar_at::at#2 print_uint_at::at#2 } } ) always clobbers reg byte a
|
||||
@ -2815,7 +2815,7 @@ anim: {
|
||||
lda.z yr+1
|
||||
adc.z __12+1
|
||||
sta.z yr+1
|
||||
// [44] anim::$14 = > anim::xr#1 -- vbuaa=_hi_vwsz1
|
||||
// [44] anim::$14 = > anim::xr#1 -- vbuaa=_byte1_vwsz1
|
||||
lda.z xr+1
|
||||
// [45] anim::xpos#0 = (signed byte)anim::$14 + $18+$95 -- vwsz1=vbsaa_plus_vwsc1
|
||||
tax
|
||||
@ -2831,7 +2831,7 @@ anim: {
|
||||
sta.z xpos+1
|
||||
// [46] anim::sprite_msb#1 = anim::sprite_msb#10 >> 1 -- vbuz1=vbuz1_ror_1
|
||||
lsr.z sprite_msb
|
||||
// [47] anim::$17 = > anim::xpos#0 -- vbuaa=_hi_vwsz1
|
||||
// [47] anim::$17 = > anim::xpos#0 -- vbuaa=_byte1_vwsz1
|
||||
lda.z xpos+1
|
||||
// [48] if(anim::$17==0) goto anim::@5 -- vbuaa_eq_0_then_la1
|
||||
cmp #0
|
||||
@ -2850,7 +2850,7 @@ anim: {
|
||||
jmp __b5
|
||||
// anim::@5
|
||||
__b5:
|
||||
// [51] anim::$21 = > anim::yr#1 -- vbuaa=_hi_vwsz1
|
||||
// [51] anim::$21 = > anim::yr#1 -- vbuaa=_byte1_vwsz1
|
||||
lda.z yr+1
|
||||
// [52] anim::ypos#0 = anim::$21 + $59+$33 -- vbuyy=vbuaa_plus_vbuc1
|
||||
clc
|
||||
@ -2860,7 +2860,7 @@ anim: {
|
||||
lda.z i
|
||||
asl
|
||||
tax
|
||||
// [54] anim::$24 = < anim::xpos#0 -- vbuaa=_lo_vwsz1
|
||||
// [54] anim::$24 = < anim::xpos#0 -- vbuaa=_byte0_vwsz1
|
||||
lda.z xpos
|
||||
// [55] SPRITES_XPOS[anim::i2#0] = anim::$24 -- pbuc1_derefidx_vbuxx=vbuaa
|
||||
sta SPRITES_XPOS,x
|
||||
@ -3086,12 +3086,12 @@ mulf_init: {
|
||||
jmp __b3
|
||||
// mulf_init::@3
|
||||
__b3:
|
||||
// [90] mulf_init::$4 = < mulf_init::sqr#3 -- vbuaa=_lo_vwuz1
|
||||
// [90] mulf_init::$4 = < mulf_init::sqr#3 -- vbuaa=_byte0_vwuz1
|
||||
lda.z sqr
|
||||
// [91] *mulf_init::sqr1_lo#2 = mulf_init::$4 -- _deref_pbuz1=vbuaa
|
||||
ldy #0
|
||||
sta (sqr1_lo),y
|
||||
// [92] mulf_init::$5 = > mulf_init::sqr#3 -- vbuaa=_hi_vwuz1
|
||||
// [92] mulf_init::$5 = > mulf_init::sqr#3 -- vbuaa=_byte1_vwuz1
|
||||
lda.z sqr+1
|
||||
// [93] *mulf_init::sqr1_hi#2 = mulf_init::$5 -- _deref_pbuz1=vbuaa
|
||||
ldy #0
|
||||
@ -3198,13 +3198,13 @@ mulf8s_prepared: {
|
||||
jmp __b3
|
||||
// mulf8s_prepared::@3
|
||||
__b3:
|
||||
// [113] mulf8s_prepared::$6 = > mulf8s_prepared::m#0 -- vbuaa=_hi_vwuz1
|
||||
// [113] mulf8s_prepared::$6 = > mulf8s_prepared::m#0 -- vbuaa=_byte1_vwuz1
|
||||
lda.z m+1
|
||||
// [114] mulf8s_prepared::$11 = mulf8s_prepared::$6 - (byte)mulf8s_prepared::b#4 -- vbuaa=vbuaa_minus_vbuyy
|
||||
sty.z $ff
|
||||
sec
|
||||
sbc.z $ff
|
||||
// [115] mulf8s_prepared::m#1 = mulf8s_prepared::m#0 hi= mulf8s_prepared::$11 -- vwuz1=vwuz1_sethi_vbuaa
|
||||
// [115] mulf8s_prepared::m#1 = mulf8s_prepared::m#0 byte1= mulf8s_prepared::$11 -- vwuz1=vwuz1_setbyte1_vbuaa
|
||||
sta.z m+1
|
||||
// [116] phi from mulf8s_prepared::@3 mulf8s_prepared::@5 to mulf8s_prepared::@1 [phi:mulf8s_prepared::@3/mulf8s_prepared::@5->mulf8s_prepared::@1]
|
||||
__b1_from___b3:
|
||||
@ -3219,12 +3219,12 @@ mulf8s_prepared: {
|
||||
jmp __b4
|
||||
// mulf8s_prepared::@4
|
||||
__b4:
|
||||
// [118] mulf8s_prepared::$9 = > mulf8s_prepared::m#5 -- vbuaa=_hi_vwuz1
|
||||
// [118] mulf8s_prepared::$9 = > mulf8s_prepared::m#5 -- vbuaa=_byte1_vwuz1
|
||||
lda.z m+1
|
||||
// [119] mulf8s_prepared::$12 = mulf8s_prepared::$9 - (byte)*mulf8s_prepared::memA -- vbuaa=vbuaa_minus__deref_pbuc1
|
||||
sec
|
||||
sbc memA
|
||||
// [120] mulf8s_prepared::m#2 = mulf8s_prepared::m#5 hi= mulf8s_prepared::$12 -- vwuz1=vwuz1_sethi_vbuaa
|
||||
// [120] mulf8s_prepared::m#2 = mulf8s_prepared::m#5 byte1= mulf8s_prepared::$12 -- vwuz1=vwuz1_setbyte1_vbuaa
|
||||
sta.z m+1
|
||||
// [121] phi from mulf8s_prepared::@1 mulf8s_prepared::@4 to mulf8s_prepared::@2 [phi:mulf8s_prepared::@1/mulf8s_prepared::@4->mulf8s_prepared::@2]
|
||||
__b2_from___b1:
|
||||
@ -3269,7 +3269,7 @@ clock: {
|
||||
// print_ulong_at(dword zp($11) dw)
|
||||
print_ulong_at: {
|
||||
.label dw = $11
|
||||
// [125] print_uint_at::w#0 = > print_ulong_at::dw#0 -- vwuz1=_hi_vduz2
|
||||
// [125] print_uint_at::w#0 = _word1_ print_ulong_at::dw#0 -- vwuz1=_word1_vduz2
|
||||
lda.z dw+2
|
||||
sta.z print_uint_at.w
|
||||
lda.z dw+3
|
||||
@ -3287,7 +3287,7 @@ print_ulong_at: {
|
||||
jmp __b1
|
||||
// print_ulong_at::@1
|
||||
__b1:
|
||||
// [127] print_uint_at::w#1 = < print_ulong_at::dw#0 -- vwuz1=_lo_vduz2
|
||||
// [127] print_uint_at::w#1 = _word0_ print_ulong_at::dw#0 -- vwuz1=_word0_vduz2
|
||||
lda.z dw
|
||||
sta.z print_uint_at.w
|
||||
lda.z dw+1
|
||||
@ -3348,7 +3348,7 @@ mulf8u_prepared: {
|
||||
print_uint_at: {
|
||||
.label w = $d
|
||||
.label at = $f
|
||||
// [135] print_uchar_at::b#0 = > print_uint_at::w#2 -- vbuz1=_hi_vwuz2
|
||||
// [135] print_uchar_at::b#0 = > print_uint_at::w#2 -- vbuz1=_byte1_vwuz2
|
||||
lda.z w+1
|
||||
sta.z print_uchar_at.b
|
||||
// [136] print_uchar_at::at#0 = print_uint_at::at#2
|
||||
@ -3361,7 +3361,7 @@ print_uint_at: {
|
||||
jmp __b1
|
||||
// print_uint_at::@1
|
||||
__b1:
|
||||
// [138] print_uchar_at::b#1 = < print_uint_at::w#2 -- vbuz1=_lo_vwuz2
|
||||
// [138] print_uchar_at::b#1 = < print_uint_at::w#2 -- vbuz1=_byte0_vwuz2
|
||||
lda.z w
|
||||
sta.z print_uchar_at.b
|
||||
// [139] print_uchar_at::at#1 = print_uint_at::at#2 + 2 -- pbuz1=pbuz1_plus_vbuc1
|
||||
@ -4134,10 +4134,10 @@ anim: {
|
||||
lda.z yr+1
|
||||
adc.z __12+1
|
||||
sta.z yr+1
|
||||
// >xr
|
||||
// [44] anim::$14 = > anim::xr#1 -- vbuaa=_hi_vwsz1
|
||||
// BYTE1(xr)
|
||||
// [44] anim::$14 = > anim::xr#1 -- vbuaa=_byte1_vwsz1
|
||||
lda.z xr+1
|
||||
// signed int xpos = ((signed char) >xr) + 24 /*border*/ + 149
|
||||
// signed int xpos = ((signed char) BYTE1(xr)) + 24 /*border*/ + 149
|
||||
// [45] anim::xpos#0 = (signed byte)anim::$14 + $18+$95 -- vwsz1=vbsaa_plus_vwsc1
|
||||
tax
|
||||
clc
|
||||
@ -4153,9 +4153,9 @@ anim: {
|
||||
// sprite_msb = sprite_msb/2
|
||||
// [46] anim::sprite_msb#1 = anim::sprite_msb#10 >> 1 -- vbuz1=vbuz1_ror_1
|
||||
lsr.z sprite_msb
|
||||
// >xpos
|
||||
// [47] anim::$17 = > anim::xpos#0 -- vbuaa=_hi_vwsz1
|
||||
// if(>xpos!=0)
|
||||
// BYTE1(xpos)
|
||||
// [47] anim::$17 = > anim::xpos#0 -- vbuaa=_byte1_vwsz1
|
||||
// if(BYTE1(xpos)!=0)
|
||||
// [48] if(anim::$17==0) goto anim::@5 -- vbuaa_eq_0_then_la1
|
||||
cmp #0
|
||||
beq __b5
|
||||
@ -4169,10 +4169,10 @@ anim: {
|
||||
// [50] phi anim::sprite_msb#5 = anim::sprite_msb#1 [phi:anim::@13/anim::@6->anim::@5#0] -- register_copy
|
||||
// anim::@5
|
||||
__b5:
|
||||
// (>yr) + 89
|
||||
// [51] anim::$21 = > anim::yr#1 -- vbuaa=_hi_vwsz1
|
||||
// BYTE1(yr) + 89
|
||||
// [51] anim::$21 = > anim::yr#1 -- vbuaa=_byte1_vwsz1
|
||||
lda.z yr+1
|
||||
// char ypos = (>yr) + 89 /*center*/+ 51
|
||||
// char ypos = BYTE1(yr) + 89 /*center*/+ 51
|
||||
// [52] anim::ypos#0 = anim::$21 + $59+$33 -- vbuyy=vbuaa_plus_vbuc1
|
||||
clc
|
||||
adc #$59+$33
|
||||
@ -4182,10 +4182,10 @@ anim: {
|
||||
lda.z i
|
||||
asl
|
||||
tax
|
||||
// <xpos
|
||||
// [54] anim::$24 = < anim::xpos#0 -- vbuaa=_lo_vwsz1
|
||||
// BYTE0(xpos)
|
||||
// [54] anim::$24 = < anim::xpos#0 -- vbuaa=_byte0_vwsz1
|
||||
lda.z xpos
|
||||
// SPRITES_XPOS[i2] = <xpos
|
||||
// SPRITES_XPOS[i2] = BYTE0(xpos)
|
||||
// [55] SPRITES_XPOS[anim::i2#0] = anim::$24 -- pbuc1_derefidx_vbuxx=vbuaa
|
||||
sta SPRITES_XPOS,x
|
||||
// SPRITES_YPOS[i2] = ypos
|
||||
@ -4405,20 +4405,20 @@ mulf_init: {
|
||||
// [89] phi mulf_init::sqr#3 = mulf_init::sqr#4 [phi:mulf_init::@2/mulf_init::@4->mulf_init::@3#1] -- register_copy
|
||||
// mulf_init::@3
|
||||
__b3:
|
||||
// <sqr
|
||||
// [90] mulf_init::$4 = < mulf_init::sqr#3 -- vbuaa=_lo_vwuz1
|
||||
// BYTE0(sqr)
|
||||
// [90] mulf_init::$4 = < mulf_init::sqr#3 -- vbuaa=_byte0_vwuz1
|
||||
lda.z sqr
|
||||
// *sqr1_lo = <sqr
|
||||
// *sqr1_lo = BYTE0(sqr)
|
||||
// [91] *mulf_init::sqr1_lo#2 = mulf_init::$4 -- _deref_pbuz1=vbuaa
|
||||
ldy #0
|
||||
sta (sqr1_lo),y
|
||||
// >sqr
|
||||
// [92] mulf_init::$5 = > mulf_init::sqr#3 -- vbuaa=_hi_vwuz1
|
||||
// BYTE1(sqr)
|
||||
// [92] mulf_init::$5 = > mulf_init::sqr#3 -- vbuaa=_byte1_vwuz1
|
||||
lda.z sqr+1
|
||||
// *sqr1_hi++ = >sqr
|
||||
// *sqr1_hi++ = BYTE1(sqr)
|
||||
// [93] *mulf_init::sqr1_hi#2 = mulf_init::$5 -- _deref_pbuz1=vbuaa
|
||||
sta (sqr1_hi),y
|
||||
// *sqr1_hi++ = >sqr;
|
||||
// *sqr1_hi++ = BYTE1(sqr);
|
||||
// [94] mulf_init::sqr1_hi#1 = ++ mulf_init::sqr1_hi#2 -- pbuz1=_inc_pbuz1
|
||||
inc.z sqr1_hi
|
||||
bne !+
|
||||
@ -4525,15 +4525,15 @@ mulf8s_prepared: {
|
||||
cmp #0
|
||||
bpl __b1
|
||||
// mulf8s_prepared::@3
|
||||
// >m
|
||||
// [113] mulf8s_prepared::$6 = > mulf8s_prepared::m#0 -- vbuaa=_hi_vwuz1
|
||||
// BYTE1(m)
|
||||
// [113] mulf8s_prepared::$6 = > mulf8s_prepared::m#0 -- vbuaa=_byte1_vwuz1
|
||||
lda.z m+1
|
||||
// >m = (>m)-(char)b
|
||||
// BYTE1(m) = BYTE1(m)-(char)b
|
||||
// [114] mulf8s_prepared::$11 = mulf8s_prepared::$6 - (byte)mulf8s_prepared::b#4 -- vbuaa=vbuaa_minus_vbuyy
|
||||
sty.z $ff
|
||||
sec
|
||||
sbc.z $ff
|
||||
// [115] mulf8s_prepared::m#1 = mulf8s_prepared::m#0 hi= mulf8s_prepared::$11 -- vwuz1=vwuz1_sethi_vbuaa
|
||||
// [115] mulf8s_prepared::m#1 = mulf8s_prepared::m#0 byte1= mulf8s_prepared::$11 -- vwuz1=vwuz1_setbyte1_vbuaa
|
||||
sta.z m+1
|
||||
// [116] phi from mulf8s_prepared::@3 mulf8s_prepared::@5 to mulf8s_prepared::@1 [phi:mulf8s_prepared::@3/mulf8s_prepared::@5->mulf8s_prepared::@1]
|
||||
// [116] phi mulf8s_prepared::m#5 = mulf8s_prepared::m#1 [phi:mulf8s_prepared::@3/mulf8s_prepared::@5->mulf8s_prepared::@1#0] -- register_copy
|
||||
@ -4544,14 +4544,14 @@ mulf8s_prepared: {
|
||||
cpy #0
|
||||
bpl __b2
|
||||
// mulf8s_prepared::@4
|
||||
// >m
|
||||
// [118] mulf8s_prepared::$9 = > mulf8s_prepared::m#5 -- vbuaa=_hi_vwuz1
|
||||
// BYTE1(m)
|
||||
// [118] mulf8s_prepared::$9 = > mulf8s_prepared::m#5 -- vbuaa=_byte1_vwuz1
|
||||
lda.z m+1
|
||||
// >m = (>m)-(char)*memA
|
||||
// BYTE1(m) = BYTE1(m)-(char)*memA
|
||||
// [119] mulf8s_prepared::$12 = mulf8s_prepared::$9 - (byte)*mulf8s_prepared::memA -- vbuaa=vbuaa_minus__deref_pbuc1
|
||||
sec
|
||||
sbc memA
|
||||
// [120] mulf8s_prepared::m#2 = mulf8s_prepared::m#5 hi= mulf8s_prepared::$12 -- vwuz1=vwuz1_sethi_vbuaa
|
||||
// [120] mulf8s_prepared::m#2 = mulf8s_prepared::m#5 byte1= mulf8s_prepared::$12 -- vwuz1=vwuz1_setbyte1_vbuaa
|
||||
sta.z m+1
|
||||
// [121] phi from mulf8s_prepared::@1 mulf8s_prepared::@4 to mulf8s_prepared::@2 [phi:mulf8s_prepared::@1/mulf8s_prepared::@4->mulf8s_prepared::@2]
|
||||
// [121] phi mulf8s_prepared::m#4 = mulf8s_prepared::m#5 [phi:mulf8s_prepared::@1/mulf8s_prepared::@4->mulf8s_prepared::@2#0] -- register_copy
|
||||
@ -4592,8 +4592,8 @@ clock: {
|
||||
// print_ulong_at(dword zp($11) dw)
|
||||
print_ulong_at: {
|
||||
.label dw = $11
|
||||
// print_uint_at(>dw, at)
|
||||
// [125] print_uint_at::w#0 = > print_ulong_at::dw#0 -- vwuz1=_hi_vduz2
|
||||
// print_uint_at(WORD1(dw), at)
|
||||
// [125] print_uint_at::w#0 = _word1_ print_ulong_at::dw#0 -- vwuz1=_word1_vduz2
|
||||
lda.z dw+2
|
||||
sta.z print_uint_at.w
|
||||
lda.z dw+3
|
||||
@ -4608,8 +4608,8 @@ print_ulong_at: {
|
||||
// [134] phi print_uint_at::w#2 = print_uint_at::w#0 [phi:print_ulong_at->print_uint_at#1] -- register_copy
|
||||
jsr print_uint_at
|
||||
// print_ulong_at::@1
|
||||
// print_uint_at(<dw, at+4)
|
||||
// [127] print_uint_at::w#1 = < print_ulong_at::dw#0 -- vwuz1=_lo_vduz2
|
||||
// print_uint_at(WORD0(dw), at+4)
|
||||
// [127] print_uint_at::w#1 = _word0_ print_ulong_at::dw#0 -- vwuz1=_word0_vduz2
|
||||
lda.z dw
|
||||
sta.z print_uint_at.w
|
||||
lda.z dw+1
|
||||
@ -4670,8 +4670,8 @@ mulf8u_prepared: {
|
||||
print_uint_at: {
|
||||
.label w = $d
|
||||
.label at = $f
|
||||
// print_uchar_at(>w, at)
|
||||
// [135] print_uchar_at::b#0 = > print_uint_at::w#2 -- vbuz1=_hi_vwuz2
|
||||
// print_uchar_at(BYTE1(w), at)
|
||||
// [135] print_uchar_at::b#0 = > print_uint_at::w#2 -- vbuz1=_byte1_vwuz2
|
||||
lda.z w+1
|
||||
sta.z print_uchar_at.b
|
||||
// [136] print_uchar_at::at#0 = print_uint_at::at#2
|
||||
@ -4681,8 +4681,8 @@ print_uint_at: {
|
||||
// [142] phi print_uchar_at::b#2 = print_uchar_at::b#0 [phi:print_uint_at->print_uchar_at#1] -- register_copy
|
||||
jsr print_uchar_at
|
||||
// print_uint_at::@1
|
||||
// print_uchar_at(<w, at+2)
|
||||
// [138] print_uchar_at::b#1 = < print_uint_at::w#2 -- vbuz1=_lo_vwuz2
|
||||
// print_uchar_at(BYTE0(w), at+2)
|
||||
// [138] print_uchar_at::b#1 = < print_uint_at::w#2 -- vbuz1=_byte0_vwuz2
|
||||
lda.z w
|
||||
sta.z print_uchar_at.b
|
||||
// [139] print_uchar_at::at#1 = print_uint_at::at#2 + 2 -- pbuz1=pbuz1_plus_vbuc1
|
||||
|
@ -792,8 +792,9 @@ bitmap_plot: {
|
||||
lda.z plotter+1
|
||||
adc.z __0+1
|
||||
sta.z plotter+1
|
||||
// *plotter |= bitmap_plot_bit[(char)x]
|
||||
// BYTE0(x)
|
||||
ldx.z x
|
||||
// *plotter |= bitmap_plot_bit[BYTE0(x)]
|
||||
lda bitmap_plot_bit,x
|
||||
ldy #0
|
||||
ora (plotter),y
|
||||
|
@ -355,7 +355,7 @@ bitmap_plot: scope:[bitmap_plot] from render_sine::@4 render_sine::@6
|
||||
[172] bitmap_plot::plotter#0 = bitmap_plot_yhi[bitmap_plot::y#2] w= bitmap_plot_ylo[bitmap_plot::y#2]
|
||||
[173] bitmap_plot::$0 = bitmap_plot::x#2 & $fff8
|
||||
[174] bitmap_plot::plotter#1 = (byte*)bitmap_plot::plotter#0 + bitmap_plot::$0
|
||||
[175] bitmap_plot::$1 = (byte)bitmap_plot::x#2
|
||||
[175] bitmap_plot::$1 = < bitmap_plot::x#2
|
||||
[176] *bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1]
|
||||
to:bitmap_plot::@return
|
||||
bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot
|
||||
|
@ -642,7 +642,7 @@ bitmap_plot: scope:[bitmap_plot] from render_sine::@5 render_sine::@7
|
||||
bitmap_plot::plotter#0 = (byte*){ bitmap_plot_yhi[bitmap_plot::y#2], bitmap_plot_ylo[bitmap_plot::y#2] }
|
||||
bitmap_plot::$0 = bitmap_plot::x#2 & $fff8
|
||||
bitmap_plot::plotter#1 = bitmap_plot::plotter#0 + bitmap_plot::$0
|
||||
bitmap_plot::$1 = (byte)bitmap_plot::x#2
|
||||
bitmap_plot::$1 = < bitmap_plot::x#2
|
||||
*bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1]
|
||||
to:bitmap_plot::@return
|
||||
bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot
|
||||
@ -2946,7 +2946,7 @@ bitmap_plot: scope:[bitmap_plot] from render_sine::@4 render_sine::@6
|
||||
[172] bitmap_plot::plotter#0 = bitmap_plot_yhi[bitmap_plot::y#2] w= bitmap_plot_ylo[bitmap_plot::y#2]
|
||||
[173] bitmap_plot::$0 = bitmap_plot::x#2 & $fff8
|
||||
[174] bitmap_plot::plotter#1 = (byte*)bitmap_plot::plotter#0 + bitmap_plot::$0
|
||||
[175] bitmap_plot::$1 = (byte)bitmap_plot::x#2
|
||||
[175] bitmap_plot::$1 = < bitmap_plot::x#2
|
||||
[176] *bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1]
|
||||
to:bitmap_plot::@return
|
||||
bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot
|
||||
@ -3078,7 +3078,7 @@ byte* bitmap_plot::plotter#1 1501.5
|
||||
word bitmap_plot::x
|
||||
word bitmap_plot::x#0 101.0
|
||||
word bitmap_plot::x#1 101.0
|
||||
word bitmap_plot::x#2 300.75
|
||||
word bitmap_plot::x#2 551.0
|
||||
byte bitmap_plot::y
|
||||
byte bitmap_plot::y#0 202.0
|
||||
byte bitmap_plot::y#1 202.0
|
||||
@ -3874,7 +3874,7 @@ Uplift Scope [divr16u] 90,147.42: zp[2]:42 [ divr16u::rem#5 divr16u::rem#10 divr
|
||||
Uplift Scope [mulu16_sel] 21,012: zp[2]:49 [ mulu16_sel::v1#5 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#3 ] 20,002: zp[4]:180 [ mulu16_sel::$0 ] 20,002: zp[4]:184 [ mulu16_sel::$1 ] 15,010.5: zp[2]:51 [ mulu16_sel::v2#5 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#3 ] 2,143.71: zp[2]:188 [ mulu16_sel::return#12 ] 2,002: zp[2]:126 [ mulu16_sel::return#0 ] 2,002: zp[2]:130 [ mulu16_sel::return#1 ] 2,002: zp[2]:134 [ mulu16_sel::return#2 ] 2,002: zp[2]:140 [ mulu16_sel::return#10 ] 2,002: zp[2]:144 [ mulu16_sel::return#11 ] 1,666.83: zp[1]:53 [ mulu16_sel::select#5 ]
|
||||
Uplift Scope [sin16s] 11,061.5: zp[4]:27 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] 4,705: zp[2]:31 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] 2,002: zp[4]:120 [ sin16s::$4 ] 2,002: zp[2]:128 [ sin16s::x2#0 ] 2,002: zp[2]:136 [ sin16s::x3_6#0 ] 2,002: zp[2]:142 [ sin16s::x4#0 ] 2,002: zp[2]:146 [ sin16s::x5#0 ] 2,002: zp[2]:148 [ sin16s::x5_128#0 ] 500.5: zp[2]:132 [ sin16s::x3#0 ] 500.5: zp[2]:150 [ sin16s::usinx#1 ] 318.5: zp[2]:124 [ sin16s::x1#0 ] 202: zp[2]:78 [ sin16s::return#0 ] 166.83: zp[2]:138 [ sin16s::usinx#0 ] 30.33: zp[1]:26 [ sin16s::isUpper#2 ]
|
||||
Uplift Scope [mul16s] 5,005: zp[4]:33 [ mul16s::m#4 mul16s::m#1 mul16s::m#0 ] 2,002: zp[2]:156 [ mul16s::$6 ] 2,002: zp[2]:158 [ mul16s::$11 ] 367.33: zp[4]:160 [ mul16s::return#1 ] 220.4: zp[2]:80 [ mul16s::a#0 ] 202: zp[4]:82 [ mul16s::return#0 ]
|
||||
Uplift Scope [bitmap_plot] 2,608: zp[1]:39 [ bitmap_plot::y#2 bitmap_plot::y#0 bitmap_plot::y#1 ] 2,002: zp[2]:167 [ bitmap_plot::$0 ] 2,002: zp[1]:171 [ bitmap_plot::$1 ] 1,501.5: zp[2]:169 [ bitmap_plot::plotter#1 ] 502.75: zp[2]:40 [ bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 ] 500.5: zp[2]:165 [ bitmap_plot::plotter#0 ]
|
||||
Uplift Scope [bitmap_plot] 2,608: zp[1]:39 [ bitmap_plot::y#2 bitmap_plot::y#0 bitmap_plot::y#1 ] 2,002: zp[2]:167 [ bitmap_plot::$0 ] 2,002: zp[1]:171 [ bitmap_plot::$1 ] 1,501.5: zp[2]:169 [ bitmap_plot::plotter#1 ] 753: zp[2]:40 [ bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 ] 500.5: zp[2]:165 [ bitmap_plot::plotter#0 ]
|
||||
Uplift Scope [memset] 3,572.33: zp[2]:24 [ memset::dst#2 memset::dst#4 memset::dst#1 ] 183.67: zp[2]:106 [ memset::end#0 ] 125.12: zp[1]:23 [ memset::c#4 ] 101: zp[2]:19 [ memset::num#2 ] 0: zp[2]:21 [ memset::str#3 ]
|
||||
Uplift Scope [bitmap_init] 366.12: zp[2]:5 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] 319.83: zp[1]:2 [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] 202: zp[1]:3 [ bitmap_init::x#2 bitmap_init::x#1 ] 202: zp[1]:4 [ bitmap_init::y#2 bitmap_init::y#1 ] 202: zp[1]:67 [ bitmap_init::$4 ] 202: zp[1]:68 [ bitmap_init::$5 ] 202: zp[1]:69 [ bitmap_init::$6 ] 50.5: zp[1]:66 [ bitmap_init::$7 ]
|
||||
Uplift Scope [render_sine] 221.24: zp[2]:17 [ render_sine::xpos#3 render_sine::xpos#9 render_sine::xpos#1 ] 218.16: zp[2]:15 [ render_sine::sin_idx#2 render_sine::sin_idx#1 ] 202: zp[2]:94 [ render_sine::$1 ] 202: zp[2]:96 [ render_sine::sin_val#0 ] 202: zp[2]:100 [ render_sine::$4 ] 202: zp[2]:102 [ render_sine::sin2_val#0 ] 101: zp[1]:99 [ render_sine::ypos#0 ] 101: zp[1]:105 [ render_sine::ypos2#0 ] 30.3: zp[2]:92 [ render_sine::$11 ]
|
||||
@ -5167,7 +5167,7 @@ bitmap_plot: {
|
||||
lda.z plotter+1
|
||||
adc.z __0+1
|
||||
sta.z plotter+1
|
||||
// [175] bitmap_plot::$1 = (byte)bitmap_plot::x#2 -- vbuxx=_byte_vwuz1
|
||||
// [175] bitmap_plot::$1 = < bitmap_plot::x#2 -- vbuxx=_byte0_vwuz1
|
||||
ldx.z x
|
||||
// [176] *bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1] -- _deref_pbuz1=_deref_pbuz1_bor_pbuc1_derefidx_vbuxx
|
||||
lda bitmap_plot_bit,x
|
||||
@ -5748,7 +5748,7 @@ byte* bitmap_plot::plotter#1 plotter zp[2]:35 1501.5
|
||||
word bitmap_plot::x
|
||||
word bitmap_plot::x#0 x zp[2]:8 101.0
|
||||
word bitmap_plot::x#1 x zp[2]:8 101.0
|
||||
word bitmap_plot::x#2 x zp[2]:8 300.75
|
||||
word bitmap_plot::x#2 x zp[2]:8 551.0
|
||||
byte bitmap_plot::y
|
||||
byte bitmap_plot::y#0 reg byte x 202.0
|
||||
byte bitmap_plot::y#1 reg byte x 202.0
|
||||
@ -7145,9 +7145,10 @@ bitmap_plot: {
|
||||
lda.z plotter+1
|
||||
adc.z __0+1
|
||||
sta.z plotter+1
|
||||
// *plotter |= bitmap_plot_bit[(char)x]
|
||||
// [175] bitmap_plot::$1 = (byte)bitmap_plot::x#2 -- vbuxx=_byte_vwuz1
|
||||
// BYTE0(x)
|
||||
// [175] bitmap_plot::$1 = < bitmap_plot::x#2 -- vbuxx=_byte0_vwuz1
|
||||
ldx.z x
|
||||
// *plotter |= bitmap_plot_bit[BYTE0(x)]
|
||||
// [176] *bitmap_plot::plotter#1 = *bitmap_plot::plotter#1 | bitmap_plot_bit[bitmap_plot::$1] -- _deref_pbuz1=_deref_pbuz1_bor_pbuc1_derefidx_vbuxx
|
||||
lda bitmap_plot_bit,x
|
||||
ldy #0
|
||||
|
@ -57,7 +57,7 @@ byte* bitmap_plot::plotter#1 plotter zp[2]:35 1501.5
|
||||
word bitmap_plot::x
|
||||
word bitmap_plot::x#0 x zp[2]:8 101.0
|
||||
word bitmap_plot::x#1 x zp[2]:8 101.0
|
||||
word bitmap_plot::x#2 x zp[2]:8 300.75
|
||||
word bitmap_plot::x#2 x zp[2]:8 551.0
|
||||
byte bitmap_plot::y
|
||||
byte bitmap_plot::y#0 reg byte x 202.0
|
||||
byte bitmap_plot::y#1 reg byte x 202.0
|
||||
|
@ -3540,48 +3540,6 @@ Uplift Scope [progress_inc]
|
||||
|
||||
Uplifting [gen_chargen_sprite] best 1064084 combination zp[1]:39 [ gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen#1 ] zp[2]:42 [ gen_chargen_sprite::sprite#3 gen_chargen_sprite::sprite#10 gen_chargen_sprite::sprite#11 gen_chargen_sprite::sprite#0 gen_chargen_sprite::sprite#2 gen_chargen_sprite::sprite#4 gen_chargen_sprite::sprite#1 ] reg byte y [ gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::s_gen_cnt#1 ] reg byte a [ gen_chargen_sprite::$5 ] reg byte x [ gen_chargen_sprite::b#2 gen_chargen_sprite::b#1 ] reg byte a [ gen_chargen_sprite::$2 ] zp[1]:37 [ gen_chargen_sprite::x#6 gen_chargen_sprite::x#1 ] zp[1]:36 [ gen_chargen_sprite::bits#2 gen_chargen_sprite::bits#0 gen_chargen_sprite::bits#1 ] zp[1]:38 [ gen_chargen_sprite::c#3 ] zp[1]:35 [ gen_chargen_sprite::y#2 gen_chargen_sprite::y#1 ] zp[2]:67 [ gen_chargen_sprite::chargen#0 ] zp[2]:63 [ gen_chargen_sprite::$14 ] zp[2]:65 [ gen_chargen_sprite::$0 ] zp[1]:58 [ gen_chargen_sprite::ch#0 ]
|
||||
Limited combination testing to 100 combinations of 9216 possible.
|
||||
Warning! Unknown fragment for statement [35] anim::x_msb#1 = anim::$7 | anim::$8
|
||||
Missing ASM fragment Fragment not found vbuz1=vbuz2_bor__byte1_vwuz3. Attempted variations vbuz1=vbuz2_bor__byte1_vwuz3
|
||||
/Users/jespergravgaard/c64/kickc/src/test/kc/examples/c64/sinsprites/sinus-sprites.c:77:9:
|
||||
Warning! Unknown fragment for statement [35] anim::x_msb#1 = anim::$7 | anim::$8
|
||||
Missing ASM fragment Fragment not found vbuz1=vbuz2_bor__byte1_vwuz3. Attempted variations vbuz1=vbuz2_bor__byte1_vwuz3
|
||||
/Users/jespergravgaard/c64/kickc/src/test/kc/examples/c64/sinsprites/sinus-sprites.c:77:9:
|
||||
Warning! Unknown fragment for statement [35] anim::x_msb#1 = anim::$7 | anim::$8
|
||||
Missing ASM fragment Fragment not found vbuz1=vbuz2_bor__byte1_vwuz3. Attempted variations vbuz1=vbuz2_bor__byte1_vwuz3
|
||||
/Users/jespergravgaard/c64/kickc/src/test/kc/examples/c64/sinsprites/sinus-sprites.c:77:9:
|
||||
Warning! Unknown fragment for statement [35] anim::x_msb#1 = anim::$7 | anim::$8
|
||||
Missing ASM fragment Fragment not found vbuz1=vbuz2_bor__byte1_vwuz3. Attempted variations vbuz1=vbuz2_bor__byte1_vwuz3
|
||||
/Users/jespergravgaard/c64/kickc/src/test/kc/examples/c64/sinsprites/sinus-sprites.c:77:9:
|
||||
Warning! Unknown fragment for statement [35] anim::x_msb#1 = anim::$7 | anim::$8
|
||||
Missing ASM fragment Fragment not found vbuz1=vbuz2_bor__byte1_vwuz3. Attempted variations vbuz1=vbuz2_bor__byte1_vwuz3
|
||||
/Users/jespergravgaard/c64/kickc/src/test/kc/examples/c64/sinsprites/sinus-sprites.c:77:9:
|
||||
Warning! Unknown fragment for statement [35] anim::x_msb#1 = anim::$7 | anim::$8
|
||||
Missing ASM fragment Fragment not found vbuz1=vbuz2_bor__byte1_vwuz3. Attempted variations vbuz1=vbuz2_bor__byte1_vwuz3
|
||||
/Users/jespergravgaard/c64/kickc/src/test/kc/examples/c64/sinsprites/sinus-sprites.c:77:9:
|
||||
Warning! Unknown fragment for statement [35] anim::x_msb#1 = anim::$7 | anim::$8
|
||||
Missing ASM fragment Fragment not found vbuz1=vbuz2_bor__byte1_vwuz3. Attempted variations vbuz1=vbuz2_bor__byte1_vwuz3
|
||||
/Users/jespergravgaard/c64/kickc/src/test/kc/examples/c64/sinsprites/sinus-sprites.c:77:9:
|
||||
Warning! Unknown fragment for statement [35] anim::x_msb#1 = anim::$7 | anim::$8
|
||||
Missing ASM fragment Fragment not found vbuz1=vbuz2_bor__byte1_vwuz3. Attempted variations vbuz1=vbuz2_bor__byte1_vwuz3
|
||||
/Users/jespergravgaard/c64/kickc/src/test/kc/examples/c64/sinsprites/sinus-sprites.c:77:9:
|
||||
Warning! Unknown fragment for statement [35] anim::x_msb#1 = anim::$7 | anim::$8
|
||||
Missing ASM fragment Fragment not found vbuz1=vbuz2_bor__byte1_vwuz3. Attempted variations vbuz1=vbuz2_bor__byte1_vwuz3
|
||||
/Users/jespergravgaard/c64/kickc/src/test/kc/examples/c64/sinsprites/sinus-sprites.c:77:9:
|
||||
Warning! Unknown fragment for statement [35] anim::x_msb#1 = anim::$7 | anim::$8
|
||||
Missing ASM fragment Fragment not found vbuz1=vbuz2_bor__byte1_vwuz3. Attempted variations vbuz1=vbuz2_bor__byte1_vwuz3
|
||||
/Users/jespergravgaard/c64/kickc/src/test/kc/examples/c64/sinsprites/sinus-sprites.c:77:9:
|
||||
Warning! Unknown fragment for statement [35] anim::x_msb#1 = anim::$7 | anim::$8
|
||||
Missing ASM fragment Fragment not found vbuz1=vbuz2_bor__byte1_vwuz3. Attempted variations vbuz1=vbuz2_bor__byte1_vwuz3
|
||||
/Users/jespergravgaard/c64/kickc/src/test/kc/examples/c64/sinsprites/sinus-sprites.c:77:9:
|
||||
Warning! Unknown fragment for statement [35] anim::x_msb#1 = anim::$7 | anim::$8
|
||||
Missing ASM fragment Fragment not found vbuz1=vbuz2_bor__byte1_vwuz3. Attempted variations vbuz1=vbuz2_bor__byte1_vwuz3
|
||||
/Users/jespergravgaard/c64/kickc/src/test/kc/examples/c64/sinsprites/sinus-sprites.c:77:9:
|
||||
Warning! Unknown fragment for statement [35] anim::x_msb#1 = anim::$7 | anim::$8
|
||||
Missing ASM fragment Fragment not found vbuz1=vbuz2_bor__byte1_vwuz3. Attempted variations vbuz1=vbuz2_bor__byte1_vwuz3
|
||||
/Users/jespergravgaard/c64/kickc/src/test/kc/examples/c64/sinsprites/sinus-sprites.c:77:9:
|
||||
Warning! Unknown fragment for statement [35] anim::x_msb#1 = anim::$7 | anim::$8
|
||||
Missing ASM fragment Fragment not found vbuz1=vbuz2_bor__byte1_vwuz3. Attempted variations vbuz1=vbuz2_bor__byte1_vwuz3
|
||||
/Users/jespergravgaard/c64/kickc/src/test/kc/examples/c64/sinsprites/sinus-sprites.c:77:9:
|
||||
Uplifting [anim] best 1062884 combination zp[1]:9 [ anim::yidx#3 anim::yidx#0 anim::yidx#6 anim::yidx#1 anim::yidx#2 ] zp[1]:5 [ anim::xidx#3 anim::xidx#0 anim::xidx#5 anim::xidx#1 anim::xidx#2 ] reg byte a [ anim::$8 ] reg byte a [ anim::$10 ] zp[1]:10 [ anim::j#2 anim::j#1 ] zp[1]:6 [ anim::x_msb#2 anim::x_msb#1 ] zp[1]:54 [ anim::$7 ] zp[1]:8 [ anim::j2#2 anim::j2#1 ] zp[2]:52 [ anim::x#0 ]
|
||||
Limited combination testing to 100 combinations of 19440 possible.
|
||||
Uplifting [setFAC] best 1062872 combination reg byte a [ setFAC::prepareMEM1_$0 ] reg byte a [ setFAC::prepareMEM1_$1 ] zp[2]:44 [ setFAC::prepareMEM1_mem#0 setFAC::w#0 setFAC::w#4 setFAC::w#3 setFAC::w#1 ]
|
||||
|
@ -248,20 +248,20 @@ sin16s_genb: {
|
||||
// }
|
||||
rts
|
||||
__b2:
|
||||
// sin16sb(>x)
|
||||
// sin16sb(WORD1(x))
|
||||
lda.z x+2
|
||||
sta.z sin16sb.x
|
||||
lda.z x+3
|
||||
sta.z sin16sb.x+1
|
||||
jsr sin16sb
|
||||
// *sintab++ = sin16sb(>x)
|
||||
// *sintab++ = sin16sb(WORD1(x))
|
||||
ldy #0
|
||||
lda.z __3
|
||||
sta (sintab),y
|
||||
iny
|
||||
lda.z __3+1
|
||||
sta (sintab),y
|
||||
// *sintab++ = sin16sb(>x);
|
||||
// *sintab++ = sin16sb(WORD1(x));
|
||||
lda #SIZEOF_SIGNED_WORD
|
||||
clc
|
||||
adc.z sintab
|
||||
@ -356,7 +356,7 @@ div32u16u: {
|
||||
.label return = $1f
|
||||
.label quotient_hi = $27
|
||||
.label quotient_lo = $29
|
||||
// divr16u(>dividend, divisor, 0)
|
||||
// divr16u(WORD1(dividend), divisor, 0)
|
||||
lda #<PI2_u4f28>>$10
|
||||
sta.z divr16u.dividend
|
||||
lda #>PI2_u4f28>>$10
|
||||
@ -365,20 +365,20 @@ div32u16u: {
|
||||
sta.z divr16u.rem
|
||||
sta.z divr16u.rem+1
|
||||
jsr divr16u
|
||||
// divr16u(>dividend, divisor, 0)
|
||||
// unsigned int quotient_hi = divr16u(>dividend, divisor, 0)
|
||||
// divr16u(WORD1(dividend), divisor, 0)
|
||||
// unsigned int quotient_hi = divr16u(WORD1(dividend), divisor, 0)
|
||||
lda.z divr16u.return
|
||||
sta.z quotient_hi
|
||||
lda.z divr16u.return+1
|
||||
sta.z quotient_hi+1
|
||||
// divr16u(<dividend, divisor, rem16u)
|
||||
// divr16u(WORD0(dividend), divisor, rem16u)
|
||||
lda #<PI2_u4f28&$ffff
|
||||
sta.z divr16u.dividend
|
||||
lda #>PI2_u4f28&$ffff
|
||||
sta.z divr16u.dividend+1
|
||||
jsr divr16u
|
||||
// divr16u(<dividend, divisor, rem16u)
|
||||
// unsigned int quotient_lo = divr16u(<dividend, divisor, rem16u)
|
||||
// divr16u(WORD0(dividend), divisor, rem16u)
|
||||
// unsigned int quotient_lo = divr16u(WORD0(dividend), divisor, rem16u)
|
||||
// unsigned long quotient = { quotient_hi, quotient_lo}
|
||||
lda.z quotient_hi
|
||||
sta.z return+2
|
||||
@ -497,7 +497,7 @@ sin16s: {
|
||||
rol.z __4+1
|
||||
rol.z __4+2
|
||||
rol.z __4+3
|
||||
// unsigned int x1 = >x<<3
|
||||
// unsigned int x1 = WORD1(x<<3)
|
||||
lda.z __4+2
|
||||
sta.z x1
|
||||
lda.z __4+3
|
||||
@ -818,10 +818,10 @@ print_char: {
|
||||
// print_uint(word zp($d) w)
|
||||
print_uint: {
|
||||
.label w = $d
|
||||
// print_uchar(>w)
|
||||
// print_uchar(BYTE1(w))
|
||||
ldx.z w+1
|
||||
jsr print_uchar
|
||||
// print_uchar(<w)
|
||||
// print_uchar(BYTE0(w))
|
||||
ldx.z w
|
||||
jsr print_uchar
|
||||
// }
|
||||
@ -845,11 +845,11 @@ divr16u: {
|
||||
// rem = rem << 1
|
||||
asl.z rem
|
||||
rol.z rem+1
|
||||
// >dividend
|
||||
// BYTE1(dividend)
|
||||
lda.z dividend+1
|
||||
// >dividend & $80
|
||||
// BYTE1(dividend) & $80
|
||||
and #$80
|
||||
// if( (>dividend & $80) != 0 )
|
||||
// if( (BYTE1(dividend) & $80) != 0 )
|
||||
cmp #0
|
||||
beq __b2
|
||||
// rem = rem | 1
|
||||
@ -921,7 +921,7 @@ mulu16_sel: {
|
||||
dex
|
||||
bne !-
|
||||
!e:
|
||||
// >mul16u(v1, v2)<<select
|
||||
// WORD1(mul16u(v1, v2)<<select)
|
||||
lda.z __1+2
|
||||
sta.z return
|
||||
lda.z __1+3
|
||||
|
@ -93,7 +93,7 @@ sin16s_genb::@return: scope:[sin16s_genb] from sin16s_genb::@1
|
||||
[42] return
|
||||
to:@return
|
||||
sin16s_genb::@2: scope:[sin16s_genb] from sin16s_genb::@1
|
||||
[43] sin16sb::x#0 = > sin16s_genb::x#2
|
||||
[43] sin16sb::x#0 = _word1_ sin16s_genb::x#2
|
||||
[44] call sin16sb
|
||||
[45] sin16sb::return#0 = sin16sb::return#1
|
||||
to:sin16s_genb::@4
|
||||
@ -197,7 +197,7 @@ sin16s::@5: scope:[sin16s] from sin16s::@1
|
||||
sin16s::@2: scope:[sin16s] from sin16s::@1 sin16s::@5
|
||||
[86] sin16s::x#6 = phi( sin16s::@1/sin16s::x#4, sin16s::@5/sin16s::x#2 )
|
||||
[87] sin16s::$4 = sin16s::x#6 << 3
|
||||
[88] sin16s::x1#0 = > sin16s::$4
|
||||
[88] sin16s::x1#0 = _word1_ sin16s::$4
|
||||
[89] mulu16_sel::v1#0 = sin16s::x1#0
|
||||
[90] mulu16_sel::v2#0 = sin16s::x1#0
|
||||
[91] call mulu16_sel
|
||||
@ -362,7 +362,7 @@ print_uint::@return: scope:[print_uint] from print_uint::@1
|
||||
|
||||
word divr16u(word divr16u::dividend , word divr16u::divisor , word divr16u::rem)
|
||||
divr16u: scope:[divr16u] from div32u16u div32u16u::@1
|
||||
[175] divr16u::dividend#5 = phi( div32u16u/>PI2_u4f28, div32u16u::@1/<PI2_u4f28 )
|
||||
[175] divr16u::dividend#5 = phi( div32u16u/_word1_PI2_u4f28, div32u16u::@1/_word0_PI2_u4f28 )
|
||||
[175] divr16u::rem#10 = phi( div32u16u/0, div32u16u::@1/divr16u::rem#4 )
|
||||
to:divr16u::@1
|
||||
divr16u::@1: scope:[divr16u] from divr16u divr16u::@3
|
||||
@ -414,7 +414,7 @@ mulu16_sel: scope:[mulu16_sel] from sin16s::@10 sin16s::@2 sin16s::@7 sin16s::@
|
||||
mulu16_sel::@1: scope:[mulu16_sel] from mulu16_sel
|
||||
[198] mulu16_sel::$0 = mul16u::return#0
|
||||
[199] mulu16_sel::$1 = mulu16_sel::$0 << mulu16_sel::select#10
|
||||
[200] mulu16_sel::return#17 = > mulu16_sel::$1
|
||||
[200] mulu16_sel::return#17 = _word1_ mulu16_sel::$1
|
||||
to:mulu16_sel::@return
|
||||
mulu16_sel::@return: scope:[mulu16_sel] from mulu16_sel::@1
|
||||
[201] return
|
||||
|
File diff suppressed because one or more lines are too long
@ -146,16 +146,16 @@ mulf_init: {
|
||||
inc.z sqr+1
|
||||
!:
|
||||
__b3:
|
||||
// <sqr
|
||||
// BYTE0(sqr)
|
||||
lda.z sqr
|
||||
// *sqr1_lo = <sqr
|
||||
// *sqr1_lo = BYTE0(sqr)
|
||||
ldy #0
|
||||
sta (sqr1_lo),y
|
||||
// >sqr
|
||||
// BYTE1(sqr)
|
||||
lda.z sqr+1
|
||||
// *sqr1_hi++ = >sqr
|
||||
// *sqr1_hi++ = BYTE1(sqr)
|
||||
sta (sqr1_hi),y
|
||||
// *sqr1_hi++ = >sqr;
|
||||
// *sqr1_hi++ = BYTE1(sqr);
|
||||
inc.z sqr1_hi
|
||||
bne !+
|
||||
inc.z sqr1_hi+1
|
||||
@ -1008,12 +1008,12 @@ mul16s: {
|
||||
// if(a<0)
|
||||
lda.z a+1
|
||||
bpl __b1
|
||||
// >m
|
||||
// WORD1(m)
|
||||
lda.z m+2
|
||||
sta.z __6
|
||||
lda.z m+3
|
||||
sta.z __6+1
|
||||
// >m = (>m)-(unsigned int)b
|
||||
// WORD1(m) = WORD1(m)-(unsigned int)b
|
||||
lda.z __11
|
||||
sec
|
||||
sbc.z b
|
||||
@ -1029,12 +1029,12 @@ mul16s: {
|
||||
// if(b<0)
|
||||
lda.z b+1
|
||||
bpl __b2
|
||||
// >m
|
||||
// WORD1(m)
|
||||
lda.z m+2
|
||||
sta.z __9
|
||||
lda.z m+3
|
||||
sta.z __9+1
|
||||
// >m = (>m)-(unsigned int)a
|
||||
// WORD1(m) = WORD1(m)-(unsigned int)a
|
||||
lda.z __12
|
||||
sec
|
||||
sbc.z a
|
||||
@ -1078,12 +1078,12 @@ mulf16s: {
|
||||
// if(a<0)
|
||||
lda.z a+1
|
||||
bpl __b1
|
||||
// >m
|
||||
// WORD1(m)
|
||||
lda.z m+2
|
||||
sta.z __6
|
||||
lda.z m+3
|
||||
sta.z __6+1
|
||||
// >m = (>m)-(unsigned int)b
|
||||
// WORD1(m) = WORD1(m)-(unsigned int)b
|
||||
lda.z __11
|
||||
sec
|
||||
sbc.z b
|
||||
@ -1099,12 +1099,12 @@ mulf16s: {
|
||||
// if(b<0)
|
||||
lda.z b+1
|
||||
bpl __b2
|
||||
// >m
|
||||
// WORD1(m)
|
||||
lda.z m+2
|
||||
sta.z __9
|
||||
lda.z m+3
|
||||
sta.z __9+1
|
||||
// >m = (>m)-(unsigned int)a
|
||||
// WORD1(m) = WORD1(m)-(unsigned int)a
|
||||
lda.z __12
|
||||
sec
|
||||
sbc.z a
|
||||
@ -1219,10 +1219,10 @@ print_char: {
|
||||
// print_uint(word zp($18) w)
|
||||
print_uint: {
|
||||
.label w = $18
|
||||
// print_uchar(>w)
|
||||
// print_uchar(BYTE1(w))
|
||||
ldx.z w+1
|
||||
jsr print_uchar
|
||||
// print_uchar(<w)
|
||||
// print_uchar(BYTE0(w))
|
||||
ldx.z w
|
||||
jsr print_uchar
|
||||
// }
|
||||
@ -1232,13 +1232,13 @@ print_uint: {
|
||||
// print_ulong(dword zp(8) dw)
|
||||
print_ulong: {
|
||||
.label dw = 8
|
||||
// print_uint(>dw)
|
||||
// print_uint(WORD1(dw))
|
||||
lda.z dw+2
|
||||
sta.z print_uint.w
|
||||
lda.z dw+3
|
||||
sta.z print_uint.w+1
|
||||
jsr print_uint
|
||||
// print_uint(<dw)
|
||||
// print_uint(WORD0(dw))
|
||||
lda.z dw
|
||||
sta.z print_uint.w
|
||||
lda.z dw+1
|
||||
|
@ -469,18 +469,18 @@ mul16s::@5: scope:[mul16s] from mul16s
|
||||
[215] if(mul16s::a#0>=0) goto mul16s::@1
|
||||
to:mul16s::@3
|
||||
mul16s::@3: scope:[mul16s] from mul16s::@5
|
||||
[216] mul16s::$6 = > mul16s::m#0
|
||||
[216] mul16s::$6 = _word1_ mul16s::m#0
|
||||
[217] mul16s::$11 = mul16s::$6 - (word)mul16s::b#0
|
||||
[218] mul16s::m#1 = mul16s::m#0 hi= mul16s::$11
|
||||
[218] mul16s::m#1 = mul16s::m#0 word1= mul16s::$11
|
||||
to:mul16s::@1
|
||||
mul16s::@1: scope:[mul16s] from mul16s::@3 mul16s::@5
|
||||
[219] mul16s::m#5 = phi( mul16s::@3/mul16s::m#1, mul16s::@5/mul16s::m#0 )
|
||||
[220] if(mul16s::b#0>=0) goto mul16s::@2
|
||||
to:mul16s::@4
|
||||
mul16s::@4: scope:[mul16s] from mul16s::@1
|
||||
[221] mul16s::$9 = > mul16s::m#5
|
||||
[221] mul16s::$9 = _word1_ mul16s::m#5
|
||||
[222] mul16s::$12 = mul16s::$9 - (word)mul16s::a#0
|
||||
[223] mul16s::m#2 = mul16s::m#5 hi= mul16s::$12
|
||||
[223] mul16s::m#2 = mul16s::m#5 word1= mul16s::$12
|
||||
to:mul16s::@2
|
||||
mul16s::@2: scope:[mul16s] from mul16s::@1 mul16s::@4
|
||||
[224] mul16s::m#4 = phi( mul16s::@1/mul16s::m#5, mul16s::@4/mul16s::m#2 )
|
||||
@ -502,18 +502,18 @@ mulf16s::@5: scope:[mulf16s] from mulf16s
|
||||
[232] if(mulf16s::a#0>=0) goto mulf16s::@1
|
||||
to:mulf16s::@3
|
||||
mulf16s::@3: scope:[mulf16s] from mulf16s::@5
|
||||
[233] mulf16s::$6 = > mulf16s::m#0
|
||||
[233] mulf16s::$6 = _word1_ mulf16s::m#0
|
||||
[234] mulf16s::$11 = mulf16s::$6 - (word)mulf16s::b#0
|
||||
[235] mulf16s::m#1 = mulf16s::m#0 hi= mulf16s::$11
|
||||
[235] mulf16s::m#1 = mulf16s::m#0 word1= mulf16s::$11
|
||||
to:mulf16s::@1
|
||||
mulf16s::@1: scope:[mulf16s] from mulf16s::@3 mulf16s::@5
|
||||
[236] mulf16s::m#5 = phi( mulf16s::@3/mulf16s::m#1, mulf16s::@5/mulf16s::m#0 )
|
||||
[237] if(mulf16s::b#0>=0) goto mulf16s::@2
|
||||
to:mulf16s::@4
|
||||
mulf16s::@4: scope:[mulf16s] from mulf16s::@1
|
||||
[238] mulf16s::$9 = > mulf16s::m#5
|
||||
[238] mulf16s::$9 = _word1_ mulf16s::m#5
|
||||
[239] mulf16s::$12 = mulf16s::$9 - (word)mulf16s::a#0
|
||||
[240] mulf16s::m#2 = mulf16s::m#5 hi= mulf16s::$12
|
||||
[240] mulf16s::m#2 = mulf16s::m#5 word1= mulf16s::$12
|
||||
to:mulf16s::@2
|
||||
mulf16s::@2: scope:[mulf16s] from mulf16s::@1 mulf16s::@4
|
||||
[241] mulf16s::m#4 = phi( mulf16s::@1/mulf16s::m#5, mulf16s::@4/mulf16s::m#2 )
|
||||
@ -602,11 +602,11 @@ void print_ulong(dword print_ulong::dw)
|
||||
print_ulong: scope:[print_ulong] from mul16u_error::@5 mul16u_error::@7 mul16u_error::@9 print_slong::@2
|
||||
[277] print_char_cursor#141 = phi( mul16u_error::@5/print_char_cursor#1, mul16u_error::@7/print_char_cursor#1, mul16u_error::@9/print_char_cursor#1, print_slong::@2/print_char_cursor#21 )
|
||||
[277] print_ulong::dw#4 = phi( mul16u_error::@5/print_ulong::dw#1, mul16u_error::@7/print_ulong::dw#2, mul16u_error::@9/print_ulong::dw#3, print_slong::@2/print_ulong::dw#0 )
|
||||
[278] print_uint::w#1 = > print_ulong::dw#4
|
||||
[278] print_uint::w#1 = _word1_ print_ulong::dw#4
|
||||
[279] call print_uint
|
||||
to:print_ulong::@1
|
||||
print_ulong::@1: scope:[print_ulong] from print_ulong
|
||||
[280] print_uint::w#2 = < print_ulong::dw#4
|
||||
[280] print_uint::w#2 = _word0_ print_ulong::dw#4
|
||||
[281] call print_uint
|
||||
to:print_ulong::@return
|
||||
print_ulong::@return: scope:[print_ulong] from print_ulong::@1
|
||||
|
File diff suppressed because one or more lines are too long
@ -150,16 +150,16 @@ mulf_init: {
|
||||
inc.z sqr+1
|
||||
!:
|
||||
__b3:
|
||||
// <sqr
|
||||
// BYTE0(sqr)
|
||||
lda.z sqr
|
||||
// *sqr1_lo = <sqr
|
||||
// *sqr1_lo = BYTE0(sqr)
|
||||
ldy #0
|
||||
sta (sqr1_lo),y
|
||||
// >sqr
|
||||
// BYTE1(sqr)
|
||||
lda.z sqr+1
|
||||
// *sqr1_hi++ = >sqr
|
||||
// *sqr1_hi++ = BYTE1(sqr)
|
||||
sta (sqr1_hi),y
|
||||
// *sqr1_hi++ = >sqr;
|
||||
// *sqr1_hi++ = BYTE1(sqr);
|
||||
inc.z sqr1_hi
|
||||
bne !+
|
||||
inc.z sqr1_hi+1
|
||||
@ -607,10 +607,10 @@ print_ln: {
|
||||
// print_uint(word zp(2) w)
|
||||
print_uint: {
|
||||
.label w = 2
|
||||
// print_uchar(>w)
|
||||
// print_uchar(BYTE1(w))
|
||||
ldx.z w+1
|
||||
jsr print_uchar
|
||||
// print_uchar(<w)
|
||||
// print_uchar(BYTE0(w))
|
||||
ldx.z w
|
||||
jsr print_uchar
|
||||
// }
|
||||
@ -877,9 +877,9 @@ mul8s: {
|
||||
lda.z a
|
||||
cmp #0
|
||||
bpl __b1
|
||||
// >m
|
||||
// BYTE1(m)
|
||||
lda.z m+1
|
||||
// >m = (>m)-(char)b
|
||||
// BYTE1(m) = BYTE1(m)-(char)b
|
||||
sty.z $ff
|
||||
sec
|
||||
sbc.z $ff
|
||||
@ -888,9 +888,9 @@ mul8s: {
|
||||
// if(b<0)
|
||||
cpy #0
|
||||
bpl __b2
|
||||
// >m
|
||||
// BYTE1(m)
|
||||
lda.z m+1
|
||||
// >m = (>m)-(char)a
|
||||
// BYTE1(m) = BYTE1(m)-(char)a
|
||||
sec
|
||||
sbc.z a
|
||||
sta.z m+1
|
||||
@ -1064,9 +1064,9 @@ mulf8s_prepared: {
|
||||
lda memA
|
||||
cmp #0
|
||||
bpl __b1
|
||||
// >m
|
||||
// BYTE1(m)
|
||||
lda.z m+1
|
||||
// >m = (>m)-(char)b
|
||||
// BYTE1(m) = BYTE1(m)-(char)b
|
||||
sec
|
||||
sbc.z b
|
||||
sta.z m+1
|
||||
@ -1075,9 +1075,9 @@ mulf8s_prepared: {
|
||||
lda.z b
|
||||
cmp #0
|
||||
bpl __b2
|
||||
// >m
|
||||
// BYTE1(m)
|
||||
lda.z m+1
|
||||
// >m = (>m)-(char)*memA
|
||||
// BYTE1(m) = BYTE1(m)-(char)*memA
|
||||
sec
|
||||
sbc memA
|
||||
sta.z m+1
|
||||
|
@ -555,7 +555,7 @@ mul8s::@5: scope:[mul8s] from mul8s
|
||||
mul8s::@3: scope:[mul8s] from mul8s::@5
|
||||
[250] mul8s::$6 = > mul8s::m#0
|
||||
[251] mul8s::$11 = mul8s::$6 - (byte)mul8s::b#0
|
||||
[252] mul8s::m#1 = mul8s::m#0 hi= mul8s::$11
|
||||
[252] mul8s::m#1 = mul8s::m#0 byte1= mul8s::$11
|
||||
to:mul8s::@1
|
||||
mul8s::@1: scope:[mul8s] from mul8s::@3 mul8s::@5
|
||||
[253] mul8s::m#5 = phi( mul8s::@3/mul8s::m#1, mul8s::@5/mul8s::m#0 )
|
||||
@ -564,7 +564,7 @@ mul8s::@1: scope:[mul8s] from mul8s::@3 mul8s::@5
|
||||
mul8s::@4: scope:[mul8s] from mul8s::@1
|
||||
[255] mul8s::$9 = > mul8s::m#5
|
||||
[256] mul8s::$12 = mul8s::$9 - (byte)mul8s::a#0
|
||||
[257] mul8s::m#2 = mul8s::m#5 hi= mul8s::$12
|
||||
[257] mul8s::m#2 = mul8s::m#5 byte1= mul8s::$12
|
||||
to:mul8s::@2
|
||||
mul8s::@2: scope:[mul8s] from mul8s::@1 mul8s::@4
|
||||
[258] mul8s::m#4 = phi( mul8s::@1/mul8s::m#5, mul8s::@4/mul8s::m#2 )
|
||||
@ -684,7 +684,7 @@ mulf8s_prepared::@5: scope:[mulf8s_prepared] from mulf8s_prepared
|
||||
mulf8s_prepared::@3: scope:[mulf8s_prepared] from mulf8s_prepared::@5
|
||||
[309] mulf8s_prepared::$6 = > mulf8s_prepared::m#0
|
||||
[310] mulf8s_prepared::$11 = mulf8s_prepared::$6 - (byte)mulf8s_prepared::b#0
|
||||
[311] mulf8s_prepared::m#1 = mulf8s_prepared::m#0 hi= mulf8s_prepared::$11
|
||||
[311] mulf8s_prepared::m#1 = mulf8s_prepared::m#0 byte1= mulf8s_prepared::$11
|
||||
to:mulf8s_prepared::@1
|
||||
mulf8s_prepared::@1: scope:[mulf8s_prepared] from mulf8s_prepared::@3 mulf8s_prepared::@5
|
||||
[312] mulf8s_prepared::m#5 = phi( mulf8s_prepared::@3/mulf8s_prepared::m#1, mulf8s_prepared::@5/mulf8s_prepared::m#0 )
|
||||
@ -693,7 +693,7 @@ mulf8s_prepared::@1: scope:[mulf8s_prepared] from mulf8s_prepared::@3 mulf8s_pr
|
||||
mulf8s_prepared::@4: scope:[mulf8s_prepared] from mulf8s_prepared::@1
|
||||
[314] mulf8s_prepared::$9 = > mulf8s_prepared::m#5
|
||||
[315] mulf8s_prepared::$12 = mulf8s_prepared::$9 - (byte)*mulf8s_prepared::memA
|
||||
[316] mulf8s_prepared::m#2 = mulf8s_prepared::m#5 hi= mulf8s_prepared::$12
|
||||
[316] mulf8s_prepared::m#2 = mulf8s_prepared::m#5 byte1= mulf8s_prepared::$12
|
||||
to:mulf8s_prepared::@2
|
||||
mulf8s_prepared::@2: scope:[mulf8s_prepared] from mulf8s_prepared::@1 mulf8s_prepared::@4
|
||||
[317] mulf8s_prepared::m#4 = phi( mulf8s_prepared::@1/mulf8s_prepared::m#5, mulf8s_prepared::@4/mulf8s_prepared::m#2 )
|
||||
|
@ -366,7 +366,7 @@ mul8s::@3: scope:[mul8s] from mul8s::@5
|
||||
mul8s::$13 = (byte)mul8s::b#3
|
||||
mul8s::$7 = mul8s::$6 - mul8s::$13
|
||||
mul8s::$11 = mul8s::$7
|
||||
mul8s::m#1 = mul8s::m#3 hi= mul8s::$11
|
||||
mul8s::m#1 = mul8s::m#3 byte1= mul8s::$11
|
||||
to:mul8s::@1
|
||||
mul8s::@2: scope:[mul8s] from mul8s::@1 mul8s::@4
|
||||
mul8s::m#4 = phi( mul8s::@1/mul8s::m#6, mul8s::@4/mul8s::m#2 )
|
||||
@ -379,7 +379,7 @@ mul8s::@4: scope:[mul8s] from mul8s::@1
|
||||
mul8s::$14 = (byte)mul8s::a#3
|
||||
mul8s::$10 = mul8s::$9 - mul8s::$14
|
||||
mul8s::$12 = mul8s::$10
|
||||
mul8s::m#2 = mul8s::m#5 hi= mul8s::$12
|
||||
mul8s::m#2 = mul8s::m#5 byte1= mul8s::$12
|
||||
to:mul8s::@2
|
||||
mul8s::@return: scope:[mul8s] from mul8s::@2
|
||||
mul8s::return#3 = phi( mul8s::@2/mul8s::return#0 )
|
||||
@ -566,7 +566,7 @@ mulf8s_prepared::@3: scope:[mulf8s_prepared] from mulf8s_prepared::@5
|
||||
mulf8s_prepared::$13 = (byte)mulf8s_prepared::b#3
|
||||
mulf8s_prepared::$7 = mulf8s_prepared::$6 - mulf8s_prepared::$13
|
||||
mulf8s_prepared::$11 = mulf8s_prepared::$7
|
||||
mulf8s_prepared::m#1 = mulf8s_prepared::m#3 hi= mulf8s_prepared::$11
|
||||
mulf8s_prepared::m#1 = mulf8s_prepared::m#3 byte1= mulf8s_prepared::$11
|
||||
to:mulf8s_prepared::@1
|
||||
mulf8s_prepared::@2: scope:[mulf8s_prepared] from mulf8s_prepared::@1 mulf8s_prepared::@4
|
||||
mulf8s_prepared::m#4 = phi( mulf8s_prepared::@1/mulf8s_prepared::m#6, mulf8s_prepared::@4/mulf8s_prepared::m#2 )
|
||||
@ -578,7 +578,7 @@ mulf8s_prepared::@4: scope:[mulf8s_prepared] from mulf8s_prepared::@1
|
||||
mulf8s_prepared::$14 = (byte)*mulf8s_prepared::memA
|
||||
mulf8s_prepared::$10 = mulf8s_prepared::$9 - mulf8s_prepared::$14
|
||||
mulf8s_prepared::$12 = mulf8s_prepared::$10
|
||||
mulf8s_prepared::m#2 = mulf8s_prepared::m#5 hi= mulf8s_prepared::$12
|
||||
mulf8s_prepared::m#2 = mulf8s_prepared::m#5 byte1= mulf8s_prepared::$12
|
||||
to:mulf8s_prepared::@2
|
||||
mulf8s_prepared::@return: scope:[mulf8s_prepared] from mulf8s_prepared::@2
|
||||
mulf8s_prepared::return#3 = phi( mulf8s_prepared::@2/mulf8s_prepared::return#0 )
|
||||
@ -4311,7 +4311,7 @@ mul8s::@5: scope:[mul8s] from mul8s
|
||||
mul8s::@3: scope:[mul8s] from mul8s::@5
|
||||
[250] mul8s::$6 = > mul8s::m#0
|
||||
[251] mul8s::$11 = mul8s::$6 - (byte)mul8s::b#0
|
||||
[252] mul8s::m#1 = mul8s::m#0 hi= mul8s::$11
|
||||
[252] mul8s::m#1 = mul8s::m#0 byte1= mul8s::$11
|
||||
to:mul8s::@1
|
||||
mul8s::@1: scope:[mul8s] from mul8s::@3 mul8s::@5
|
||||
[253] mul8s::m#5 = phi( mul8s::@3/mul8s::m#1, mul8s::@5/mul8s::m#0 )
|
||||
@ -4320,7 +4320,7 @@ mul8s::@1: scope:[mul8s] from mul8s::@3 mul8s::@5
|
||||
mul8s::@4: scope:[mul8s] from mul8s::@1
|
||||
[255] mul8s::$9 = > mul8s::m#5
|
||||
[256] mul8s::$12 = mul8s::$9 - (byte)mul8s::a#0
|
||||
[257] mul8s::m#2 = mul8s::m#5 hi= mul8s::$12
|
||||
[257] mul8s::m#2 = mul8s::m#5 byte1= mul8s::$12
|
||||
to:mul8s::@2
|
||||
mul8s::@2: scope:[mul8s] from mul8s::@1 mul8s::@4
|
||||
[258] mul8s::m#4 = phi( mul8s::@1/mul8s::m#5, mul8s::@4/mul8s::m#2 )
|
||||
@ -4440,7 +4440,7 @@ mulf8s_prepared::@5: scope:[mulf8s_prepared] from mulf8s_prepared
|
||||
mulf8s_prepared::@3: scope:[mulf8s_prepared] from mulf8s_prepared::@5
|
||||
[309] mulf8s_prepared::$6 = > mulf8s_prepared::m#0
|
||||
[310] mulf8s_prepared::$11 = mulf8s_prepared::$6 - (byte)mulf8s_prepared::b#0
|
||||
[311] mulf8s_prepared::m#1 = mulf8s_prepared::m#0 hi= mulf8s_prepared::$11
|
||||
[311] mulf8s_prepared::m#1 = mulf8s_prepared::m#0 byte1= mulf8s_prepared::$11
|
||||
to:mulf8s_prepared::@1
|
||||
mulf8s_prepared::@1: scope:[mulf8s_prepared] from mulf8s_prepared::@3 mulf8s_prepared::@5
|
||||
[312] mulf8s_prepared::m#5 = phi( mulf8s_prepared::@3/mulf8s_prepared::m#1, mulf8s_prepared::@5/mulf8s_prepared::m#0 )
|
||||
@ -4449,7 +4449,7 @@ mulf8s_prepared::@1: scope:[mulf8s_prepared] from mulf8s_prepared::@3 mulf8s_pr
|
||||
mulf8s_prepared::@4: scope:[mulf8s_prepared] from mulf8s_prepared::@1
|
||||
[314] mulf8s_prepared::$9 = > mulf8s_prepared::m#5
|
||||
[315] mulf8s_prepared::$12 = mulf8s_prepared::$9 - (byte)*mulf8s_prepared::memA
|
||||
[316] mulf8s_prepared::m#2 = mulf8s_prepared::m#5 hi= mulf8s_prepared::$12
|
||||
[316] mulf8s_prepared::m#2 = mulf8s_prepared::m#5 byte1= mulf8s_prepared::$12
|
||||
to:mulf8s_prepared::@2
|
||||
mulf8s_prepared::@2: scope:[mulf8s_prepared] from mulf8s_prepared::@1 mulf8s_prepared::@4
|
||||
[317] mulf8s_prepared::m#4 = phi( mulf8s_prepared::@1/mulf8s_prepared::m#5, mulf8s_prepared::@4/mulf8s_prepared::m#2 )
|
||||
@ -5790,12 +5790,12 @@ mulf_init: {
|
||||
jmp __b3
|
||||
// mulf_init::@3
|
||||
__b3:
|
||||
// [38] mulf_init::$4 = < mulf_init::sqr#3 -- vbuaa=_lo_vwuz1
|
||||
// [38] mulf_init::$4 = < mulf_init::sqr#3 -- vbuaa=_byte0_vwuz1
|
||||
lda.z sqr
|
||||
// [39] *mulf_init::sqr1_lo#2 = mulf_init::$4 -- _deref_pbuz1=vbuaa
|
||||
ldy #0
|
||||
sta (sqr1_lo),y
|
||||
// [40] mulf_init::$5 = > mulf_init::sqr#3 -- vbuaa=_hi_vwuz1
|
||||
// [40] mulf_init::$5 = > mulf_init::sqr#3 -- vbuaa=_byte1_vwuz1
|
||||
lda.z sqr+1
|
||||
// [41] *mulf_init::sqr1_hi#2 = mulf_init::$5 -- _deref_pbuz1=vbuaa
|
||||
ldy #0
|
||||
@ -6578,7 +6578,7 @@ print_ln: {
|
||||
// print_uint(word zp(2) w)
|
||||
print_uint: {
|
||||
.label w = 2
|
||||
// [172] print_uchar::b#1 = > print_uint::w#6 -- vbuxx=_hi_vwuz1
|
||||
// [172] print_uchar::b#1 = > print_uint::w#6 -- vbuxx=_byte1_vwuz1
|
||||
ldx.z w+1
|
||||
// [173] call print_uchar
|
||||
// [287] phi from print_uint to print_uchar [phi:print_uint->print_uchar]
|
||||
@ -6589,7 +6589,7 @@ print_uint: {
|
||||
jmp __b1
|
||||
// print_uint::@1
|
||||
__b1:
|
||||
// [174] print_uchar::b#2 = < print_uint::w#6 -- vbuxx=_lo_vwuz1
|
||||
// [174] print_uchar::b#2 = < print_uint::w#6 -- vbuxx=_byte0_vwuz1
|
||||
ldx.z w
|
||||
// [175] call print_uchar
|
||||
// [287] phi from print_uint::@1 to print_uchar [phi:print_uint::@1->print_uchar]
|
||||
@ -7102,13 +7102,13 @@ mul8s: {
|
||||
jmp __b3
|
||||
// mul8s::@3
|
||||
__b3:
|
||||
// [250] mul8s::$6 = > mul8s::m#0 -- vbuaa=_hi_vwuz1
|
||||
// [250] mul8s::$6 = > mul8s::m#0 -- vbuaa=_byte1_vwuz1
|
||||
lda.z m+1
|
||||
// [251] mul8s::$11 = mul8s::$6 - (byte)mul8s::b#0 -- vbuaa=vbuaa_minus_vbuyy
|
||||
sty.z $ff
|
||||
sec
|
||||
sbc.z $ff
|
||||
// [252] mul8s::m#1 = mul8s::m#0 hi= mul8s::$11 -- vwuz1=vwuz1_sethi_vbuaa
|
||||
// [252] mul8s::m#1 = mul8s::m#0 byte1= mul8s::$11 -- vwuz1=vwuz1_setbyte1_vbuaa
|
||||
sta.z m+1
|
||||
// [253] phi from mul8s::@3 mul8s::@5 to mul8s::@1 [phi:mul8s::@3/mul8s::@5->mul8s::@1]
|
||||
__b1_from___b3:
|
||||
@ -7123,12 +7123,12 @@ mul8s: {
|
||||
jmp __b4
|
||||
// mul8s::@4
|
||||
__b4:
|
||||
// [255] mul8s::$9 = > mul8s::m#5 -- vbuaa=_hi_vwuz1
|
||||
// [255] mul8s::$9 = > mul8s::m#5 -- vbuaa=_byte1_vwuz1
|
||||
lda.z m+1
|
||||
// [256] mul8s::$12 = mul8s::$9 - (byte)mul8s::a#0 -- vbuaa=vbuaa_minus_vbuz1
|
||||
sec
|
||||
sbc.z a
|
||||
// [257] mul8s::m#2 = mul8s::m#5 hi= mul8s::$12 -- vwuz1=vwuz1_sethi_vbuaa
|
||||
// [257] mul8s::m#2 = mul8s::m#5 byte1= mul8s::$12 -- vwuz1=vwuz1_setbyte1_vbuaa
|
||||
sta.z m+1
|
||||
// [258] phi from mul8s::@1 mul8s::@4 to mul8s::@2 [phi:mul8s::@1/mul8s::@4->mul8s::@2]
|
||||
__b2_from___b1:
|
||||
@ -7439,12 +7439,12 @@ mulf8s_prepared: {
|
||||
jmp __b3
|
||||
// mulf8s_prepared::@3
|
||||
__b3:
|
||||
// [309] mulf8s_prepared::$6 = > mulf8s_prepared::m#0 -- vbuaa=_hi_vwuz1
|
||||
// [309] mulf8s_prepared::$6 = > mulf8s_prepared::m#0 -- vbuaa=_byte1_vwuz1
|
||||
lda.z m+1
|
||||
// [310] mulf8s_prepared::$11 = mulf8s_prepared::$6 - (byte)mulf8s_prepared::b#0 -- vbuaa=vbuaa_minus_vbuz1
|
||||
sec
|
||||
sbc.z b
|
||||
// [311] mulf8s_prepared::m#1 = mulf8s_prepared::m#0 hi= mulf8s_prepared::$11 -- vwuz1=vwuz1_sethi_vbuaa
|
||||
// [311] mulf8s_prepared::m#1 = mulf8s_prepared::m#0 byte1= mulf8s_prepared::$11 -- vwuz1=vwuz1_setbyte1_vbuaa
|
||||
sta.z m+1
|
||||
// [312] phi from mulf8s_prepared::@3 mulf8s_prepared::@5 to mulf8s_prepared::@1 [phi:mulf8s_prepared::@3/mulf8s_prepared::@5->mulf8s_prepared::@1]
|
||||
__b1_from___b3:
|
||||
@ -7460,12 +7460,12 @@ mulf8s_prepared: {
|
||||
jmp __b4
|
||||
// mulf8s_prepared::@4
|
||||
__b4:
|
||||
// [314] mulf8s_prepared::$9 = > mulf8s_prepared::m#5 -- vbuaa=_hi_vwuz1
|
||||
// [314] mulf8s_prepared::$9 = > mulf8s_prepared::m#5 -- vbuaa=_byte1_vwuz1
|
||||
lda.z m+1
|
||||
// [315] mulf8s_prepared::$12 = mulf8s_prepared::$9 - (byte)*mulf8s_prepared::memA -- vbuaa=vbuaa_minus__deref_pbuc1
|
||||
sec
|
||||
sbc memA
|
||||
// [316] mulf8s_prepared::m#2 = mulf8s_prepared::m#5 hi= mulf8s_prepared::$12 -- vwuz1=vwuz1_sethi_vbuaa
|
||||
// [316] mulf8s_prepared::m#2 = mulf8s_prepared::m#5 byte1= mulf8s_prepared::$12 -- vwuz1=vwuz1_setbyte1_vbuaa
|
||||
sta.z m+1
|
||||
// [317] phi from mulf8s_prepared::@1 mulf8s_prepared::@4 to mulf8s_prepared::@2 [phi:mulf8s_prepared::@1/mulf8s_prepared::@4->mulf8s_prepared::@2]
|
||||
__b2_from___b1:
|
||||
@ -8698,20 +8698,20 @@ mulf_init: {
|
||||
// [37] phi mulf_init::sqr#3 = mulf_init::sqr#4 [phi:mulf_init::@2/mulf_init::@4->mulf_init::@3#1] -- register_copy
|
||||
// mulf_init::@3
|
||||
__b3:
|
||||
// <sqr
|
||||
// [38] mulf_init::$4 = < mulf_init::sqr#3 -- vbuaa=_lo_vwuz1
|
||||
// BYTE0(sqr)
|
||||
// [38] mulf_init::$4 = < mulf_init::sqr#3 -- vbuaa=_byte0_vwuz1
|
||||
lda.z sqr
|
||||
// *sqr1_lo = <sqr
|
||||
// *sqr1_lo = BYTE0(sqr)
|
||||
// [39] *mulf_init::sqr1_lo#2 = mulf_init::$4 -- _deref_pbuz1=vbuaa
|
||||
ldy #0
|
||||
sta (sqr1_lo),y
|
||||
// >sqr
|
||||
// [40] mulf_init::$5 = > mulf_init::sqr#3 -- vbuaa=_hi_vwuz1
|
||||
// BYTE1(sqr)
|
||||
// [40] mulf_init::$5 = > mulf_init::sqr#3 -- vbuaa=_byte1_vwuz1
|
||||
lda.z sqr+1
|
||||
// *sqr1_hi++ = >sqr
|
||||
// *sqr1_hi++ = BYTE1(sqr)
|
||||
// [41] *mulf_init::sqr1_hi#2 = mulf_init::$5 -- _deref_pbuz1=vbuaa
|
||||
sta (sqr1_hi),y
|
||||
// *sqr1_hi++ = >sqr;
|
||||
// *sqr1_hi++ = BYTE1(sqr);
|
||||
// [42] mulf_init::sqr1_hi#1 = ++ mulf_init::sqr1_hi#2 -- pbuz1=_inc_pbuz1
|
||||
inc.z sqr1_hi
|
||||
bne !+
|
||||
@ -9426,8 +9426,8 @@ print_ln: {
|
||||
// print_uint(word zp(2) w)
|
||||
print_uint: {
|
||||
.label w = 2
|
||||
// print_uchar(>w)
|
||||
// [172] print_uchar::b#1 = > print_uint::w#6 -- vbuxx=_hi_vwuz1
|
||||
// print_uchar(BYTE1(w))
|
||||
// [172] print_uchar::b#1 = > print_uint::w#6 -- vbuxx=_byte1_vwuz1
|
||||
ldx.z w+1
|
||||
// [173] call print_uchar
|
||||
// [287] phi from print_uint to print_uchar [phi:print_uint->print_uchar]
|
||||
@ -9435,8 +9435,8 @@ print_uint: {
|
||||
// [287] phi print_uchar::b#5 = print_uchar::b#1 [phi:print_uint->print_uchar#1] -- register_copy
|
||||
jsr print_uchar
|
||||
// print_uint::@1
|
||||
// print_uchar(<w)
|
||||
// [174] print_uchar::b#2 = < print_uint::w#6 -- vbuxx=_lo_vwuz1
|
||||
// print_uchar(BYTE0(w))
|
||||
// [174] print_uchar::b#2 = < print_uint::w#6 -- vbuxx=_byte0_vwuz1
|
||||
ldx.z w
|
||||
// [175] call print_uchar
|
||||
// [287] phi from print_uint::@1 to print_uchar [phi:print_uint::@1->print_uchar]
|
||||
@ -9893,15 +9893,15 @@ mul8s: {
|
||||
cmp #0
|
||||
bpl __b1
|
||||
// mul8s::@3
|
||||
// >m
|
||||
// [250] mul8s::$6 = > mul8s::m#0 -- vbuaa=_hi_vwuz1
|
||||
// BYTE1(m)
|
||||
// [250] mul8s::$6 = > mul8s::m#0 -- vbuaa=_byte1_vwuz1
|
||||
lda.z m+1
|
||||
// >m = (>m)-(char)b
|
||||
// BYTE1(m) = BYTE1(m)-(char)b
|
||||
// [251] mul8s::$11 = mul8s::$6 - (byte)mul8s::b#0 -- vbuaa=vbuaa_minus_vbuyy
|
||||
sty.z $ff
|
||||
sec
|
||||
sbc.z $ff
|
||||
// [252] mul8s::m#1 = mul8s::m#0 hi= mul8s::$11 -- vwuz1=vwuz1_sethi_vbuaa
|
||||
// [252] mul8s::m#1 = mul8s::m#0 byte1= mul8s::$11 -- vwuz1=vwuz1_setbyte1_vbuaa
|
||||
sta.z m+1
|
||||
// [253] phi from mul8s::@3 mul8s::@5 to mul8s::@1 [phi:mul8s::@3/mul8s::@5->mul8s::@1]
|
||||
// [253] phi mul8s::m#5 = mul8s::m#1 [phi:mul8s::@3/mul8s::@5->mul8s::@1#0] -- register_copy
|
||||
@ -9912,14 +9912,14 @@ mul8s: {
|
||||
cpy #0
|
||||
bpl __b2
|
||||
// mul8s::@4
|
||||
// >m
|
||||
// [255] mul8s::$9 = > mul8s::m#5 -- vbuaa=_hi_vwuz1
|
||||
// BYTE1(m)
|
||||
// [255] mul8s::$9 = > mul8s::m#5 -- vbuaa=_byte1_vwuz1
|
||||
lda.z m+1
|
||||
// >m = (>m)-(char)a
|
||||
// BYTE1(m) = BYTE1(m)-(char)a
|
||||
// [256] mul8s::$12 = mul8s::$9 - (byte)mul8s::a#0 -- vbuaa=vbuaa_minus_vbuz1
|
||||
sec
|
||||
sbc.z a
|
||||
// [257] mul8s::m#2 = mul8s::m#5 hi= mul8s::$12 -- vwuz1=vwuz1_sethi_vbuaa
|
||||
// [257] mul8s::m#2 = mul8s::m#5 byte1= mul8s::$12 -- vwuz1=vwuz1_setbyte1_vbuaa
|
||||
sta.z m+1
|
||||
// [258] phi from mul8s::@1 mul8s::@4 to mul8s::@2 [phi:mul8s::@1/mul8s::@4->mul8s::@2]
|
||||
// [258] phi mul8s::m#4 = mul8s::m#5 [phi:mul8s::@1/mul8s::@4->mul8s::@2#0] -- register_copy
|
||||
@ -10201,14 +10201,14 @@ mulf8s_prepared: {
|
||||
cmp #0
|
||||
bpl __b1
|
||||
// mulf8s_prepared::@3
|
||||
// >m
|
||||
// [309] mulf8s_prepared::$6 = > mulf8s_prepared::m#0 -- vbuaa=_hi_vwuz1
|
||||
// BYTE1(m)
|
||||
// [309] mulf8s_prepared::$6 = > mulf8s_prepared::m#0 -- vbuaa=_byte1_vwuz1
|
||||
lda.z m+1
|
||||
// >m = (>m)-(char)b
|
||||
// BYTE1(m) = BYTE1(m)-(char)b
|
||||
// [310] mulf8s_prepared::$11 = mulf8s_prepared::$6 - (byte)mulf8s_prepared::b#0 -- vbuaa=vbuaa_minus_vbuz1
|
||||
sec
|
||||
sbc.z b
|
||||
// [311] mulf8s_prepared::m#1 = mulf8s_prepared::m#0 hi= mulf8s_prepared::$11 -- vwuz1=vwuz1_sethi_vbuaa
|
||||
// [311] mulf8s_prepared::m#1 = mulf8s_prepared::m#0 byte1= mulf8s_prepared::$11 -- vwuz1=vwuz1_setbyte1_vbuaa
|
||||
sta.z m+1
|
||||
// [312] phi from mulf8s_prepared::@3 mulf8s_prepared::@5 to mulf8s_prepared::@1 [phi:mulf8s_prepared::@3/mulf8s_prepared::@5->mulf8s_prepared::@1]
|
||||
// [312] phi mulf8s_prepared::m#5 = mulf8s_prepared::m#1 [phi:mulf8s_prepared::@3/mulf8s_prepared::@5->mulf8s_prepared::@1#0] -- register_copy
|
||||
@ -10220,14 +10220,14 @@ mulf8s_prepared: {
|
||||
cmp #0
|
||||
bpl __b2
|
||||
// mulf8s_prepared::@4
|
||||
// >m
|
||||
// [314] mulf8s_prepared::$9 = > mulf8s_prepared::m#5 -- vbuaa=_hi_vwuz1
|
||||
// BYTE1(m)
|
||||
// [314] mulf8s_prepared::$9 = > mulf8s_prepared::m#5 -- vbuaa=_byte1_vwuz1
|
||||
lda.z m+1
|
||||
// >m = (>m)-(char)*memA
|
||||
// BYTE1(m) = BYTE1(m)-(char)*memA
|
||||
// [315] mulf8s_prepared::$12 = mulf8s_prepared::$9 - (byte)*mulf8s_prepared::memA -- vbuaa=vbuaa_minus__deref_pbuc1
|
||||
sec
|
||||
sbc memA
|
||||
// [316] mulf8s_prepared::m#2 = mulf8s_prepared::m#5 hi= mulf8s_prepared::$12 -- vwuz1=vwuz1_sethi_vbuaa
|
||||
// [316] mulf8s_prepared::m#2 = mulf8s_prepared::m#5 byte1= mulf8s_prepared::$12 -- vwuz1=vwuz1_setbyte1_vbuaa
|
||||
sta.z m+1
|
||||
// [317] phi from mulf8s_prepared::@1 mulf8s_prepared::@4 to mulf8s_prepared::@2 [phi:mulf8s_prepared::@1/mulf8s_prepared::@4->mulf8s_prepared::@2]
|
||||
// [317] phi mulf8s_prepared::m#4 = mulf8s_prepared::m#5 [phi:mulf8s_prepared::@1/mulf8s_prepared::@4->mulf8s_prepared::@2#0] -- register_copy
|
||||
|
Loading…
Reference in New Issue
Block a user