mirror of
https://gitlab.com/camelot/kickc.git
synced 2025-02-20 15:29:10 +00:00
Slight improvement of code
This commit is contained in:
parent
6dcafb83c2
commit
5e25684cf9
@ -14,23 +14,21 @@ void main() {
|
|||||||
byte[512] mul_sqr_lo;
|
byte[512] mul_sqr_lo;
|
||||||
byte[512] mul_sqr_hi;
|
byte[512] mul_sqr_hi;
|
||||||
|
|
||||||
|
// Initialize the mul_sqr multiplication tables with f(x)=int(x*x/4)
|
||||||
void init_mul_tables() {
|
void init_mul_tables() {
|
||||||
// If f(x) = x*x/4 then f(x+1) = f(x) + x/2 + 1/4
|
// If f(x) = x*x/4 then f(x+1) = f(x) + x/2 + 1/4
|
||||||
byte* sqr_lo = mul_sqr_lo+1;
|
byte* sqr_lo = mul_sqr_lo+1;
|
||||||
byte* sqr_hi = mul_sqr_hi+1;
|
byte* sqr_hi = mul_sqr_hi+1;
|
||||||
word sqr = 0; // sqr = (i*i)/4
|
word sqr = 0; // sqr = (x*x)/4
|
||||||
byte i_2 = 0; // i/2
|
byte x_2 = 0; // x/2
|
||||||
for(word i : 1..511) {
|
for(word x : 1..511) {
|
||||||
if((i&1)==0) {
|
if((x&1)==0) {
|
||||||
// sqr++ on even numbers because 1 = 2*1/4 (from the two previous numbers) + 1/2 (half of the previous uneven number)
|
sqr++; // sqr++ on even numbers because 1 = 2*1/4 (from the two previous numbers) + 1/2 (half of the previous uneven number)
|
||||||
sqr++;
|
x_2++; // increase i/2 on even numbers
|
||||||
// increase i/2 on even numbers
|
|
||||||
i_2++;
|
|
||||||
}
|
}
|
||||||
*sqr_lo++ = <sqr;
|
*sqr_lo++ = <sqr;
|
||||||
*sqr_hi++ = >sqr;
|
*sqr_hi++ = >sqr;
|
||||||
// sqr = sqr + i/2 (when uneven 1/2 is not added here)
|
sqr = sqr + x_2; // sqr = sqr + i/2 (when uneven the 1/2 is not added here )
|
||||||
sqr = sqr + i_2;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -78,7 +78,7 @@ init_mul_tables: {
|
|||||||
.label sqr_lo = 4
|
.label sqr_lo = 4
|
||||||
.label sqr_hi = 6
|
.label sqr_hi = 6
|
||||||
.label sqr = 8
|
.label sqr = 8
|
||||||
.label i = 2
|
.label x = 2
|
||||||
ldx #0
|
ldx #0
|
||||||
lda #<mul_sqr_hi+1
|
lda #<mul_sqr_hi+1
|
||||||
sta sqr_hi
|
sta sqr_hi
|
||||||
@ -92,11 +92,11 @@ init_mul_tables: {
|
|||||||
sta sqr
|
sta sqr
|
||||||
sta sqr+1
|
sta sqr+1
|
||||||
lda #1
|
lda #1
|
||||||
sta i
|
sta x
|
||||||
txa
|
txa
|
||||||
sta i+1
|
sta x+1
|
||||||
b1:
|
b1:
|
||||||
lda i
|
lda x
|
||||||
and #1
|
and #1
|
||||||
cmp #0
|
cmp #0
|
||||||
bne b2
|
bne b2
|
||||||
@ -127,14 +127,14 @@ init_mul_tables: {
|
|||||||
bcc !+
|
bcc !+
|
||||||
inc sqr+1
|
inc sqr+1
|
||||||
!:
|
!:
|
||||||
inc i
|
inc x
|
||||||
bne !+
|
bne !+
|
||||||
inc i+1
|
inc x+1
|
||||||
!:
|
!:
|
||||||
lda i
|
lda x
|
||||||
cmp #<$200
|
cmp #<$200
|
||||||
bne b1
|
bne b1
|
||||||
lda i+1
|
lda x+1
|
||||||
cmp #>$200
|
cmp #>$200
|
||||||
bne b1
|
bne b1
|
||||||
rts
|
rts
|
||||||
|
@ -67,30 +67,30 @@ init_mul_tables: scope:[init_mul_tables] from main
|
|||||||
[26] phi() [ ] ( main:2::init_mul_tables:5 [ ] )
|
[26] phi() [ ] ( main:2::init_mul_tables:5 [ ] )
|
||||||
to:init_mul_tables::@1
|
to:init_mul_tables::@1
|
||||||
init_mul_tables::@1: scope:[init_mul_tables] from init_mul_tables init_mul_tables::@2
|
init_mul_tables::@1: scope:[init_mul_tables] from init_mul_tables init_mul_tables::@2
|
||||||
[27] (byte) init_mul_tables::i_2#3 ← phi( init_mul_tables/(byte/signed byte/word/signed word) 0 init_mul_tables::@2/(byte) init_mul_tables::i_2#2 ) [ init_mul_tables::i#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::i_2#3 ] ( main:2::init_mul_tables:5 [ init_mul_tables::i#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::i_2#3 ] )
|
[27] (byte) init_mul_tables::x_2#3 ← phi( init_mul_tables/(byte/signed byte/word/signed word) 0 init_mul_tables::@2/(byte) init_mul_tables::x_2#2 ) [ init_mul_tables::x#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::x_2#3 ] ( main:2::init_mul_tables:5 [ init_mul_tables::x#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::x_2#3 ] )
|
||||||
[27] (byte*) init_mul_tables::sqr_hi#2 ← phi( init_mul_tables/(const byte[512]) mul_sqr_hi#0+(byte/signed byte/word/signed word) 1 init_mul_tables::@2/(byte*) init_mul_tables::sqr_hi#1 ) [ init_mul_tables::i#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::i_2#3 ] ( main:2::init_mul_tables:5 [ init_mul_tables::i#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::i_2#3 ] )
|
[27] (byte*) init_mul_tables::sqr_hi#2 ← phi( init_mul_tables/(const byte[512]) mul_sqr_hi#0+(byte/signed byte/word/signed word) 1 init_mul_tables::@2/(byte*) init_mul_tables::sqr_hi#1 ) [ init_mul_tables::x#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::x_2#3 ] ( main:2::init_mul_tables:5 [ init_mul_tables::x#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::x_2#3 ] )
|
||||||
[27] (byte*) init_mul_tables::sqr_lo#2 ← phi( init_mul_tables/(const byte[512]) mul_sqr_lo#0+(byte/signed byte/word/signed word) 1 init_mul_tables::@2/(byte*) init_mul_tables::sqr_lo#1 ) [ init_mul_tables::i#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::i_2#3 ] ( main:2::init_mul_tables:5 [ init_mul_tables::i#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::i_2#3 ] )
|
[27] (byte*) init_mul_tables::sqr_lo#2 ← phi( init_mul_tables/(const byte[512]) mul_sqr_lo#0+(byte/signed byte/word/signed word) 1 init_mul_tables::@2/(byte*) init_mul_tables::sqr_lo#1 ) [ init_mul_tables::x#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::x_2#3 ] ( main:2::init_mul_tables:5 [ init_mul_tables::x#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::x_2#3 ] )
|
||||||
[27] (word) init_mul_tables::sqr#4 ← phi( init_mul_tables/(byte/signed byte/word/signed word) 0 init_mul_tables::@2/(word) init_mul_tables::sqr#1 ) [ init_mul_tables::i#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::i_2#3 ] ( main:2::init_mul_tables:5 [ init_mul_tables::i#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::i_2#3 ] )
|
[27] (word) init_mul_tables::sqr#4 ← phi( init_mul_tables/(byte/signed byte/word/signed word) 0 init_mul_tables::@2/(word) init_mul_tables::sqr#1 ) [ init_mul_tables::x#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::x_2#3 ] ( main:2::init_mul_tables:5 [ init_mul_tables::x#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::x_2#3 ] )
|
||||||
[27] (word) init_mul_tables::i#2 ← phi( init_mul_tables/(byte/signed byte/word/signed word) 1 init_mul_tables::@2/(word) init_mul_tables::i#1 ) [ init_mul_tables::i#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::i_2#3 ] ( main:2::init_mul_tables:5 [ init_mul_tables::i#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::i_2#3 ] )
|
[27] (word) init_mul_tables::x#2 ← phi( init_mul_tables/(byte/signed byte/word/signed word) 1 init_mul_tables::@2/(word) init_mul_tables::x#1 ) [ init_mul_tables::x#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::x_2#3 ] ( main:2::init_mul_tables:5 [ init_mul_tables::x#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::x_2#3 ] )
|
||||||
[28] (byte~) init_mul_tables::$2 ← (word) init_mul_tables::i#2 & (byte/signed byte/word/signed word) 1 [ init_mul_tables::i#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::i_2#3 init_mul_tables::$2 ] ( main:2::init_mul_tables:5 [ init_mul_tables::i#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::i_2#3 init_mul_tables::$2 ] )
|
[28] (byte~) init_mul_tables::$2 ← (word) init_mul_tables::x#2 & (byte/signed byte/word/signed word) 1 [ init_mul_tables::x#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::x_2#3 init_mul_tables::$2 ] ( main:2::init_mul_tables:5 [ init_mul_tables::x#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::x_2#3 init_mul_tables::$2 ] )
|
||||||
[29] if((byte~) init_mul_tables::$2!=(byte/signed byte/word/signed word) 0) goto init_mul_tables::@2 [ init_mul_tables::i#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::i_2#3 ] ( main:2::init_mul_tables:5 [ init_mul_tables::i#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::i_2#3 ] )
|
[29] if((byte~) init_mul_tables::$2!=(byte/signed byte/word/signed word) 0) goto init_mul_tables::@2 [ init_mul_tables::x#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::x_2#3 ] ( main:2::init_mul_tables:5 [ init_mul_tables::x#2 init_mul_tables::sqr#4 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::x_2#3 ] )
|
||||||
to:init_mul_tables::@3
|
to:init_mul_tables::@3
|
||||||
init_mul_tables::@3: scope:[init_mul_tables] from init_mul_tables::@1
|
init_mul_tables::@3: scope:[init_mul_tables] from init_mul_tables::@1
|
||||||
[30] (word) init_mul_tables::sqr#2 ← ++ (word) init_mul_tables::sqr#4 [ init_mul_tables::i#2 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::i_2#3 init_mul_tables::sqr#2 ] ( main:2::init_mul_tables:5 [ init_mul_tables::i#2 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::i_2#3 init_mul_tables::sqr#2 ] )
|
[30] (word) init_mul_tables::sqr#2 ← ++ (word) init_mul_tables::sqr#4 [ init_mul_tables::x#2 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::x_2#3 init_mul_tables::sqr#2 ] ( main:2::init_mul_tables:5 [ init_mul_tables::x#2 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::x_2#3 init_mul_tables::sqr#2 ] )
|
||||||
[31] (byte) init_mul_tables::i_2#1 ← ++ (byte) init_mul_tables::i_2#3 [ init_mul_tables::i#2 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::sqr#2 init_mul_tables::i_2#1 ] ( main:2::init_mul_tables:5 [ init_mul_tables::i#2 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::sqr#2 init_mul_tables::i_2#1 ] )
|
[31] (byte) init_mul_tables::x_2#1 ← ++ (byte) init_mul_tables::x_2#3 [ init_mul_tables::x#2 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::sqr#2 init_mul_tables::x_2#1 ] ( main:2::init_mul_tables:5 [ init_mul_tables::x#2 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::sqr#2 init_mul_tables::x_2#1 ] )
|
||||||
to:init_mul_tables::@2
|
to:init_mul_tables::@2
|
||||||
init_mul_tables::@2: scope:[init_mul_tables] from init_mul_tables::@1 init_mul_tables::@3
|
init_mul_tables::@2: scope:[init_mul_tables] from init_mul_tables::@1 init_mul_tables::@3
|
||||||
[32] (byte) init_mul_tables::i_2#2 ← phi( init_mul_tables::@1/(byte) init_mul_tables::i_2#3 init_mul_tables::@3/(byte) init_mul_tables::i_2#1 ) [ init_mul_tables::i#2 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::i_2#2 init_mul_tables::sqr#3 ] ( main:2::init_mul_tables:5 [ init_mul_tables::i#2 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::i_2#2 init_mul_tables::sqr#3 ] )
|
[32] (byte) init_mul_tables::x_2#2 ← phi( init_mul_tables::@1/(byte) init_mul_tables::x_2#3 init_mul_tables::@3/(byte) init_mul_tables::x_2#1 ) [ init_mul_tables::x#2 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::x_2#2 init_mul_tables::sqr#3 ] ( main:2::init_mul_tables:5 [ init_mul_tables::x#2 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::x_2#2 init_mul_tables::sqr#3 ] )
|
||||||
[32] (word) init_mul_tables::sqr#3 ← phi( init_mul_tables::@1/(word) init_mul_tables::sqr#4 init_mul_tables::@3/(word) init_mul_tables::sqr#2 ) [ init_mul_tables::i#2 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::i_2#2 init_mul_tables::sqr#3 ] ( main:2::init_mul_tables:5 [ init_mul_tables::i#2 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::i_2#2 init_mul_tables::sqr#3 ] )
|
[32] (word) init_mul_tables::sqr#3 ← phi( init_mul_tables::@1/(word) init_mul_tables::sqr#4 init_mul_tables::@3/(word) init_mul_tables::sqr#2 ) [ init_mul_tables::x#2 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::x_2#2 init_mul_tables::sqr#3 ] ( main:2::init_mul_tables:5 [ init_mul_tables::x#2 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::x_2#2 init_mul_tables::sqr#3 ] )
|
||||||
[33] (byte~) init_mul_tables::$5 ← < (word) init_mul_tables::sqr#3 [ init_mul_tables::i#2 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::i_2#2 init_mul_tables::sqr#3 init_mul_tables::$5 ] ( main:2::init_mul_tables:5 [ init_mul_tables::i#2 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::i_2#2 init_mul_tables::sqr#3 init_mul_tables::$5 ] )
|
[33] (byte~) init_mul_tables::$5 ← < (word) init_mul_tables::sqr#3 [ init_mul_tables::x#2 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::x_2#2 init_mul_tables::sqr#3 init_mul_tables::$5 ] ( main:2::init_mul_tables:5 [ init_mul_tables::x#2 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::x_2#2 init_mul_tables::sqr#3 init_mul_tables::$5 ] )
|
||||||
[34] *((byte*) init_mul_tables::sqr_lo#2) ← (byte~) init_mul_tables::$5 [ init_mul_tables::i#2 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::i_2#2 init_mul_tables::sqr#3 ] ( main:2::init_mul_tables:5 [ init_mul_tables::i#2 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::i_2#2 init_mul_tables::sqr#3 ] )
|
[34] *((byte*) init_mul_tables::sqr_lo#2) ← (byte~) init_mul_tables::$5 [ init_mul_tables::x#2 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::x_2#2 init_mul_tables::sqr#3 ] ( main:2::init_mul_tables:5 [ init_mul_tables::x#2 init_mul_tables::sqr_lo#2 init_mul_tables::sqr_hi#2 init_mul_tables::x_2#2 init_mul_tables::sqr#3 ] )
|
||||||
[35] (byte*) init_mul_tables::sqr_lo#1 ← ++ (byte*) init_mul_tables::sqr_lo#2 [ init_mul_tables::i#2 init_mul_tables::sqr_hi#2 init_mul_tables::sqr_lo#1 init_mul_tables::i_2#2 init_mul_tables::sqr#3 ] ( main:2::init_mul_tables:5 [ init_mul_tables::i#2 init_mul_tables::sqr_hi#2 init_mul_tables::sqr_lo#1 init_mul_tables::i_2#2 init_mul_tables::sqr#3 ] )
|
[35] (byte*) init_mul_tables::sqr_lo#1 ← ++ (byte*) init_mul_tables::sqr_lo#2 [ init_mul_tables::x#2 init_mul_tables::sqr_hi#2 init_mul_tables::sqr_lo#1 init_mul_tables::x_2#2 init_mul_tables::sqr#3 ] ( main:2::init_mul_tables:5 [ init_mul_tables::x#2 init_mul_tables::sqr_hi#2 init_mul_tables::sqr_lo#1 init_mul_tables::x_2#2 init_mul_tables::sqr#3 ] )
|
||||||
[36] (byte~) init_mul_tables::$6 ← > (word) init_mul_tables::sqr#3 [ init_mul_tables::i#2 init_mul_tables::sqr_hi#2 init_mul_tables::sqr_lo#1 init_mul_tables::i_2#2 init_mul_tables::sqr#3 init_mul_tables::$6 ] ( main:2::init_mul_tables:5 [ init_mul_tables::i#2 init_mul_tables::sqr_hi#2 init_mul_tables::sqr_lo#1 init_mul_tables::i_2#2 init_mul_tables::sqr#3 init_mul_tables::$6 ] )
|
[36] (byte~) init_mul_tables::$6 ← > (word) init_mul_tables::sqr#3 [ init_mul_tables::x#2 init_mul_tables::sqr_hi#2 init_mul_tables::sqr_lo#1 init_mul_tables::x_2#2 init_mul_tables::sqr#3 init_mul_tables::$6 ] ( main:2::init_mul_tables:5 [ init_mul_tables::x#2 init_mul_tables::sqr_hi#2 init_mul_tables::sqr_lo#1 init_mul_tables::x_2#2 init_mul_tables::sqr#3 init_mul_tables::$6 ] )
|
||||||
[37] *((byte*) init_mul_tables::sqr_hi#2) ← (byte~) init_mul_tables::$6 [ init_mul_tables::i#2 init_mul_tables::sqr_hi#2 init_mul_tables::sqr_lo#1 init_mul_tables::i_2#2 init_mul_tables::sqr#3 ] ( main:2::init_mul_tables:5 [ init_mul_tables::i#2 init_mul_tables::sqr_hi#2 init_mul_tables::sqr_lo#1 init_mul_tables::i_2#2 init_mul_tables::sqr#3 ] )
|
[37] *((byte*) init_mul_tables::sqr_hi#2) ← (byte~) init_mul_tables::$6 [ init_mul_tables::x#2 init_mul_tables::sqr_hi#2 init_mul_tables::sqr_lo#1 init_mul_tables::x_2#2 init_mul_tables::sqr#3 ] ( main:2::init_mul_tables:5 [ init_mul_tables::x#2 init_mul_tables::sqr_hi#2 init_mul_tables::sqr_lo#1 init_mul_tables::x_2#2 init_mul_tables::sqr#3 ] )
|
||||||
[38] (byte*) init_mul_tables::sqr_hi#1 ← ++ (byte*) init_mul_tables::sqr_hi#2 [ init_mul_tables::i#2 init_mul_tables::sqr_lo#1 init_mul_tables::sqr_hi#1 init_mul_tables::i_2#2 init_mul_tables::sqr#3 ] ( main:2::init_mul_tables:5 [ init_mul_tables::i#2 init_mul_tables::sqr_lo#1 init_mul_tables::sqr_hi#1 init_mul_tables::i_2#2 init_mul_tables::sqr#3 ] )
|
[38] (byte*) init_mul_tables::sqr_hi#1 ← ++ (byte*) init_mul_tables::sqr_hi#2 [ init_mul_tables::x#2 init_mul_tables::sqr_lo#1 init_mul_tables::sqr_hi#1 init_mul_tables::x_2#2 init_mul_tables::sqr#3 ] ( main:2::init_mul_tables:5 [ init_mul_tables::x#2 init_mul_tables::sqr_lo#1 init_mul_tables::sqr_hi#1 init_mul_tables::x_2#2 init_mul_tables::sqr#3 ] )
|
||||||
[39] (word) init_mul_tables::sqr#1 ← (word) init_mul_tables::sqr#3 + (byte) init_mul_tables::i_2#2 [ init_mul_tables::i#2 init_mul_tables::sqr#1 init_mul_tables::sqr_lo#1 init_mul_tables::sqr_hi#1 init_mul_tables::i_2#2 ] ( main:2::init_mul_tables:5 [ init_mul_tables::i#2 init_mul_tables::sqr#1 init_mul_tables::sqr_lo#1 init_mul_tables::sqr_hi#1 init_mul_tables::i_2#2 ] )
|
[39] (word) init_mul_tables::sqr#1 ← (word) init_mul_tables::sqr#3 + (byte) init_mul_tables::x_2#2 [ init_mul_tables::x#2 init_mul_tables::sqr#1 init_mul_tables::sqr_lo#1 init_mul_tables::sqr_hi#1 init_mul_tables::x_2#2 ] ( main:2::init_mul_tables:5 [ init_mul_tables::x#2 init_mul_tables::sqr#1 init_mul_tables::sqr_lo#1 init_mul_tables::sqr_hi#1 init_mul_tables::x_2#2 ] )
|
||||||
[40] (word) init_mul_tables::i#1 ← ++ (word) init_mul_tables::i#2 [ init_mul_tables::i#1 init_mul_tables::sqr#1 init_mul_tables::sqr_lo#1 init_mul_tables::sqr_hi#1 init_mul_tables::i_2#2 ] ( main:2::init_mul_tables:5 [ init_mul_tables::i#1 init_mul_tables::sqr#1 init_mul_tables::sqr_lo#1 init_mul_tables::sqr_hi#1 init_mul_tables::i_2#2 ] )
|
[40] (word) init_mul_tables::x#1 ← ++ (word) init_mul_tables::x#2 [ init_mul_tables::x#1 init_mul_tables::sqr#1 init_mul_tables::sqr_lo#1 init_mul_tables::sqr_hi#1 init_mul_tables::x_2#2 ] ( main:2::init_mul_tables:5 [ init_mul_tables::x#1 init_mul_tables::sqr#1 init_mul_tables::sqr_lo#1 init_mul_tables::sqr_hi#1 init_mul_tables::x_2#2 ] )
|
||||||
[41] if((word) init_mul_tables::i#1!=(word/signed word) 512) goto init_mul_tables::@1 [ init_mul_tables::i#1 init_mul_tables::sqr#1 init_mul_tables::sqr_lo#1 init_mul_tables::sqr_hi#1 init_mul_tables::i_2#2 ] ( main:2::init_mul_tables:5 [ init_mul_tables::i#1 init_mul_tables::sqr#1 init_mul_tables::sqr_lo#1 init_mul_tables::sqr_hi#1 init_mul_tables::i_2#2 ] )
|
[41] if((word) init_mul_tables::x#1!=(word/signed word) 512) goto init_mul_tables::@1 [ init_mul_tables::x#1 init_mul_tables::sqr#1 init_mul_tables::sqr_lo#1 init_mul_tables::sqr_hi#1 init_mul_tables::x_2#2 ] ( main:2::init_mul_tables:5 [ init_mul_tables::x#1 init_mul_tables::sqr#1 init_mul_tables::sqr_lo#1 init_mul_tables::sqr_hi#1 init_mul_tables::x_2#2 ] )
|
||||||
to:init_mul_tables::@return
|
to:init_mul_tables::@return
|
||||||
init_mul_tables::@return: scope:[init_mul_tables] from init_mul_tables::@2
|
init_mul_tables::@return: scope:[init_mul_tables] from init_mul_tables::@2
|
||||||
[42] return [ ] ( main:2::init_mul_tables:5 [ ] )
|
[42] return [ ] ( main:2::init_mul_tables:5 [ ] )
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -15,13 +15,6 @@
|
|||||||
(label) init_mul_tables::@2
|
(label) init_mul_tables::@2
|
||||||
(label) init_mul_tables::@3
|
(label) init_mul_tables::@3
|
||||||
(label) init_mul_tables::@return
|
(label) init_mul_tables::@return
|
||||||
(word) init_mul_tables::i
|
|
||||||
(word) init_mul_tables::i#1 i zp ZP_WORD:2 16.5
|
|
||||||
(word) init_mul_tables::i#2 i zp ZP_WORD:2 2.5384615384615383
|
|
||||||
(byte) init_mul_tables::i_2
|
|
||||||
(byte) init_mul_tables::i_2#1 reg byte x 22.0
|
|
||||||
(byte) init_mul_tables::i_2#2 reg byte x 4.4
|
|
||||||
(byte) init_mul_tables::i_2#3 reg byte x 8.25
|
|
||||||
(word) init_mul_tables::sqr
|
(word) init_mul_tables::sqr
|
||||||
(word) init_mul_tables::sqr#1 sqr zp ZP_WORD:8 7.333333333333333
|
(word) init_mul_tables::sqr#1 sqr zp ZP_WORD:8 7.333333333333333
|
||||||
(word) init_mul_tables::sqr#2 sqr zp ZP_WORD:8 11.0
|
(word) init_mul_tables::sqr#2 sqr zp ZP_WORD:8 11.0
|
||||||
@ -33,6 +26,13 @@
|
|||||||
(byte*) init_mul_tables::sqr_lo
|
(byte*) init_mul_tables::sqr_lo
|
||||||
(byte*) init_mul_tables::sqr_lo#1 sqr_lo zp ZP_WORD:4 3.142857142857143
|
(byte*) init_mul_tables::sqr_lo#1 sqr_lo zp ZP_WORD:4 3.142857142857143
|
||||||
(byte*) init_mul_tables::sqr_lo#2 sqr_lo zp ZP_WORD:4 4.125
|
(byte*) init_mul_tables::sqr_lo#2 sqr_lo zp ZP_WORD:4 4.125
|
||||||
|
(word) init_mul_tables::x
|
||||||
|
(word) init_mul_tables::x#1 x zp ZP_WORD:2 16.5
|
||||||
|
(word) init_mul_tables::x#2 x zp ZP_WORD:2 2.5384615384615383
|
||||||
|
(byte) init_mul_tables::x_2
|
||||||
|
(byte) init_mul_tables::x_2#1 reg byte x 22.0
|
||||||
|
(byte) init_mul_tables::x_2#2 reg byte x 4.4
|
||||||
|
(byte) init_mul_tables::x_2#3 reg byte x 8.25
|
||||||
(void()) init_mul_tables_asm()
|
(void()) init_mul_tables_asm()
|
||||||
(label) init_mul_tables_asm::@return
|
(label) init_mul_tables_asm::@return
|
||||||
(void()) main()
|
(void()) main()
|
||||||
@ -59,10 +59,10 @@
|
|||||||
(byte) mul_tables_compare::i#10 reg byte x 12.222222222222221
|
(byte) mul_tables_compare::i#10 reg byte x 12.222222222222221
|
||||||
|
|
||||||
reg byte x [ mul_tables_compare::i#10 mul_tables_compare::i#1 ]
|
reg byte x [ mul_tables_compare::i#10 mul_tables_compare::i#1 ]
|
||||||
zp ZP_WORD:2 [ init_mul_tables::i#2 init_mul_tables::i#1 ]
|
zp ZP_WORD:2 [ init_mul_tables::x#2 init_mul_tables::x#1 ]
|
||||||
zp ZP_WORD:4 [ init_mul_tables::sqr_lo#2 init_mul_tables::sqr_lo#1 ]
|
zp ZP_WORD:4 [ init_mul_tables::sqr_lo#2 init_mul_tables::sqr_lo#1 ]
|
||||||
zp ZP_WORD:6 [ init_mul_tables::sqr_hi#2 init_mul_tables::sqr_hi#1 ]
|
zp ZP_WORD:6 [ init_mul_tables::sqr_hi#2 init_mul_tables::sqr_hi#1 ]
|
||||||
reg byte x [ init_mul_tables::i_2#3 init_mul_tables::i_2#2 init_mul_tables::i_2#1 ]
|
reg byte x [ init_mul_tables::x_2#3 init_mul_tables::x_2#2 init_mul_tables::x_2#1 ]
|
||||||
zp ZP_WORD:8 [ init_mul_tables::sqr#3 init_mul_tables::sqr#4 init_mul_tables::sqr#1 init_mul_tables::sqr#2 ]
|
zp ZP_WORD:8 [ init_mul_tables::sqr#3 init_mul_tables::sqr#4 init_mul_tables::sqr#1 init_mul_tables::sqr#2 ]
|
||||||
reg byte a [ init_mul_tables::$2 ]
|
reg byte a [ init_mul_tables::$2 ]
|
||||||
reg byte a [ init_mul_tables::$5 ]
|
reg byte a [ init_mul_tables::$5 ]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user