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

Updated tests.

This commit is contained in:
jespergravgaard 2020-10-30 16:41:58 +01:00
parent e8ccd96d07
commit 6daf5ee97a
16 changed files with 19528 additions and 61 deletions

View File

@ -1,4 +1,4 @@
//KICKC FRAGMENT CACHE 1159daa903 1159dac53a
//KICKC FRAGMENT CACHE 107d6cfa86 107d6d178e
//FRAGMENT vbuz1=vbuc1
lda #{c1}
sta {z1}

View File

@ -1,4 +1,4 @@
//KICKC FRAGMENT CACHE 1159daa903 1159dac53a
//KICKC FRAGMENT CACHE 107d6cfa86 107d6d178e
//FRAGMENT _deref_pbuc1=vbuc2
lda #{c2}
sta {c1}

View File

@ -1,4 +1,4 @@
//KICKC FRAGMENT CACHE 1159daa903 1159dac53a
//KICKC FRAGMENT CACHE 107d6cfa86 107d6d178e
//FRAGMENT vbuz1=vbuc1
lda #{c1}
sta {z1}

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
//KICKC FRAGMENT CACHE 1159daa903 1159dac53a
//KICKC FRAGMENT CACHE 107d6cfa86 107d6d178e
//FRAGMENT vbuz1=_deref_pbuc1
lda {c1}
sta {z1}

View File

@ -3929,8 +3929,8 @@ Uplift Scope [init_irq]
Uplift Scope [irq]
Uplift Scope [__start]
Uplifting [mul16u] best 27647 combination zp[4]:45 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] zp[4]:49 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] reg byte a [ mul16u::$1 ] zp[2]:43 [ mul16u::a#3 mul16u::a#6 mul16u::a#1 mul16u::a#2 mul16u::a#0 ] zp[2]:41 [ mul16u::b#2 mul16u::b#0 mul16u::b#1 ] zp[4]:211 [ mul16u::return#3 ] zp[4]:137 [ mul16u::return#2 ]
Uplifting [divr16u] best 27437 combination zp[2]:53 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp[2]:57 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp[2]:55 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] zp[2]:160 [ divr16u::return#2 ] zp[2]:164 [ divr16u::return#3 ]
Uplifting [mul16u] best 27649 combination zp[4]:45 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] zp[4]:49 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] reg byte a [ mul16u::$1 ] zp[2]:43 [ mul16u::a#3 mul16u::a#6 mul16u::a#1 mul16u::a#2 mul16u::a#0 ] zp[2]:41 [ mul16u::b#2 mul16u::b#0 mul16u::b#1 ] zp[4]:211 [ mul16u::return#3 ] zp[4]:137 [ mul16u::return#2 ]
Uplifting [divr16u] best 27439 combination zp[2]:53 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp[2]:57 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp[2]:55 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] zp[2]:160 [ divr16u::return#2 ] zp[2]:164 [ divr16u::return#3 ]
Uplifting [mulu16_sel] best 27421 combination zp[2]:60 [ mulu16_sel::v1#5 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#3 ] zp[4]:215 [ mulu16_sel::$0 ] zp[4]:219 [ mulu16_sel::$1 ] zp[2]:62 [ mulu16_sel::v2#5 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#3 ] zp[2]:223 [ mulu16_sel::return#12 ] zp[2]:178 [ mulu16_sel::return#0 ] zp[2]:182 [ mulu16_sel::return#1 ] zp[2]:186 [ mulu16_sel::return#2 ] zp[2]:192 [ mulu16_sel::return#10 ] zp[2]:196 [ mulu16_sel::return#11 ] reg byte x [ mulu16_sel::select#5 ]
Uplifting [sin16s] best 27412 combination zp[4]:28 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] zp[2]:32 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] zp[4]:172 [ sin16s::$4 ] zp[2]:180 [ sin16s::x2#0 ] zp[2]:188 [ sin16s::x3_6#0 ] zp[2]:194 [ sin16s::x4#0 ] zp[2]:198 [ sin16s::x5#0 ] zp[2]:200 [ sin16s::x5_128#0 ] zp[2]:184 [ sin16s::x3#0 ] zp[2]:202 [ sin16s::usinx#1 ] zp[2]:176 [ sin16s::x1#0 ] zp[2]:121 [ sin16s::return#0 ] zp[2]:190 [ sin16s::usinx#0 ] reg byte y [ sin16s::isUpper#2 ]
Uplifting [mul16s] best 27412 combination zp[4]:23 [ mul16s::m#4 mul16s::m#5 mul16s::m#1 mul16s::m#0 mul16s::m#2 ] zp[2]:141 [ mul16s::$6 ] zp[2]:143 [ mul16s::$11 ] zp[2]:145 [ mul16s::$9 ] zp[2]:147 [ mul16s::$12 ] zp[2]:19 [ mul16s::a#3 mul16s::a#0 ] zp[4]:149 [ mul16s::return#0 ] zp[4]:123 [ mul16s::return#2 ] zp[2]:21 [ mul16s::b#3 mul16s::b#2 mul16s::b#1 ] zp[4]:72 [ mul16s::return#3 ] zp[4]:94 [ mul16s::return#4 ]

View File

@ -4154,8 +4154,8 @@ Uplift Scope [init_irq]
Uplift Scope [irq]
Uplift Scope [__start]
Uplifting [mul16u] best 27572 combination zp[4]:48 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] zp[4]:52 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] reg byte a [ mul16u::$1 ] zp[2]:46 [ mul16u::a#3 mul16u::a#6 mul16u::a#1 mul16u::a#2 mul16u::a#0 ] zp[2]:44 [ mul16u::b#2 mul16u::b#0 mul16u::b#1 ] zp[4]:210 [ mul16u::return#3 ] zp[4]:136 [ mul16u::return#2 ]
Uplifting [divr16u] best 27362 combination zp[2]:56 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp[2]:60 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp[2]:58 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] zp[2]:159 [ divr16u::return#2 ] zp[2]:163 [ divr16u::return#3 ]
Uplifting [mul16u] best 27574 combination zp[4]:48 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] zp[4]:52 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] reg byte a [ mul16u::$1 ] zp[2]:46 [ mul16u::a#3 mul16u::a#6 mul16u::a#1 mul16u::a#2 mul16u::a#0 ] zp[2]:44 [ mul16u::b#2 mul16u::b#0 mul16u::b#1 ] zp[4]:210 [ mul16u::return#3 ] zp[4]:136 [ mul16u::return#2 ]
Uplifting [divr16u] best 27364 combination zp[2]:56 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp[2]:60 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp[2]:58 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] zp[2]:159 [ divr16u::return#2 ] zp[2]:163 [ divr16u::return#3 ]
Uplifting [mulu16_sel] best 27346 combination zp[2]:63 [ mulu16_sel::v1#5 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#3 ] zp[4]:214 [ mulu16_sel::$0 ] zp[4]:218 [ mulu16_sel::$1 ] zp[2]:65 [ mulu16_sel::v2#5 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#3 ] zp[2]:222 [ mulu16_sel::return#12 ] zp[2]:177 [ mulu16_sel::return#0 ] zp[2]:181 [ mulu16_sel::return#1 ] zp[2]:185 [ mulu16_sel::return#2 ] zp[2]:191 [ mulu16_sel::return#10 ] zp[2]:195 [ mulu16_sel::return#11 ] reg byte x [ mulu16_sel::select#5 ]
Uplifting [sin16s] best 27337 combination zp[4]:31 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] zp[2]:35 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] zp[4]:171 [ sin16s::$4 ] zp[2]:179 [ sin16s::x2#0 ] zp[2]:187 [ sin16s::x3_6#0 ] zp[2]:193 [ sin16s::x4#0 ] zp[2]:197 [ sin16s::x5#0 ] zp[2]:199 [ sin16s::x5_128#0 ] zp[2]:183 [ sin16s::x3#0 ] zp[2]:201 [ sin16s::usinx#1 ] zp[2]:175 [ sin16s::x1#0 ] zp[2]:120 [ sin16s::return#0 ] zp[2]:189 [ sin16s::usinx#0 ] reg byte y [ sin16s::isUpper#2 ]
Uplifting [mul16s] best 27337 combination zp[4]:26 [ mul16s::m#4 mul16s::m#5 mul16s::m#1 mul16s::m#0 mul16s::m#2 ] zp[2]:140 [ mul16s::$6 ] zp[2]:142 [ mul16s::$11 ] zp[2]:144 [ mul16s::$9 ] zp[2]:146 [ mul16s::$12 ] zp[2]:22 [ mul16s::a#3 mul16s::a#2 mul16s::a#1 mul16s::a#0 ] zp[4]:148 [ mul16s::return#0 ] zp[4]:122 [ mul16s::return#2 ] zp[2]:24 [ mul16s::b#3 mul16s::b#2 mul16s::b#1 ] zp[4]:75 [ mul16s::return#3 ] zp[4]:95 [ mul16s::return#4 ]

View File

@ -57,9 +57,9 @@ main: {
// test_casting(signed_char_value)
lda.z signed_char_value
sta.z test_casting.signed_short_value
ora #$7f
bmi !+
lda #0
and #$80
beq !+
lda #$ff
!:
sta.z test_casting.signed_short_value+1
jsr test_casting

View File

@ -3497,9 +3497,9 @@ main: {
// [14] test_casting::signed_short_value#0 = main::signed_char_value#1 -- vwsz1=vbsz2
lda.z signed_char_value
sta.z test_casting.signed_short_value
ora #$7f
bmi !+
lda #0
and #$80
beq !+
lda #$ff
!:
sta.z test_casting.signed_short_value+1
// [15] call test_casting
@ -4673,9 +4673,9 @@ main: {
// [14] test_casting::signed_short_value#0 = main::signed_char_value#1 -- vwsz1=vbsz2
lda.z signed_char_value
sta.z test_casting.signed_short_value
ora #$7f
bmi !+
lda #0
and #$80
beq !+
lda #$ff
!:
sta.z test_casting.signed_short_value+1
// [15] call test_casting

View File

@ -4232,8 +4232,8 @@ Uplift Scope [MOS6526_CIA]
Uplift Scope [MOS6569_VICII]
Uplift Scope [MOS6581_SID]
Uplifting [mul16u] best 72902 combination zp[4]:49 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] zp[4]:53 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] reg byte a [ mul16u::$1 ] zp[2]:47 [ mul16u::a#3 mul16u::a#6 mul16u::a#1 mul16u::a#2 mul16u::a#0 ] zp[2]:45 [ mul16u::b#2 mul16u::b#1 ] zp[4]:166 [ mul16u::return#3 ] zp[4]:133 [ mul16u::return#2 ]
Uplifting [divr16u] best 72692 combination zp[2]:33 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp[2]:37 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp[2]:35 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] zp[2]:89 [ divr16u::return#2 ] zp[2]:93 [ divr16u::return#3 ]
Uplifting [mul16u] best 72904 combination zp[4]:49 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] zp[4]:53 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] reg byte a [ mul16u::$1 ] zp[2]:47 [ mul16u::a#3 mul16u::a#6 mul16u::a#1 mul16u::a#2 mul16u::a#0 ] zp[2]:45 [ mul16u::b#2 mul16u::b#1 ] zp[4]:166 [ mul16u::return#3 ] zp[4]:133 [ mul16u::return#2 ]
Uplifting [divr16u] best 72694 combination zp[2]:33 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp[2]:37 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp[2]:35 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] zp[2]:89 [ divr16u::return#2 ] zp[2]:93 [ divr16u::return#3 ]
Uplifting [mulu16_sel] best 72676 combination zp[2]:40 [ mulu16_sel::v1#5 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#3 ] zp[4]:170 [ mulu16_sel::$0 ] zp[4]:174 [ mulu16_sel::$1 ] zp[2]:42 [ mulu16_sel::v2#5 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#3 ] zp[2]:178 [ mulu16_sel::return#12 ] zp[2]:107 [ mulu16_sel::return#0 ] zp[2]:111 [ mulu16_sel::return#1 ] zp[2]:115 [ mulu16_sel::return#2 ] zp[2]:121 [ mulu16_sel::return#10 ] zp[2]:125 [ mulu16_sel::return#11 ] reg byte x [ mulu16_sel::select#5 ]
Uplifting [sin16s] best 72667 combination zp[4]:19 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] zp[2]:23 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] zp[4]:101 [ sin16s::$4 ] zp[2]:109 [ sin16s::x2#0 ] zp[2]:117 [ sin16s::x3_6#0 ] zp[2]:123 [ sin16s::x4#0 ] zp[2]:127 [ sin16s::x5#0 ] zp[2]:129 [ sin16s::x5_128#0 ] zp[2]:113 [ sin16s::x3#0 ] zp[2]:131 [ sin16s::usinx#1 ] zp[2]:105 [ sin16s::x1#0 ] zp[2]:67 [ sin16s::return#0 ] zp[2]:119 [ sin16s::usinx#0 ] reg byte y [ sin16s::isUpper#2 ]
Uplifting [mul16s] best 72667 combination zp[4]:25 [ mul16s::m#4 mul16s::m#1 mul16s::m#0 ] zp[2]:137 [ mul16s::$6 ] zp[2]:139 [ mul16s::$11 ] zp[4]:141 [ mul16s::return#0 ] zp[2]:69 [ mul16s::a#0 ] zp[4]:71 [ mul16s::return#2 ]

View File

@ -3880,9 +3880,9 @@ Uplift Scope [MOS6581_SID]
Uplift Scope [bitmap_clear]
Uplift Scope [main]
Uplifting [mul16u] best 31231 combination zp[4]:58 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] zp[4]:62 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] reg byte a [ mul16u::$1 ] zp[2]:56 [ mul16u::a#3 mul16u::a#6 mul16u::a#1 mul16u::a#2 mul16u::a#0 ] zp[2]:54 [ mul16u::b#2 mul16u::b#1 ] zp[4]:176 [ mul16u::return#3 ] zp[4]:152 [ mul16u::return#2 ]
Uplifting [wrap_y] best 31048 combination zp[2]:37 [ wrap_y::y#6 wrap_y::y#4 wrap_y::y#9 wrap_y::y#0 wrap_y::y#1 wrap_y::y#2 wrap_y::y#3 ] reg byte a [ wrap_y::return#2 ] reg byte a [ wrap_y::return#0 ] reg byte a [ wrap_y::return#1 ]
Uplifting [divr16u] best 30838 combination zp[2]:42 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp[2]:46 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp[2]:44 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] zp[2]:108 [ divr16u::return#2 ] zp[2]:112 [ divr16u::return#3 ]
Uplifting [mul16u] best 31233 combination zp[4]:58 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] zp[4]:62 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] reg byte a [ mul16u::$1 ] zp[2]:56 [ mul16u::a#3 mul16u::a#6 mul16u::a#1 mul16u::a#2 mul16u::a#0 ] zp[2]:54 [ mul16u::b#2 mul16u::b#1 ] zp[4]:176 [ mul16u::return#3 ] zp[4]:152 [ mul16u::return#2 ]
Uplifting [wrap_y] best 31050 combination zp[2]:37 [ wrap_y::y#6 wrap_y::y#4 wrap_y::y#9 wrap_y::y#0 wrap_y::y#1 wrap_y::y#2 wrap_y::y#3 ] reg byte a [ wrap_y::return#2 ] reg byte a [ wrap_y::return#0 ] reg byte a [ wrap_y::return#1 ]
Uplifting [divr16u] best 30840 combination zp[2]:42 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp[2]:46 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp[2]:44 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] zp[2]:108 [ divr16u::return#2 ] zp[2]:112 [ divr16u::return#3 ]
Uplifting [mulu16_sel] best 30822 combination 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 ] zp[4]:180 [ mulu16_sel::$0 ] zp[4]:184 [ mulu16_sel::$1 ] zp[2]:51 [ mulu16_sel::v2#5 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#3 ] zp[2]:188 [ mulu16_sel::return#12 ] zp[2]:126 [ mulu16_sel::return#0 ] zp[2]:130 [ mulu16_sel::return#1 ] zp[2]:134 [ mulu16_sel::return#2 ] zp[2]:140 [ mulu16_sel::return#10 ] zp[2]:144 [ mulu16_sel::return#11 ] reg byte x [ mulu16_sel::select#5 ]
Uplifting [sin16s] best 30813 combination zp[4]:27 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] zp[2]:31 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] zp[4]:120 [ sin16s::$4 ] zp[2]:128 [ sin16s::x2#0 ] zp[2]:136 [ sin16s::x3_6#0 ] zp[2]:142 [ sin16s::x4#0 ] zp[2]:146 [ sin16s::x5#0 ] zp[2]:148 [ sin16s::x5_128#0 ] zp[2]:132 [ sin16s::x3#0 ] zp[2]:150 [ sin16s::usinx#1 ] zp[2]:124 [ sin16s::x1#0 ] zp[2]:78 [ sin16s::return#0 ] zp[2]:138 [ sin16s::usinx#0 ] reg byte y [ sin16s::isUpper#2 ]
Uplifting [mul16s] best 30813 combination zp[4]:33 [ mul16s::m#4 mul16s::m#1 mul16s::m#0 ] zp[2]:156 [ mul16s::$6 ] zp[2]:158 [ mul16s::$11 ] zp[4]:160 [ mul16s::return#0 ] zp[2]:80 [ mul16s::a#0 ] zp[4]:82 [ mul16s::return#2 ]

View File

@ -184,17 +184,15 @@ anim: {
adc.z yvel_1+1
sta.z ypos+1
// xpos>>7
lda.z xpos
sta.z $ff
lda.z xpos+1
sta.z __5
lda #0
bit.z xpos+1
bpl !+
and #$80
beq !+
lda #$ff
!:
sta.z __5+1
rol.z $ff
lda.z xpos
rol
rol.z __5
rol.z __5+1
// sprite_x = xpos>>7 + 160

View File

@ -902,13 +902,13 @@ Uplift Scope [MOS6569_VICII]
Uplift Scope [MOS6581_SID]
Uplift Scope [main]
Uplifting [] best 7880 combination zp[2]:9 [ yvel#10 yvel#14 yvel#11 yvel#23 ] zp[2]:4 [ yvel_init#15 yvel_init#12 yvel#3 yvel_init#2 ] zp[2]:11 [ xpos#10 xpos#14 xpos#11 ] zp[2]:13 [ ypos#11 ypos#15 ypos#12 ] zp[2]:2 [ xvel#14 xvel#11 xvel#16 ]
Uplifting [anim] best 7874 combination zp[2]:15 [ anim::$5 ] zp[2]:19 [ anim::$7 ] reg byte a [ anim::$9 ] zp[2]:21 [ anim::sprite_y#0 ] zp[2]:17 [ anim::sprite_x#0 ]
Uplifting [init] best 7754 combination zp[2]:6 [ init::sc#2 init::sc#1 ] reg byte x [ init::i#2 init::i#1 ]
Uplifting [MOS6526_CIA] best 7754 combination
Uplifting [MOS6569_VICII] best 7754 combination
Uplifting [MOS6581_SID] best 7754 combination
Uplifting [main] best 7754 combination
Uplifting [] best 7871 combination zp[2]:9 [ yvel#10 yvel#14 yvel#11 yvel#23 ] zp[2]:4 [ yvel_init#15 yvel_init#12 yvel#3 yvel_init#2 ] zp[2]:11 [ xpos#10 xpos#14 xpos#11 ] zp[2]:13 [ ypos#11 ypos#15 ypos#12 ] zp[2]:2 [ xvel#14 xvel#11 xvel#16 ]
Uplifting [anim] best 7865 combination zp[2]:15 [ anim::$5 ] zp[2]:19 [ anim::$7 ] reg byte a [ anim::$9 ] zp[2]:21 [ anim::sprite_y#0 ] zp[2]:17 [ anim::sprite_x#0 ]
Uplifting [init] best 7745 combination zp[2]:6 [ init::sc#2 init::sc#1 ] reg byte x [ init::i#2 init::i#1 ]
Uplifting [MOS6526_CIA] best 7745 combination
Uplifting [MOS6569_VICII] best 7745 combination
Uplifting [MOS6581_SID] best 7745 combination
Uplifting [main] best 7745 combination
Coalescing zero page register [ zp[2]:15 [ anim::$5 ] ] with [ zp[2]:17 [ anim::sprite_x#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:19 [ anim::$7 ] ] with [ zp[2]:21 [ anim::sprite_y#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:6 [ init::sc#2 init::sc#1 ] ] with [ zp[2]:2 [ xvel#14 xvel#11 xvel#16 ] ]
@ -1201,17 +1201,15 @@ anim: {
adc.z yvel_1+1
sta.z ypos+1
// [33] anim::$5 = xpos#11 >> 7 -- vwsz1=vwsz2_ror_7
lda.z xpos
sta.z $ff
lda.z xpos+1
sta.z __5
lda #0
bit.z xpos+1
bpl !+
and #$80
beq !+
lda #$ff
!:
sta.z __5+1
rol.z $ff
lda.z xpos
rol
rol.z __5
rol.z __5+1
// [34] anim::sprite_x#0 = anim::$5 + $a0 -- vwsz1=vwsz1_plus_vwsc1
@ -1385,7 +1383,7 @@ reg byte a [ anim::$9 ]
FINAL ASSEMBLER
Score: 6373
Score: 6364
// File Comments
// Commodore 64 Registers and Constants
@ -1653,17 +1651,15 @@ anim: {
sta.z ypos+1
// xpos>>7
// [33] anim::$5 = xpos#11 >> 7 -- vwsz1=vwsz2_ror_7
lda.z xpos
sta.z $ff
lda.z xpos+1
sta.z __5
lda #0
bit.z xpos+1
bpl !+
and #$80
beq !+
lda #$ff
!:
sta.z __5+1
rol.z $ff
lda.z xpos
rol
rol.z __5
rol.z __5+1
// sprite_x = xpos>>7 + 160

View File

@ -2817,10 +2817,10 @@ Uplift Scope [main] 26: zp[2]:2 [ main::st1#2 main::st1#1 ] 6.6: zp[2]:51 [ main
Uplift Scope [RADIX]
Uplift Scope [print_cls]
Uplifting [mul16u] best 23632 combination zp[4]:43 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] zp[4]:47 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] reg byte a [ mul16u::$1 ] zp[2]:41 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] zp[4]:117 [ mul16u::return#2 ] zp[2]:115 [ mul16u::b#0 ]
Uplifting [print_char] best 23317 combination reg byte a [ print_char::ch#5 print_char::ch#0 print_char::ch#3 print_char::ch#4 ]
Uplifting [divr16u] best 23107 combination zp[2]:28 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp[2]:32 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp[2]:30 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] zp[2]:67 [ divr16u::return#2 ] zp[2]:71 [ divr16u::return#3 ]
Uplifting [] best 23107 combination zp[2]:26 [ print_char_cursor#36 print_char_cursor#58 print_char_cursor#54 print_char_cursor#20 print_char_cursor#1 print_char_cursor#12 ] zp[2]:113 [ rem16u#0 ]
Uplifting [mul16u] best 23634 combination zp[4]:43 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] zp[4]:47 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] reg byte a [ mul16u::$1 ] zp[2]:41 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] zp[4]:117 [ mul16u::return#2 ] zp[2]:115 [ mul16u::b#0 ]
Uplifting [print_char] best 23319 combination reg byte a [ print_char::ch#5 print_char::ch#0 print_char::ch#3 print_char::ch#4 ]
Uplifting [divr16u] best 23109 combination zp[2]:28 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp[2]:32 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp[2]:30 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] zp[2]:67 [ divr16u::return#2 ] zp[2]:71 [ divr16u::return#3 ]
Uplifting [] best 23109 combination zp[2]:26 [ print_char_cursor#36 print_char_cursor#58 print_char_cursor#54 print_char_cursor#20 print_char_cursor#1 print_char_cursor#12 ] zp[2]:113 [ rem16u#0 ]
Uplifting [mulu16_sel] best 23091 combination zp[2]:35 [ mulu16_sel::v1#5 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#3 ] zp[4]:121 [ mulu16_sel::$0 ] zp[4]:125 [ mulu16_sel::$1 ] zp[2]:37 [ mulu16_sel::v2#5 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#3 ] zp[2]:129 [ mulu16_sel::return#12 ] zp[2]:85 [ mulu16_sel::return#0 ] zp[2]:89 [ mulu16_sel::return#1 ] zp[2]:93 [ mulu16_sel::return#2 ] zp[2]:99 [ mulu16_sel::return#10 ] zp[2]:103 [ mulu16_sel::return#11 ] reg byte x [ mulu16_sel::select#5 ]
Uplifting [print_uchar] best 23073 combination reg byte a [ print_uchar::$0 ] reg byte x [ print_uchar::$2 ] reg byte x [ print_uchar::b#2 print_uchar::b#0 print_uchar::b#1 ]
Uplifting [print_str] best 23073 combination zp[2]:12 [ print_str::str#3 print_str::str#6 print_str::str#0 ]

View File

@ -3740,10 +3740,10 @@ Uplift Scope [main] 18.33: zp[1]:6 [ main::i#2 main::i#1 ] 10.33: zp[2]:4 [ main
Uplift Scope [RADIX]
Uplift Scope [print_cls]
Uplifting [mul16u] best 26731 combination zp[4]:59 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] zp[4]:63 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] reg byte a [ mul16u::$1 ] zp[2]:57 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] zp[4]:173 [ mul16u::return#2 ] zp[2]:171 [ mul16u::b#0 ]
Uplifting [print_char] best 26416 combination reg byte a [ print_char::ch#5 print_char::ch#0 print_char::ch#3 print_char::ch#4 ]
Uplifting [divr16u] best 26206 combination zp[2]:44 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp[2]:48 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp[2]:46 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] zp[2]:95 [ divr16u::return#2 ] zp[2]:99 [ divr16u::return#3 ]
Uplifting [] best 26206 combination zp[2]:42 [ print_char_cursor#36 print_char_cursor#57 print_char_cursor#54 print_char_cursor#55 print_char_cursor#1 print_char_cursor#12 ] zp[2]:169 [ rem16u#0 ]
Uplifting [mul16u] best 26733 combination zp[4]:59 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] zp[4]:63 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] reg byte a [ mul16u::$1 ] zp[2]:57 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] zp[4]:173 [ mul16u::return#2 ] zp[2]:171 [ mul16u::b#0 ]
Uplifting [print_char] best 26418 combination reg byte a [ print_char::ch#5 print_char::ch#0 print_char::ch#3 print_char::ch#4 ]
Uplifting [divr16u] best 26208 combination zp[2]:44 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp[2]:48 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp[2]:46 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ] zp[2]:95 [ divr16u::return#2 ] zp[2]:99 [ divr16u::return#3 ]
Uplifting [] best 26208 combination zp[2]:42 [ print_char_cursor#36 print_char_cursor#57 print_char_cursor#54 print_char_cursor#55 print_char_cursor#1 print_char_cursor#12 ] zp[2]:169 [ rem16u#0 ]
Uplifting [mulu16_sel] best 26175 combination zp[2]:51 [ mulu16_sel::v1#10 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#3 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 mulu16_sel::v1#8 ] zp[2]:53 [ mulu16_sel::v2#10 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#3 mulu16_sel::v2#9 mulu16_sel::v2#5 mulu16_sel::v2#6 mulu16_sel::v2#8 ] zp[4]:177 [ mulu16_sel::$0 ] zp[4]:181 [ mulu16_sel::$1 ] zp[2]:113 [ mulu16_sel::return#0 ] zp[2]:117 [ mulu16_sel::return#1 ] zp[2]:121 [ mulu16_sel::return#14 ] zp[2]:127 [ mulu16_sel::return#15 ] zp[2]:131 [ mulu16_sel::return#16 ] zp[2]:141 [ mulu16_sel::return#18 ] zp[2]:145 [ mulu16_sel::return#19 ] zp[2]:149 [ mulu16_sel::return#20 ] zp[2]:155 [ mulu16_sel::return#10 ] zp[2]:159 [ mulu16_sel::return#11 ] zp[2]:185 [ mulu16_sel::return#17 ] reg byte x [ mulu16_sel::select#10 ]
Uplifting [print_uchar] best 26157 combination reg byte a [ print_uchar::$0 ] reg byte x [ print_uchar::$2 ] reg byte x [ print_uchar::b#2 print_uchar::b#0 print_uchar::b#1 ]
Uplifting [print_str] best 26157 combination zp[2]:23 [ print_str::str#3 print_str::str#6 print_str::str#0 ]

View File

@ -3968,11 +3968,11 @@ Uplift Scope [div16u] 37.33: zp[2]:99 [ div16u::return#0 ] 22: zp[2]:78 [ div16u
Uplift Scope [RADIX]
Uplift Scope [print_cls]
Uplifting [mul8u] best 34948 combination zp[2]:53 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] zp[2]:55 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] reg byte a [ mul8u::$1 ] reg byte x [ mul8u::a#2 mul8u::a#1 mul8u::a#0 ] zp[2]:167 [ mul8u::return#2 ] reg byte a [ mul8u::b#0 ]
Uplifting [mul16u] best 34348 combination zp[4]:59 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] zp[4]:63 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] reg byte a [ mul16u::$1 ] zp[2]:57 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] zp[4]:176 [ mul16u::return#2 ] zp[2]:174 [ mul16u::b#0 ]
Uplifting [divr16u] best 34138 combination zp[2]:37 [ divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp[2]:41 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp[2]:39 [ divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 ] zp[2]:97 [ divr16u::return#2 ] zp[2]:116 [ divr16u::return#3 ] zp[2]:120 [ divr16u::return#4 ]
Uplifting [print_char] best 33823 combination reg byte a [ print_char::ch#5 print_char::ch#0 print_char::ch#3 print_char::ch#4 ]
Uplifting [] best 33823 combination zp[2]:35 [ print_char_cursor#29 print_char_cursor#45 print_char_cursor#10 ] zp[2]:164 [ rem16u#0 ]
Uplifting [mul8u] best 34950 combination zp[2]:53 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] zp[2]:55 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] reg byte a [ mul8u::$1 ] reg byte x [ mul8u::a#2 mul8u::a#1 mul8u::a#0 ] zp[2]:167 [ mul8u::return#2 ] reg byte a [ mul8u::b#0 ]
Uplifting [mul16u] best 34350 combination zp[4]:59 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] zp[4]:63 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] reg byte a [ mul16u::$1 ] zp[2]:57 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] zp[4]:176 [ mul16u::return#2 ] zp[2]:174 [ mul16u::b#0 ]
Uplifting [divr16u] best 34140 combination zp[2]:37 [ divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp[2]:41 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp[2]:39 [ divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 ] zp[2]:97 [ divr16u::return#2 ] zp[2]:116 [ divr16u::return#3 ] zp[2]:120 [ divr16u::return#4 ]
Uplifting [print_char] best 33825 combination reg byte a [ print_char::ch#5 print_char::ch#0 print_char::ch#3 print_char::ch#4 ]
Uplifting [] best 33825 combination zp[2]:35 [ print_char_cursor#29 print_char_cursor#45 print_char_cursor#10 ] zp[2]:164 [ rem16u#0 ]
Uplifting [mulu16_sel] best 33807 combination zp[2]:47 [ mulu16_sel::v1#5 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#3 ] zp[4]:180 [ mulu16_sel::$0 ] zp[4]:184 [ mulu16_sel::$1 ] zp[2]:49 [ mulu16_sel::v2#5 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#3 ] zp[2]:188 [ mulu16_sel::return#12 ] zp[2]:134 [ mulu16_sel::return#0 ] zp[2]:138 [ mulu16_sel::return#1 ] zp[2]:142 [ mulu16_sel::return#2 ] zp[2]:148 [ mulu16_sel::return#10 ] zp[2]:152 [ mulu16_sel::return#11 ] reg byte x [ mulu16_sel::select#5 ]
Uplifting [mulu8_sel] best 33749 combination reg byte x [ mulu8_sel::v1#5 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 mulu8_sel::v1#1 ] zp[2]:169 [ mulu8_sel::$0 ] zp[2]:171 [ mulu8_sel::$1 ] reg byte y [ mulu8_sel::v2#5 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 mulu8_sel::v2#1 ] reg byte a [ mulu8_sel::return#12 ] reg byte a [ mulu8_sel::return#0 ] zp[1]:106 [ mulu8_sel::return#1 ] zp[1]:108 [ mulu8_sel::return#2 ] zp[1]:111 [ mulu8_sel::return#10 ] zp[1]:113 [ mulu8_sel::return#11 ] zp[1]:46 [ mulu8_sel::select#5 ]
Limited combination testing to 100 combinations of 196608 possible.