mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-11-23 23:32:55 +00:00
Optimized rotation position calculation
This commit is contained in:
parent
908cb3ea8d
commit
2f1f530128
@ -56,10 +56,11 @@ void anim() {
|
||||
yr += mulf8s_prepared(x)<<1; // signed fixed[8.8]
|
||||
|
||||
signed word xpos = ((signed byte) >xr) + 89 + 24 + 60;
|
||||
signed word ypos = ((signed byte) >yr) + 89 + 51;
|
||||
SPRITES_XPOS[0] = <xpos;
|
||||
*SPRITES_XMSB = >xpos;
|
||||
SPRITES_YPOS[0] = <ypos;
|
||||
//signed word ypos = ((signed byte) >yr) + 89 + 51;
|
||||
byte ypos = (>yr) + 89 + 51;
|
||||
SPRITES_YPOS[0] = ypos;
|
||||
angle++;
|
||||
(*BORDERCOL)--;
|
||||
}
|
||||
|
@ -32,7 +32,6 @@ anim: {
|
||||
.label xr = 5
|
||||
.label yr = 7
|
||||
.label xpos = 3
|
||||
.label ypos = 5
|
||||
ldy #0
|
||||
b4:
|
||||
lda RASTER
|
||||
@ -99,25 +98,13 @@ anim: {
|
||||
lda xpos+1
|
||||
adc #0
|
||||
sta xpos+1
|
||||
lda yr+1
|
||||
sta ypos
|
||||
ora #$7f
|
||||
bmi !+
|
||||
lda #0
|
||||
!:
|
||||
sta ypos+1
|
||||
lda ypos
|
||||
clc
|
||||
adc #$59+$33
|
||||
sta ypos
|
||||
lda ypos+1
|
||||
adc #0
|
||||
sta ypos+1
|
||||
lda xpos
|
||||
sta SPRITES_XPOS
|
||||
lda xpos+1
|
||||
sta SPRITES_XMSB
|
||||
lda ypos
|
||||
lda yr+1
|
||||
clc
|
||||
adc #$59+$33
|
||||
sta SPRITES_YPOS
|
||||
iny
|
||||
dec BORDERCOL
|
||||
|
@ -86,137 +86,135 @@ anim::@20: scope:[anim] from anim::@19
|
||||
[38] (byte~) anim::$14 ← > (signed word) anim::xr#1 [ anim::angle#12 anim::yr#1 anim::$14 ] ( main:3::anim:8 [ anim::angle#12 anim::yr#1 anim::$14 ] )
|
||||
[39] (signed byte~) anim::$17 ← (signed byte)(byte~) anim::$14 [ anim::angle#12 anim::yr#1 anim::$17 ] ( main:3::anim:8 [ anim::angle#12 anim::yr#1 anim::$17 ] )
|
||||
[40] (signed word) anim::xpos#0 ← (signed byte~) anim::$17 + (byte/signed byte/word/signed word/dword/signed dword) 89+(byte/signed byte/word/signed word/dword/signed dword) 24+(byte/signed byte/word/signed word/dword/signed dword) 60 [ anim::angle#12 anim::yr#1 anim::xpos#0 ] ( main:3::anim:8 [ anim::angle#12 anim::yr#1 anim::xpos#0 ] )
|
||||
[41] (byte~) anim::$19 ← > (signed word) anim::yr#1 [ anim::angle#12 anim::xpos#0 anim::$19 ] ( main:3::anim:8 [ anim::angle#12 anim::xpos#0 anim::$19 ] )
|
||||
[42] (signed byte~) anim::$21 ← (signed byte)(byte~) anim::$19 [ anim::angle#12 anim::xpos#0 anim::$21 ] ( main:3::anim:8 [ anim::angle#12 anim::xpos#0 anim::$21 ] )
|
||||
[43] (signed word) anim::ypos#0 ← (signed byte~) anim::$21 + (byte/signed byte/word/signed word/dword/signed dword) 89+(byte/signed byte/word/signed word/dword/signed dword) 51 [ anim::angle#12 anim::xpos#0 anim::ypos#0 ] ( main:3::anim:8 [ anim::angle#12 anim::xpos#0 anim::ypos#0 ] )
|
||||
[44] (byte~) anim::$23 ← < (signed word) anim::xpos#0 [ anim::angle#12 anim::xpos#0 anim::ypos#0 anim::$23 ] ( main:3::anim:8 [ anim::angle#12 anim::xpos#0 anim::ypos#0 anim::$23 ] )
|
||||
[45] *((const byte*) SPRITES_XPOS#0) ← (byte~) anim::$23 [ anim::angle#12 anim::xpos#0 anim::ypos#0 ] ( main:3::anim:8 [ anim::angle#12 anim::xpos#0 anim::ypos#0 ] )
|
||||
[46] (byte~) anim::$24 ← > (signed word) anim::xpos#0 [ anim::angle#12 anim::ypos#0 anim::$24 ] ( main:3::anim:8 [ anim::angle#12 anim::ypos#0 anim::$24 ] )
|
||||
[47] *((const byte*) SPRITES_XMSB#0) ← (byte~) anim::$24 [ anim::angle#12 anim::ypos#0 ] ( main:3::anim:8 [ anim::angle#12 anim::ypos#0 ] )
|
||||
[48] (byte~) anim::$25 ← < (signed word) anim::ypos#0 [ anim::angle#12 anim::$25 ] ( main:3::anim:8 [ anim::angle#12 anim::$25 ] )
|
||||
[49] *((const byte*) SPRITES_YPOS#0) ← (byte~) anim::$25 [ anim::angle#12 ] ( main:3::anim:8 [ anim::angle#12 ] )
|
||||
[50] (byte) anim::angle#1 ← ++ (byte) anim::angle#12 [ anim::angle#1 ] ( main:3::anim:8 [ anim::angle#1 ] )
|
||||
[51] *((const byte*) BORDERCOL#0) ← -- *((const byte*) BORDERCOL#0) [ anim::angle#1 ] ( main:3::anim:8 [ anim::angle#1 ] )
|
||||
[41] (byte~) anim::$19 ← < (signed word) anim::xpos#0 [ anim::angle#12 anim::yr#1 anim::xpos#0 anim::$19 ] ( main:3::anim:8 [ anim::angle#12 anim::yr#1 anim::xpos#0 anim::$19 ] )
|
||||
[42] *((const byte*) SPRITES_XPOS#0) ← (byte~) anim::$19 [ anim::angle#12 anim::yr#1 anim::xpos#0 ] ( main:3::anim:8 [ anim::angle#12 anim::yr#1 anim::xpos#0 ] )
|
||||
[43] (byte~) anim::$20 ← > (signed word) anim::xpos#0 [ anim::angle#12 anim::yr#1 anim::$20 ] ( main:3::anim:8 [ anim::angle#12 anim::yr#1 anim::$20 ] )
|
||||
[44] *((const byte*) SPRITES_XMSB#0) ← (byte~) anim::$20 [ anim::angle#12 anim::yr#1 ] ( main:3::anim:8 [ anim::angle#12 anim::yr#1 ] )
|
||||
[45] (byte~) anim::$22 ← > (signed word) anim::yr#1 [ anim::angle#12 anim::$22 ] ( main:3::anim:8 [ anim::angle#12 anim::$22 ] )
|
||||
[46] (byte) anim::ypos#0 ← (byte~) anim::$22 + (byte/signed byte/word/signed word/dword/signed dword) 89+(byte/signed byte/word/signed word/dword/signed dword) 51 [ anim::angle#12 anim::ypos#0 ] ( main:3::anim:8 [ anim::angle#12 anim::ypos#0 ] )
|
||||
[47] *((const byte*) SPRITES_YPOS#0) ← (byte) anim::ypos#0 [ anim::angle#12 ] ( main:3::anim:8 [ anim::angle#12 ] )
|
||||
[48] (byte) anim::angle#1 ← ++ (byte) anim::angle#12 [ anim::angle#1 ] ( main:3::anim:8 [ anim::angle#1 ] )
|
||||
[49] *((const byte*) BORDERCOL#0) ← -- *((const byte*) BORDERCOL#0) [ anim::angle#1 ] ( main:3::anim:8 [ anim::angle#1 ] )
|
||||
to:anim::@1
|
||||
mulf8s_prepared: scope:[mulf8s_prepared] from anim::@13 anim::@14 anim::@16 anim::@19
|
||||
[52] (signed byte) mulf8s_prepared::b#4 ← phi( anim::@13/(const signed byte) anim::x#0 anim::@14/(const signed byte) anim::y#0 anim::@16/(const signed byte) anim::y#0 anim::@19/(const signed byte) anim::x#0 ) [ mulf8s_prepared::b#4 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::b#4 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::b#4 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 ] )
|
||||
[53] call mulf8u_prepared [ mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] )
|
||||
[54] (word) mulf8u_prepared::return#2 ← (word) mulf8u_prepared::return#0 [ mulf8s_prepared::b#4 mulf8u_prepared::return#2 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::b#4 mulf8u_prepared::return#2 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::b#4 mulf8u_prepared::return#2 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8u_prepared::return#2 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8u_prepared::return#2 ] )
|
||||
[50] (signed byte) mulf8s_prepared::b#4 ← phi( anim::@13/(const signed byte) anim::x#0 anim::@14/(const signed byte) anim::y#0 anim::@16/(const signed byte) anim::y#0 anim::@19/(const signed byte) anim::x#0 ) [ mulf8s_prepared::b#4 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::b#4 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::b#4 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 ] )
|
||||
[51] call mulf8u_prepared [ mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] )
|
||||
[52] (word) mulf8u_prepared::return#2 ← (word) mulf8u_prepared::return#0 [ mulf8s_prepared::b#4 mulf8u_prepared::return#2 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::b#4 mulf8u_prepared::return#2 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::b#4 mulf8u_prepared::return#2 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8u_prepared::return#2 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8u_prepared::return#2 ] )
|
||||
to:mulf8s_prepared::@6
|
||||
mulf8s_prepared::@6: scope:[mulf8s_prepared] from mulf8s_prepared
|
||||
[55] (word) mulf8s_prepared::m#0 ← (word) mulf8u_prepared::return#2 [ mulf8s_prepared::b#4 mulf8s_prepared::m#0 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::b#4 mulf8s_prepared::m#0 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8s_prepared::m#0 ] )
|
||||
[56] if(*((const signed byte*) mulf8s_prepared::memA#0)>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mulf8s_prepared::@1 [ mulf8s_prepared::b#4 mulf8s_prepared::m#0 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::b#4 mulf8s_prepared::m#0 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8s_prepared::m#0 ] )
|
||||
[53] (word) mulf8s_prepared::m#0 ← (word) mulf8u_prepared::return#2 [ mulf8s_prepared::b#4 mulf8s_prepared::m#0 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::b#4 mulf8s_prepared::m#0 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8s_prepared::m#0 ] )
|
||||
[54] if(*((const signed byte*) mulf8s_prepared::memA#0)>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mulf8s_prepared::@1 [ mulf8s_prepared::b#4 mulf8s_prepared::m#0 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::b#4 mulf8s_prepared::m#0 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8s_prepared::m#0 ] )
|
||||
to:mulf8s_prepared::@3
|
||||
mulf8s_prepared::@3: scope:[mulf8s_prepared] from mulf8s_prepared::@6
|
||||
[57] (byte~) mulf8s_prepared::$5 ← > (word) mulf8s_prepared::m#0 [ mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$5 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$5 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$5 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$5 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$5 ] )
|
||||
[58] (byte~) mulf8s_prepared::$15 ← (byte~) mulf8s_prepared::$5 - (byte)(signed byte) mulf8s_prepared::b#4 [ mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$15 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$15 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$15 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$15 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$15 ] )
|
||||
[59] (word) mulf8s_prepared::m#1 ← (word) mulf8s_prepared::m#0 hi= (byte~) mulf8s_prepared::$15 [ mulf8s_prepared::b#4 mulf8s_prepared::m#1 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::b#4 mulf8s_prepared::m#1 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#1 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#1 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8s_prepared::m#1 ] )
|
||||
[55] (byte~) mulf8s_prepared::$5 ← > (word) mulf8s_prepared::m#0 [ mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$5 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$5 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$5 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$5 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$5 ] )
|
||||
[56] (byte~) mulf8s_prepared::$15 ← (byte~) mulf8s_prepared::$5 - (byte)(signed byte) mulf8s_prepared::b#4 [ mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$15 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$15 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$15 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$15 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8s_prepared::m#0 mulf8s_prepared::$15 ] )
|
||||
[57] (word) mulf8s_prepared::m#1 ← (word) mulf8s_prepared::m#0 hi= (byte~) mulf8s_prepared::$15 [ mulf8s_prepared::b#4 mulf8s_prepared::m#1 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::b#4 mulf8s_prepared::m#1 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#1 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#1 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8s_prepared::m#1 ] )
|
||||
to:mulf8s_prepared::@1
|
||||
mulf8s_prepared::@1: scope:[mulf8s_prepared] from mulf8s_prepared::@3 mulf8s_prepared::@6
|
||||
[60] (word) mulf8s_prepared::m#5 ← phi( mulf8s_prepared::@3/(word) mulf8s_prepared::m#1 mulf8s_prepared::@6/(word) mulf8s_prepared::m#0 ) [ mulf8s_prepared::b#4 mulf8s_prepared::m#5 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::b#4 mulf8s_prepared::m#5 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#5 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#5 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8s_prepared::m#5 ] )
|
||||
[61] if((signed byte) mulf8s_prepared::b#4>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mulf8s_prepared::@2 [ mulf8s_prepared::m#5 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::m#5 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::m#5 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::m#5 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::m#5 ] )
|
||||
[58] (word) mulf8s_prepared::m#5 ← phi( mulf8s_prepared::@3/(word) mulf8s_prepared::m#1 mulf8s_prepared::@6/(word) mulf8s_prepared::m#0 ) [ mulf8s_prepared::b#4 mulf8s_prepared::m#5 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::b#4 mulf8s_prepared::m#5 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#5 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8s_prepared::m#5 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8s_prepared::m#5 ] )
|
||||
[59] if((signed byte) mulf8s_prepared::b#4>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mulf8s_prepared::@2 [ mulf8s_prepared::m#5 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::m#5 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::m#5 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::m#5 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::m#5 ] )
|
||||
to:mulf8s_prepared::@4
|
||||
mulf8s_prepared::@4: scope:[mulf8s_prepared] from mulf8s_prepared::@1
|
||||
[62] (byte~) mulf8s_prepared::$11 ← > (word) mulf8s_prepared::m#5 [ mulf8s_prepared::m#5 mulf8s_prepared::$11 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::m#5 mulf8s_prepared::$11 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::m#5 mulf8s_prepared::$11 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::m#5 mulf8s_prepared::$11 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::m#5 mulf8s_prepared::$11 ] )
|
||||
[63] (byte~) mulf8s_prepared::$16 ← (byte~) mulf8s_prepared::$11 - (byte)*((const signed byte*) mulf8s_prepared::memA#0) [ mulf8s_prepared::m#5 mulf8s_prepared::$16 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::m#5 mulf8s_prepared::$16 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::m#5 mulf8s_prepared::$16 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::m#5 mulf8s_prepared::$16 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::m#5 mulf8s_prepared::$16 ] )
|
||||
[64] (word) mulf8s_prepared::m#2 ← (word) mulf8s_prepared::m#5 hi= (byte~) mulf8s_prepared::$16 [ mulf8s_prepared::m#2 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::m#2 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::m#2 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::m#2 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::m#2 ] )
|
||||
[60] (byte~) mulf8s_prepared::$11 ← > (word) mulf8s_prepared::m#5 [ mulf8s_prepared::m#5 mulf8s_prepared::$11 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::m#5 mulf8s_prepared::$11 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::m#5 mulf8s_prepared::$11 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::m#5 mulf8s_prepared::$11 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::m#5 mulf8s_prepared::$11 ] )
|
||||
[61] (byte~) mulf8s_prepared::$16 ← (byte~) mulf8s_prepared::$11 - (byte)*((const signed byte*) mulf8s_prepared::memA#0) [ mulf8s_prepared::m#5 mulf8s_prepared::$16 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::m#5 mulf8s_prepared::$16 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::m#5 mulf8s_prepared::$16 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::m#5 mulf8s_prepared::$16 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::m#5 mulf8s_prepared::$16 ] )
|
||||
[62] (word) mulf8s_prepared::m#2 ← (word) mulf8s_prepared::m#5 hi= (byte~) mulf8s_prepared::$16 [ mulf8s_prepared::m#2 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::m#2 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::m#2 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::m#2 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::m#2 ] )
|
||||
to:mulf8s_prepared::@2
|
||||
mulf8s_prepared::@2: scope:[mulf8s_prepared] from mulf8s_prepared::@1 mulf8s_prepared::@4
|
||||
[65] (word) mulf8s_prepared::m#4 ← phi( mulf8s_prepared::@1/(word) mulf8s_prepared::m#5 mulf8s_prepared::@4/(word) mulf8s_prepared::m#2 ) [ mulf8s_prepared::m#4 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::m#4 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::m#4 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::m#4 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::m#4 ] )
|
||||
[63] (word) mulf8s_prepared::m#4 ← phi( mulf8s_prepared::@1/(word) mulf8s_prepared::m#5 mulf8s_prepared::@4/(word) mulf8s_prepared::m#2 ) [ mulf8s_prepared::m#4 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::m#4 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::m#4 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::m#4 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::m#4 ] )
|
||||
to:mulf8s_prepared::@return
|
||||
mulf8s_prepared::@return: scope:[mulf8s_prepared] from mulf8s_prepared::@2
|
||||
[66] return [ mulf8s_prepared::m#4 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::m#4 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::m#4 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::m#4 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::m#4 ] )
|
||||
[64] return [ mulf8s_prepared::m#4 ] ( main:3::anim:8::mulf8s_prepared:17 [ anim::angle#12 mulf8s_prepared::m#4 ] main:3::anim:8::mulf8s_prepared:21 [ anim::angle#12 anim::xr#0 mulf8s_prepared::m#4 ] main:3::anim:8::mulf8s_prepared:28 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::m#4 ] main:3::anim:8::mulf8s_prepared:33 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::m#4 ] )
|
||||
to:@return
|
||||
mulf8u_prepared: scope:[mulf8u_prepared] from mulf8s_prepared
|
||||
[67] *((const byte*) mulf8u_prepared::memB#0) ← (byte)(signed byte) mulf8s_prepared::b#4 [ mulf8s_prepared::b#4 ] ( main:3::anim:8::mulf8s_prepared:17::mulf8u_prepared:53 [ anim::angle#12 mulf8s_prepared::b#4 ] main:3::anim:8::mulf8s_prepared:21::mulf8u_prepared:53 [ anim::angle#12 anim::xr#0 mulf8s_prepared::b#4 ] main:3::anim:8::mulf8s_prepared:28::mulf8u_prepared:53 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 ] main:3::anim:8::mulf8s_prepared:33::mulf8u_prepared:53 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 ] )
|
||||
[65] *((const byte*) mulf8u_prepared::memB#0) ← (byte)(signed byte) mulf8s_prepared::b#4 [ mulf8s_prepared::b#4 ] ( main:3::anim:8::mulf8s_prepared:17::mulf8u_prepared:51 [ anim::angle#12 mulf8s_prepared::b#4 ] main:3::anim:8::mulf8s_prepared:21::mulf8u_prepared:51 [ anim::angle#12 anim::xr#0 mulf8s_prepared::b#4 ] main:3::anim:8::mulf8s_prepared:28::mulf8u_prepared:51 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 ] main:3::anim:8::mulf8s_prepared:33::mulf8u_prepared:51 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 ] )
|
||||
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 }
|
||||
[69] (word) mulf8u_prepared::return#0 ← *((const byte*) mulf8u_prepared::memB#0) w= *((const byte*) mulf8u_prepared::resL#0) [ mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] ( main:3::anim:8::mulf8s_prepared:17::mulf8u_prepared:53 [ anim::angle#12 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] main:3::anim:8::mulf8s_prepared:21::mulf8u_prepared:53 [ anim::angle#12 anim::xr#0 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] main:3::anim:8::mulf8s_prepared:28::mulf8u_prepared:53 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] main:3::anim:8::mulf8s_prepared:33::mulf8u_prepared:53 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] )
|
||||
[67] (word) mulf8u_prepared::return#0 ← *((const byte*) mulf8u_prepared::memB#0) w= *((const byte*) mulf8u_prepared::resL#0) [ mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] ( main:3::anim:8::mulf8s_prepared:17::mulf8u_prepared:51 [ anim::angle#12 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] main:3::anim:8::mulf8s_prepared:21::mulf8u_prepared:51 [ anim::angle#12 anim::xr#0 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] main:3::anim:8::mulf8s_prepared:28::mulf8u_prepared:51 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] main:3::anim:8::mulf8s_prepared:33::mulf8u_prepared:51 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] )
|
||||
to:mulf8u_prepared::@return
|
||||
mulf8u_prepared::@return: scope:[mulf8u_prepared] from mulf8u_prepared
|
||||
[70] return [ mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] ( main:3::anim:8::mulf8s_prepared:17::mulf8u_prepared:53 [ anim::angle#12 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] main:3::anim:8::mulf8s_prepared:21::mulf8u_prepared:53 [ anim::angle#12 anim::xr#0 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] main:3::anim:8::mulf8s_prepared:28::mulf8u_prepared:53 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] main:3::anim:8::mulf8s_prepared:33::mulf8u_prepared:53 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] )
|
||||
[68] return [ mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] ( main:3::anim:8::mulf8s_prepared:17::mulf8u_prepared:51 [ anim::angle#12 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] main:3::anim:8::mulf8s_prepared:21::mulf8u_prepared:51 [ anim::angle#12 anim::xr#0 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] main:3::anim:8::mulf8s_prepared:28::mulf8u_prepared:51 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] main:3::anim:8::mulf8s_prepared:33::mulf8u_prepared:51 [ anim::angle#12 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8u_prepared::return#0 ] )
|
||||
to:@return
|
||||
mulf8u_prepare: scope:[mulf8u_prepare] from anim::mulf8s_prepare1 anim::mulf8s_prepare2
|
||||
[71] (byte) mulf8u_prepare::a#2 ← phi( anim::mulf8s_prepare1/(byte~) mulf8u_prepare::a#3 anim::mulf8s_prepare2/(byte~) mulf8u_prepare::a#4 ) [ mulf8u_prepare::a#2 ] ( main:3::anim:8::mulf8u_prepare:15 [ anim::angle#12 mulf8u_prepare::a#2 ] main:3::anim:8::mulf8u_prepare:26 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8u_prepare::a#2 ] )
|
||||
[72] *((const byte*) mulf8u_prepare::memA#0) ← (byte) mulf8u_prepare::a#2 [ ] ( main:3::anim:8::mulf8u_prepare:15 [ anim::angle#12 ] main:3::anim:8::mulf8u_prepare:26 [ anim::angle#12 anim::xr#0 anim::yr#0 ] )
|
||||
[69] (byte) mulf8u_prepare::a#2 ← phi( anim::mulf8s_prepare1/(byte~) mulf8u_prepare::a#3 anim::mulf8s_prepare2/(byte~) mulf8u_prepare::a#4 ) [ mulf8u_prepare::a#2 ] ( main:3::anim:8::mulf8u_prepare:15 [ anim::angle#12 mulf8u_prepare::a#2 ] main:3::anim:8::mulf8u_prepare:26 [ anim::angle#12 anim::xr#0 anim::yr#0 mulf8u_prepare::a#2 ] )
|
||||
[70] *((const byte*) mulf8u_prepare::memA#0) ← (byte) mulf8u_prepare::a#2 [ ] ( main:3::anim:8::mulf8u_prepare:15 [ anim::angle#12 ] main:3::anim:8::mulf8u_prepare:26 [ anim::angle#12 anim::xr#0 anim::yr#0 ] )
|
||||
asm { ldamemA stamulf8u_prepared.sm1+1 stamulf8u_prepared.sm3+1 eor#$ff stamulf8u_prepared.sm2+1 stamulf8u_prepared.sm4+1 }
|
||||
to:mulf8u_prepare::@return
|
||||
mulf8u_prepare::@return: scope:[mulf8u_prepare] from mulf8u_prepare
|
||||
[74] return [ ] ( main:3::anim:8::mulf8u_prepare:15 [ anim::angle#12 ] main:3::anim:8::mulf8u_prepare:26 [ anim::angle#12 anim::xr#0 anim::yr#0 ] )
|
||||
[72] return [ ] ( main:3::anim:8::mulf8u_prepare:15 [ anim::angle#12 ] main:3::anim:8::mulf8u_prepare:26 [ anim::angle#12 anim::xr#0 anim::yr#0 ] )
|
||||
to:@return
|
||||
init: scope:[init] from main
|
||||
[75] phi() [ ] ( main:3::init:6 [ ] )
|
||||
[76] call mulf_init [ ] ( main:3::init:6 [ ] )
|
||||
[73] phi() [ ] ( main:3::init:6 [ ] )
|
||||
[74] call mulf_init [ ] ( main:3::init:6 [ ] )
|
||||
to:init::@3
|
||||
init::@3: scope:[init] from init
|
||||
[77] *((const byte*) SPRITES_ENABLE#0) ← (byte/word/signed word/dword/signed dword) 255 [ ] ( main:3::init:6 [ ] )
|
||||
[75] *((const byte*) SPRITES_ENABLE#0) ← (byte/word/signed word/dword/signed dword) 255 [ ] ( main:3::init:6 [ ] )
|
||||
to:init::@1
|
||||
init::@1: scope:[init] from init::@1 init::@3
|
||||
[78] (byte) init::spr_x#2 ← phi( init::@1/(byte) init::spr_x#1 init::@3/(byte/signed byte/word/signed word/dword/signed dword) 60 ) [ init::i#2 init::spr_x#2 ] ( main:3::init:6 [ init::i#2 init::spr_x#2 ] )
|
||||
[78] (byte) init::i#2 ← phi( init::@1/(byte) init::i#1 init::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ init::i#2 init::spr_x#2 ] ( main:3::init:6 [ init::i#2 init::spr_x#2 ] )
|
||||
[79] (byte) init::i2#0 ← (byte) init::i#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ init::i#2 init::spr_x#2 init::i2#0 ] ( main:3::init:6 [ init::i#2 init::spr_x#2 init::i2#0 ] )
|
||||
[80] *((const byte*) init::sprites_ptr#0 + (byte) init::i#2) ← ((byte))(const byte*) SPRITE#0/(byte/signed byte/word/signed word/dword/signed dword) 64 [ init::i#2 init::spr_x#2 init::i2#0 ] ( main:3::init:6 [ init::i#2 init::spr_x#2 init::i2#0 ] )
|
||||
[81] *((const byte*) SPRITES_XPOS#0 + (byte) init::i2#0) ← (byte) init::spr_x#2 [ init::i#2 init::spr_x#2 init::i2#0 ] ( main:3::init:6 [ init::i#2 init::spr_x#2 init::i2#0 ] )
|
||||
[82] *((const byte*) SPRITES_YPOS#0 + (byte) init::i2#0) ← (byte) init::spr_x#2 [ init::i#2 init::spr_x#2 ] ( main:3::init:6 [ init::i#2 init::spr_x#2 ] )
|
||||
[83] *((const byte*) SPRITES_COLS#0 + (byte) init::i#2) ← (const byte) GREEN#0 [ init::i#2 init::spr_x#2 ] ( main:3::init:6 [ init::i#2 init::spr_x#2 ] )
|
||||
[84] (byte) init::spr_x#1 ← (byte) init::spr_x#2 + (byte/signed byte/word/signed word/dword/signed dword) 24 [ init::i#2 init::spr_x#1 ] ( main:3::init:6 [ init::i#2 init::spr_x#1 ] )
|
||||
[85] (byte) init::i#1 ← ++ (byte) init::i#2 [ init::i#1 init::spr_x#1 ] ( main:3::init:6 [ init::i#1 init::spr_x#1 ] )
|
||||
[86] if((byte) init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto init::@1 [ init::i#1 init::spr_x#1 ] ( main:3::init:6 [ init::i#1 init::spr_x#1 ] )
|
||||
[76] (byte) init::spr_x#2 ← phi( init::@1/(byte) init::spr_x#1 init::@3/(byte/signed byte/word/signed word/dword/signed dword) 60 ) [ init::i#2 init::spr_x#2 ] ( main:3::init:6 [ init::i#2 init::spr_x#2 ] )
|
||||
[76] (byte) init::i#2 ← phi( init::@1/(byte) init::i#1 init::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ init::i#2 init::spr_x#2 ] ( main:3::init:6 [ init::i#2 init::spr_x#2 ] )
|
||||
[77] (byte) init::i2#0 ← (byte) init::i#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ init::i#2 init::spr_x#2 init::i2#0 ] ( main:3::init:6 [ init::i#2 init::spr_x#2 init::i2#0 ] )
|
||||
[78] *((const byte*) init::sprites_ptr#0 + (byte) init::i#2) ← ((byte))(const byte*) SPRITE#0/(byte/signed byte/word/signed word/dword/signed dword) 64 [ init::i#2 init::spr_x#2 init::i2#0 ] ( main:3::init:6 [ init::i#2 init::spr_x#2 init::i2#0 ] )
|
||||
[79] *((const byte*) SPRITES_XPOS#0 + (byte) init::i2#0) ← (byte) init::spr_x#2 [ init::i#2 init::spr_x#2 init::i2#0 ] ( main:3::init:6 [ init::i#2 init::spr_x#2 init::i2#0 ] )
|
||||
[80] *((const byte*) SPRITES_YPOS#0 + (byte) init::i2#0) ← (byte) init::spr_x#2 [ init::i#2 init::spr_x#2 ] ( main:3::init:6 [ init::i#2 init::spr_x#2 ] )
|
||||
[81] *((const byte*) SPRITES_COLS#0 + (byte) init::i#2) ← (const byte) GREEN#0 [ init::i#2 init::spr_x#2 ] ( main:3::init:6 [ init::i#2 init::spr_x#2 ] )
|
||||
[82] (byte) init::spr_x#1 ← (byte) init::spr_x#2 + (byte/signed byte/word/signed word/dword/signed dword) 24 [ init::i#2 init::spr_x#1 ] ( main:3::init:6 [ init::i#2 init::spr_x#1 ] )
|
||||
[83] (byte) init::i#1 ← ++ (byte) init::i#2 [ init::i#1 init::spr_x#1 ] ( main:3::init:6 [ init::i#1 init::spr_x#1 ] )
|
||||
[84] if((byte) init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto init::@1 [ init::i#1 init::spr_x#1 ] ( main:3::init:6 [ init::i#1 init::spr_x#1 ] )
|
||||
to:init::@return
|
||||
init::@return: scope:[init] from init::@1
|
||||
[87] return [ ] ( main:3::init:6 [ ] )
|
||||
[85] return [ ] ( main:3::init:6 [ ] )
|
||||
to:@return
|
||||
mulf_init: scope:[mulf_init] from init
|
||||
[88] phi() [ ] ( main:3::init:6::mulf_init:76 [ ] )
|
||||
[86] phi() [ ] ( main:3::init:6::mulf_init:74 [ ] )
|
||||
to:mulf_init::@1
|
||||
mulf_init::@1: scope:[mulf_init] from mulf_init mulf_init::@2
|
||||
[89] (byte) mulf_init::x_2#3 ← phi( mulf_init/(byte/signed byte/word/signed word/dword/signed dword) 0 mulf_init::@2/(byte) mulf_init::x_2#2 ) [ mulf_init::c#2 mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 ] ( main:3::init:6::mulf_init:76 [ mulf_init::c#2 mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 ] )
|
||||
[89] (byte*) mulf_init::sqr1_hi#2 ← phi( mulf_init/(const byte[512]) mulf_sqr1_hi#0+(byte/signed byte/word/signed word/dword/signed dword) 1 mulf_init::@2/(byte*) mulf_init::sqr1_hi#1 ) [ mulf_init::c#2 mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 ] ( main:3::init:6::mulf_init:76 [ mulf_init::c#2 mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 ] )
|
||||
[89] (byte*) mulf_init::sqr1_lo#2 ← phi( mulf_init/(const byte[512]) mulf_sqr1_lo#0+(byte/signed byte/word/signed word/dword/signed dword) 1 mulf_init::@2/(byte*) mulf_init::sqr1_lo#1 ) [ mulf_init::c#2 mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 ] ( main:3::init:6::mulf_init:76 [ mulf_init::c#2 mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 ] )
|
||||
[89] (word) mulf_init::sqr#4 ← phi( mulf_init/(byte/signed byte/word/signed word/dword/signed dword) 0 mulf_init::@2/(word) mulf_init::sqr#1 ) [ mulf_init::c#2 mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 ] ( main:3::init:6::mulf_init:76 [ mulf_init::c#2 mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 ] )
|
||||
[89] (byte) mulf_init::c#2 ← phi( mulf_init/(byte/signed byte/word/signed word/dword/signed dword) 0 mulf_init::@2/(byte) mulf_init::c#1 ) [ mulf_init::c#2 mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 ] ( main:3::init:6::mulf_init:76 [ mulf_init::c#2 mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 ] )
|
||||
[90] (byte) mulf_init::c#1 ← ++ (byte) mulf_init::c#2 [ mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 mulf_init::c#1 ] ( main:3::init:6::mulf_init:76 [ mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 mulf_init::c#1 ] )
|
||||
[91] (byte~) mulf_init::$2 ← (byte) mulf_init::c#1 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 mulf_init::c#1 mulf_init::$2 ] ( main:3::init:6::mulf_init:76 [ mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 mulf_init::c#1 mulf_init::$2 ] )
|
||||
[92] if((byte~) mulf_init::$2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mulf_init::@2 [ mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 mulf_init::c#1 ] ( main:3::init:6::mulf_init:76 [ mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 mulf_init::c#1 ] )
|
||||
[87] (byte) mulf_init::x_2#3 ← phi( mulf_init/(byte/signed byte/word/signed word/dword/signed dword) 0 mulf_init::@2/(byte) mulf_init::x_2#2 ) [ mulf_init::c#2 mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 ] ( main:3::init:6::mulf_init:74 [ mulf_init::c#2 mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 ] )
|
||||
[87] (byte*) mulf_init::sqr1_hi#2 ← phi( mulf_init/(const byte[512]) mulf_sqr1_hi#0+(byte/signed byte/word/signed word/dword/signed dword) 1 mulf_init::@2/(byte*) mulf_init::sqr1_hi#1 ) [ mulf_init::c#2 mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 ] ( main:3::init:6::mulf_init:74 [ mulf_init::c#2 mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 ] )
|
||||
[87] (byte*) mulf_init::sqr1_lo#2 ← phi( mulf_init/(const byte[512]) mulf_sqr1_lo#0+(byte/signed byte/word/signed word/dword/signed dword) 1 mulf_init::@2/(byte*) mulf_init::sqr1_lo#1 ) [ mulf_init::c#2 mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 ] ( main:3::init:6::mulf_init:74 [ mulf_init::c#2 mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 ] )
|
||||
[87] (word) mulf_init::sqr#4 ← phi( mulf_init/(byte/signed byte/word/signed word/dword/signed dword) 0 mulf_init::@2/(word) mulf_init::sqr#1 ) [ mulf_init::c#2 mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 ] ( main:3::init:6::mulf_init:74 [ mulf_init::c#2 mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 ] )
|
||||
[87] (byte) mulf_init::c#2 ← phi( mulf_init/(byte/signed byte/word/signed word/dword/signed dword) 0 mulf_init::@2/(byte) mulf_init::c#1 ) [ mulf_init::c#2 mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 ] ( main:3::init:6::mulf_init:74 [ mulf_init::c#2 mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 ] )
|
||||
[88] (byte) mulf_init::c#1 ← ++ (byte) mulf_init::c#2 [ mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 mulf_init::c#1 ] ( main:3::init:6::mulf_init:74 [ mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 mulf_init::c#1 ] )
|
||||
[89] (byte~) mulf_init::$2 ← (byte) mulf_init::c#1 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 mulf_init::c#1 mulf_init::$2 ] ( main:3::init:6::mulf_init:74 [ mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 mulf_init::c#1 mulf_init::$2 ] )
|
||||
[90] if((byte~) mulf_init::$2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mulf_init::@2 [ mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 mulf_init::c#1 ] ( main:3::init:6::mulf_init:74 [ mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::x_2#3 mulf_init::c#1 ] )
|
||||
to:mulf_init::@5
|
||||
mulf_init::@5: scope:[mulf_init] from mulf_init::@1
|
||||
[93] (byte) mulf_init::x_2#1 ← ++ (byte) mulf_init::x_2#3 [ mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#1 ] ( main:3::init:6::mulf_init:76 [ mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#1 ] )
|
||||
[94] (word) mulf_init::sqr#2 ← ++ (word) mulf_init::sqr#4 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#1 mulf_init::sqr#2 ] ( main:3::init:6::mulf_init:76 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#1 mulf_init::sqr#2 ] )
|
||||
[91] (byte) mulf_init::x_2#1 ← ++ (byte) mulf_init::x_2#3 [ mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#1 ] ( main:3::init:6::mulf_init:74 [ mulf_init::sqr#4 mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#1 ] )
|
||||
[92] (word) mulf_init::sqr#2 ← ++ (word) mulf_init::sqr#4 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#1 mulf_init::sqr#2 ] ( main:3::init:6::mulf_init:74 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#1 mulf_init::sqr#2 ] )
|
||||
to:mulf_init::@2
|
||||
mulf_init::@2: scope:[mulf_init] from mulf_init::@1 mulf_init::@5
|
||||
[95] (byte) mulf_init::x_2#2 ← phi( mulf_init::@1/(byte) mulf_init::x_2#3 mulf_init::@5/(byte) mulf_init::x_2#1 ) [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 ] ( main:3::init:6::mulf_init:76 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 ] )
|
||||
[95] (word) mulf_init::sqr#3 ← phi( mulf_init::@1/(word) mulf_init::sqr#4 mulf_init::@5/(word) mulf_init::sqr#2 ) [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 ] ( main:3::init:6::mulf_init:76 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 ] )
|
||||
[96] (byte~) mulf_init::$5 ← < (word) mulf_init::sqr#3 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 mulf_init::$5 ] ( main:3::init:6::mulf_init:76 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 mulf_init::$5 ] )
|
||||
[97] *((byte*) mulf_init::sqr1_lo#2) ← (byte~) mulf_init::$5 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 ] ( main:3::init:6::mulf_init:76 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 ] )
|
||||
[98] (byte~) mulf_init::$6 ← > (word) mulf_init::sqr#3 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 mulf_init::$6 ] ( main:3::init:6::mulf_init:76 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 mulf_init::$6 ] )
|
||||
[99] *((byte*) mulf_init::sqr1_hi#2) ← (byte~) mulf_init::$6 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 ] ( main:3::init:6::mulf_init:76 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 ] )
|
||||
[100] (byte*) mulf_init::sqr1_hi#1 ← ++ (byte*) mulf_init::sqr1_hi#2 [ mulf_init::sqr1_lo#2 mulf_init::c#1 mulf_init::sqr1_hi#1 mulf_init::x_2#2 mulf_init::sqr#3 ] ( main:3::init:6::mulf_init:76 [ mulf_init::sqr1_lo#2 mulf_init::c#1 mulf_init::sqr1_hi#1 mulf_init::x_2#2 mulf_init::sqr#3 ] )
|
||||
[101] (word) mulf_init::sqr#1 ← (word) mulf_init::sqr#3 + (byte) mulf_init::x_2#2 [ mulf_init::sqr1_lo#2 mulf_init::c#1 mulf_init::sqr#1 mulf_init::sqr1_hi#1 mulf_init::x_2#2 ] ( main:3::init:6::mulf_init:76 [ mulf_init::sqr1_lo#2 mulf_init::c#1 mulf_init::sqr#1 mulf_init::sqr1_hi#1 mulf_init::x_2#2 ] )
|
||||
[102] (byte*) mulf_init::sqr1_lo#1 ← ++ (byte*) mulf_init::sqr1_lo#2 [ mulf_init::c#1 mulf_init::sqr#1 mulf_init::sqr1_lo#1 mulf_init::sqr1_hi#1 mulf_init::x_2#2 ] ( main:3::init:6::mulf_init:76 [ mulf_init::c#1 mulf_init::sqr#1 mulf_init::sqr1_lo#1 mulf_init::sqr1_hi#1 mulf_init::x_2#2 ] )
|
||||
[103] if((byte*) mulf_init::sqr1_lo#1!=(const byte[512]) mulf_sqr1_lo#0+(word/signed word/dword/signed dword) 512) goto mulf_init::@1 [ mulf_init::c#1 mulf_init::sqr#1 mulf_init::sqr1_lo#1 mulf_init::sqr1_hi#1 mulf_init::x_2#2 ] ( main:3::init:6::mulf_init:76 [ mulf_init::c#1 mulf_init::sqr#1 mulf_init::sqr1_lo#1 mulf_init::sqr1_hi#1 mulf_init::x_2#2 ] )
|
||||
[93] (byte) mulf_init::x_2#2 ← phi( mulf_init::@1/(byte) mulf_init::x_2#3 mulf_init::@5/(byte) mulf_init::x_2#1 ) [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 ] ( main:3::init:6::mulf_init:74 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 ] )
|
||||
[93] (word) mulf_init::sqr#3 ← phi( mulf_init::@1/(word) mulf_init::sqr#4 mulf_init::@5/(word) mulf_init::sqr#2 ) [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 ] ( main:3::init:6::mulf_init:74 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 ] )
|
||||
[94] (byte~) mulf_init::$5 ← < (word) mulf_init::sqr#3 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 mulf_init::$5 ] ( main:3::init:6::mulf_init:74 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 mulf_init::$5 ] )
|
||||
[95] *((byte*) mulf_init::sqr1_lo#2) ← (byte~) mulf_init::$5 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 ] ( main:3::init:6::mulf_init:74 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 ] )
|
||||
[96] (byte~) mulf_init::$6 ← > (word) mulf_init::sqr#3 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 mulf_init::$6 ] ( main:3::init:6::mulf_init:74 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 mulf_init::$6 ] )
|
||||
[97] *((byte*) mulf_init::sqr1_hi#2) ← (byte~) mulf_init::$6 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 ] ( main:3::init:6::mulf_init:74 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 ] )
|
||||
[98] (byte*) mulf_init::sqr1_hi#1 ← ++ (byte*) mulf_init::sqr1_hi#2 [ mulf_init::sqr1_lo#2 mulf_init::c#1 mulf_init::sqr1_hi#1 mulf_init::x_2#2 mulf_init::sqr#3 ] ( main:3::init:6::mulf_init:74 [ mulf_init::sqr1_lo#2 mulf_init::c#1 mulf_init::sqr1_hi#1 mulf_init::x_2#2 mulf_init::sqr#3 ] )
|
||||
[99] (word) mulf_init::sqr#1 ← (word) mulf_init::sqr#3 + (byte) mulf_init::x_2#2 [ mulf_init::sqr1_lo#2 mulf_init::c#1 mulf_init::sqr#1 mulf_init::sqr1_hi#1 mulf_init::x_2#2 ] ( main:3::init:6::mulf_init:74 [ mulf_init::sqr1_lo#2 mulf_init::c#1 mulf_init::sqr#1 mulf_init::sqr1_hi#1 mulf_init::x_2#2 ] )
|
||||
[100] (byte*) mulf_init::sqr1_lo#1 ← ++ (byte*) mulf_init::sqr1_lo#2 [ mulf_init::c#1 mulf_init::sqr#1 mulf_init::sqr1_lo#1 mulf_init::sqr1_hi#1 mulf_init::x_2#2 ] ( main:3::init:6::mulf_init:74 [ mulf_init::c#1 mulf_init::sqr#1 mulf_init::sqr1_lo#1 mulf_init::sqr1_hi#1 mulf_init::x_2#2 ] )
|
||||
[101] if((byte*) mulf_init::sqr1_lo#1!=(const byte[512]) mulf_sqr1_lo#0+(word/signed word/dword/signed dword) 512) goto mulf_init::@1 [ mulf_init::c#1 mulf_init::sqr#1 mulf_init::sqr1_lo#1 mulf_init::sqr1_hi#1 mulf_init::x_2#2 ] ( main:3::init:6::mulf_init:74 [ mulf_init::c#1 mulf_init::sqr#1 mulf_init::sqr1_lo#1 mulf_init::sqr1_hi#1 mulf_init::x_2#2 ] )
|
||||
to:mulf_init::@3
|
||||
mulf_init::@3: scope:[mulf_init] from mulf_init::@2 mulf_init::@4
|
||||
[104] (byte) mulf_init::dir#2 ← phi( mulf_init::@4/(byte) mulf_init::dir#3 mulf_init::@2/(byte/word/signed word/dword/signed dword) 255 ) [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] ( main:3::init:6::mulf_init:76 [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] )
|
||||
[104] (byte*) mulf_init::sqr2_hi#2 ← phi( mulf_init::@4/(byte*) mulf_init::sqr2_hi#1 mulf_init::@2/(const byte[512]) mulf_sqr2_hi#0 ) [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] ( main:3::init:6::mulf_init:76 [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] )
|
||||
[104] (byte*) mulf_init::sqr2_lo#2 ← phi( mulf_init::@4/(byte*) mulf_init::sqr2_lo#1 mulf_init::@2/(const byte[512]) mulf_sqr2_lo#0 ) [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] ( main:3::init:6::mulf_init:76 [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] )
|
||||
[104] (byte) mulf_init::x_255#2 ← phi( mulf_init::@4/(byte) mulf_init::x_255#1 mulf_init::@2/((byte))-(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] ( main:3::init:6::mulf_init:76 [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] )
|
||||
[105] *((byte*) mulf_init::sqr2_lo#2) ← *((const byte[512]) mulf_sqr1_lo#0 + (byte) mulf_init::x_255#2) [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] ( main:3::init:6::mulf_init:76 [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] )
|
||||
[106] *((byte*) mulf_init::sqr2_hi#2) ← *((const byte[512]) mulf_sqr1_hi#0 + (byte) mulf_init::x_255#2) [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] ( main:3::init:6::mulf_init:76 [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] )
|
||||
[107] (byte*) mulf_init::sqr2_hi#1 ← ++ (byte*) mulf_init::sqr2_hi#2 [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::dir#2 mulf_init::sqr2_hi#1 ] ( main:3::init:6::mulf_init:76 [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::dir#2 mulf_init::sqr2_hi#1 ] )
|
||||
[108] (byte) mulf_init::x_255#1 ← (byte) mulf_init::x_255#2 + (byte) mulf_init::dir#2 [ mulf_init::sqr2_lo#2 mulf_init::dir#2 mulf_init::x_255#1 mulf_init::sqr2_hi#1 ] ( main:3::init:6::mulf_init:76 [ mulf_init::sqr2_lo#2 mulf_init::dir#2 mulf_init::x_255#1 mulf_init::sqr2_hi#1 ] )
|
||||
[109] if((byte) mulf_init::x_255#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mulf_init::@12 [ mulf_init::sqr2_lo#2 mulf_init::dir#2 mulf_init::x_255#1 mulf_init::sqr2_hi#1 ] ( main:3::init:6::mulf_init:76 [ mulf_init::sqr2_lo#2 mulf_init::dir#2 mulf_init::x_255#1 mulf_init::sqr2_hi#1 ] )
|
||||
[102] (byte) mulf_init::dir#2 ← phi( mulf_init::@4/(byte) mulf_init::dir#3 mulf_init::@2/(byte/word/signed word/dword/signed dword) 255 ) [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] ( main:3::init:6::mulf_init:74 [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] )
|
||||
[102] (byte*) mulf_init::sqr2_hi#2 ← phi( mulf_init::@4/(byte*) mulf_init::sqr2_hi#1 mulf_init::@2/(const byte[512]) mulf_sqr2_hi#0 ) [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] ( main:3::init:6::mulf_init:74 [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] )
|
||||
[102] (byte*) mulf_init::sqr2_lo#2 ← phi( mulf_init::@4/(byte*) mulf_init::sqr2_lo#1 mulf_init::@2/(const byte[512]) mulf_sqr2_lo#0 ) [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] ( main:3::init:6::mulf_init:74 [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] )
|
||||
[102] (byte) mulf_init::x_255#2 ← phi( mulf_init::@4/(byte) mulf_init::x_255#1 mulf_init::@2/((byte))-(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] ( main:3::init:6::mulf_init:74 [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] )
|
||||
[103] *((byte*) mulf_init::sqr2_lo#2) ← *((const byte[512]) mulf_sqr1_lo#0 + (byte) mulf_init::x_255#2) [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] ( main:3::init:6::mulf_init:74 [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] )
|
||||
[104] *((byte*) mulf_init::sqr2_hi#2) ← *((const byte[512]) mulf_sqr1_hi#0 + (byte) mulf_init::x_255#2) [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] ( main:3::init:6::mulf_init:74 [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] )
|
||||
[105] (byte*) mulf_init::sqr2_hi#1 ← ++ (byte*) mulf_init::sqr2_hi#2 [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::dir#2 mulf_init::sqr2_hi#1 ] ( main:3::init:6::mulf_init:74 [ mulf_init::x_255#2 mulf_init::sqr2_lo#2 mulf_init::dir#2 mulf_init::sqr2_hi#1 ] )
|
||||
[106] (byte) mulf_init::x_255#1 ← (byte) mulf_init::x_255#2 + (byte) mulf_init::dir#2 [ mulf_init::sqr2_lo#2 mulf_init::dir#2 mulf_init::x_255#1 mulf_init::sqr2_hi#1 ] ( main:3::init:6::mulf_init:74 [ mulf_init::sqr2_lo#2 mulf_init::dir#2 mulf_init::x_255#1 mulf_init::sqr2_hi#1 ] )
|
||||
[107] if((byte) mulf_init::x_255#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mulf_init::@12 [ mulf_init::sqr2_lo#2 mulf_init::dir#2 mulf_init::x_255#1 mulf_init::sqr2_hi#1 ] ( main:3::init:6::mulf_init:74 [ mulf_init::sqr2_lo#2 mulf_init::dir#2 mulf_init::x_255#1 mulf_init::sqr2_hi#1 ] )
|
||||
to:mulf_init::@4
|
||||
mulf_init::@4: scope:[mulf_init] from mulf_init::@12 mulf_init::@3
|
||||
[110] (byte) mulf_init::dir#3 ← phi( mulf_init::@12/(byte) mulf_init::dir#2 mulf_init::@3/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ mulf_init::sqr2_lo#2 mulf_init::x_255#1 mulf_init::sqr2_hi#1 mulf_init::dir#3 ] ( main:3::init:6::mulf_init:76 [ mulf_init::sqr2_lo#2 mulf_init::x_255#1 mulf_init::sqr2_hi#1 mulf_init::dir#3 ] )
|
||||
[111] (byte*) mulf_init::sqr2_lo#1 ← ++ (byte*) mulf_init::sqr2_lo#2 [ mulf_init::x_255#1 mulf_init::sqr2_lo#1 mulf_init::sqr2_hi#1 mulf_init::dir#3 ] ( main:3::init:6::mulf_init:76 [ mulf_init::x_255#1 mulf_init::sqr2_lo#1 mulf_init::sqr2_hi#1 mulf_init::dir#3 ] )
|
||||
[112] if((byte*) mulf_init::sqr2_lo#1!=(const byte[512]) mulf_sqr2_lo#0+(word/signed word/dword/signed dword) 511) goto mulf_init::@3 [ mulf_init::x_255#1 mulf_init::sqr2_lo#1 mulf_init::sqr2_hi#1 mulf_init::dir#3 ] ( main:3::init:6::mulf_init:76 [ mulf_init::x_255#1 mulf_init::sqr2_lo#1 mulf_init::sqr2_hi#1 mulf_init::dir#3 ] )
|
||||
[108] (byte) mulf_init::dir#3 ← phi( mulf_init::@12/(byte) mulf_init::dir#2 mulf_init::@3/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ mulf_init::sqr2_lo#2 mulf_init::x_255#1 mulf_init::sqr2_hi#1 mulf_init::dir#3 ] ( main:3::init:6::mulf_init:74 [ mulf_init::sqr2_lo#2 mulf_init::x_255#1 mulf_init::sqr2_hi#1 mulf_init::dir#3 ] )
|
||||
[109] (byte*) mulf_init::sqr2_lo#1 ← ++ (byte*) mulf_init::sqr2_lo#2 [ mulf_init::x_255#1 mulf_init::sqr2_lo#1 mulf_init::sqr2_hi#1 mulf_init::dir#3 ] ( main:3::init:6::mulf_init:74 [ mulf_init::x_255#1 mulf_init::sqr2_lo#1 mulf_init::sqr2_hi#1 mulf_init::dir#3 ] )
|
||||
[110] if((byte*) mulf_init::sqr2_lo#1!=(const byte[512]) mulf_sqr2_lo#0+(word/signed word/dword/signed dword) 511) goto mulf_init::@3 [ mulf_init::x_255#1 mulf_init::sqr2_lo#1 mulf_init::sqr2_hi#1 mulf_init::dir#3 ] ( main:3::init:6::mulf_init:74 [ mulf_init::x_255#1 mulf_init::sqr2_lo#1 mulf_init::sqr2_hi#1 mulf_init::dir#3 ] )
|
||||
to:mulf_init::@8
|
||||
mulf_init::@8: scope:[mulf_init] from mulf_init::@4
|
||||
[113] *((const byte[512]) mulf_sqr2_lo#0+(word/signed word/dword/signed dword) 511) ← *((const byte[512]) mulf_sqr1_lo#0+(word/signed word/dword/signed dword) 256) [ ] ( main:3::init:6::mulf_init:76 [ ] )
|
||||
[114] *((const byte[512]) mulf_sqr2_hi#0+(word/signed word/dword/signed dword) 511) ← *((const byte[512]) mulf_sqr1_hi#0+(word/signed word/dword/signed dword) 256) [ ] ( main:3::init:6::mulf_init:76 [ ] )
|
||||
[111] *((const byte[512]) mulf_sqr2_lo#0+(word/signed word/dword/signed dword) 511) ← *((const byte[512]) mulf_sqr1_lo#0+(word/signed word/dword/signed dword) 256) [ ] ( main:3::init:6::mulf_init:74 [ ] )
|
||||
[112] *((const byte[512]) mulf_sqr2_hi#0+(word/signed word/dword/signed dword) 511) ← *((const byte[512]) mulf_sqr1_hi#0+(word/signed word/dword/signed dword) 256) [ ] ( main:3::init:6::mulf_init:74 [ ] )
|
||||
to:mulf_init::@return
|
||||
mulf_init::@return: scope:[mulf_init] from mulf_init::@8
|
||||
[115] return [ ] ( main:3::init:6::mulf_init:76 [ ] )
|
||||
[113] return [ ] ( main:3::init:6::mulf_init:74 [ ] )
|
||||
to:@return
|
||||
mulf_init::@12: scope:[mulf_init] from mulf_init::@3
|
||||
[116] phi() [ mulf_init::sqr2_lo#2 mulf_init::dir#2 mulf_init::x_255#1 mulf_init::sqr2_hi#1 ] ( main:3::init:6::mulf_init:76 [ mulf_init::sqr2_lo#2 mulf_init::dir#2 mulf_init::x_255#1 mulf_init::sqr2_hi#1 ] )
|
||||
[114] phi() [ mulf_init::sqr2_lo#2 mulf_init::dir#2 mulf_init::x_255#1 mulf_init::sqr2_hi#1 ] ( main:3::init:6::mulf_init:74 [ mulf_init::sqr2_lo#2 mulf_init::dir#2 mulf_init::x_255#1 mulf_init::sqr2_hi#1 ] )
|
||||
to:mulf_init::@4
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -32,11 +32,9 @@
|
||||
(signed word~) anim::$13 $13 zp ZP_WORD:3 22.0
|
||||
(byte~) anim::$14 reg byte a 11.0
|
||||
(signed byte~) anim::$17 reg byte a 22.0
|
||||
(byte~) anim::$19 reg byte a 11.0
|
||||
(signed byte~) anim::$21 reg byte a 22.0
|
||||
(byte~) anim::$23 reg byte a 22.0
|
||||
(byte~) anim::$24 reg byte a 22.0
|
||||
(byte~) anim::$25 reg byte a 22.0
|
||||
(byte~) anim::$19 reg byte a 22.0
|
||||
(byte~) anim::$20 reg byte a 22.0
|
||||
(byte~) anim::$22 reg byte a 22.0
|
||||
(signed word~) anim::$4 $4 zp ZP_WORD:5 22.0
|
||||
(signed word~) anim::$6 $6 zp ZP_WORD:7 22.0
|
||||
(label) anim::@1
|
||||
@ -50,7 +48,7 @@
|
||||
(label) anim::@6
|
||||
(byte) anim::angle
|
||||
(byte) anim::angle#1 reg byte y 11.0
|
||||
(byte) anim::angle#12 reg byte y 0.5641025641025641
|
||||
(byte) anim::angle#12 reg byte y 0.5945945945945946
|
||||
(signed byte) anim::cos_a
|
||||
(label) anim::mulf8s_prepare1
|
||||
(byte~) anim::mulf8s_prepare1_$0
|
||||
@ -62,17 +60,17 @@
|
||||
(signed byte) anim::x
|
||||
(const signed byte) anim::x#0 x = (byte/signed byte/word/signed word/dword/signed dword) 89
|
||||
(signed word) anim::xpos
|
||||
(signed word) anim::xpos#0 xpos zp ZP_WORD:3 5.5
|
||||
(signed word) anim::xpos#0 xpos zp ZP_WORD:3 11.0
|
||||
(signed word) anim::xr
|
||||
(signed word) anim::xr#0 xr zp ZP_WORD:5 1.8333333333333333
|
||||
(signed word) anim::xr#1 xr zp ZP_WORD:5 3.6666666666666665
|
||||
(signed byte) anim::y
|
||||
(const signed byte) anim::y#0 y = (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(signed word) anim::ypos
|
||||
(signed word) anim::ypos#0 ypos zp ZP_WORD:5 4.4
|
||||
(byte) anim::ypos
|
||||
(byte) anim::ypos#0 reg byte a 22.0
|
||||
(signed word) anim::yr
|
||||
(signed word) anim::yr#0 yr zp ZP_WORD:7 1.6923076923076923
|
||||
(signed word) anim::yr#1 yr zp ZP_WORD:7 5.5
|
||||
(signed word) anim::yr#1 yr zp ZP_WORD:7 2.75
|
||||
(void()) init()
|
||||
(label) init::@1
|
||||
(label) init::@3
|
||||
@ -191,16 +189,15 @@ zp ZP_WORD:3 [ mulf8s_prepared::m#4 mulf8s_prepared::m#5 mulf8s_prepared::m#1 mu
|
||||
reg byte a [ mulf8u_prepare::a#2 mulf8u_prepare::a#3 mulf8u_prepare::a#4 ]
|
||||
reg byte y [ init::i#2 init::i#1 ]
|
||||
reg byte x [ mulf_init::c#2 mulf_init::c#1 ]
|
||||
zp ZP_WORD:5 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 anim::$4 anim::xr#0 anim::xr#1 anim::ypos#0 ]
|
||||
zp ZP_WORD:5 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 anim::$4 anim::xr#0 anim::xr#1 ]
|
||||
zp ZP_WORD:7 [ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 anim::$6 anim::yr#0 anim::yr#1 ]
|
||||
reg byte x [ mulf_init::x_255#2 mulf_init::x_255#1 ]
|
||||
reg byte a [ anim::$14 ]
|
||||
reg byte a [ anim::$17 ]
|
||||
reg byte a [ anim::$19 ]
|
||||
reg byte a [ anim::$21 ]
|
||||
reg byte a [ anim::$23 ]
|
||||
reg byte a [ anim::$24 ]
|
||||
reg byte a [ anim::$25 ]
|
||||
reg byte a [ anim::$20 ]
|
||||
reg byte a [ anim::$22 ]
|
||||
reg byte a [ anim::ypos#0 ]
|
||||
reg byte a [ mulf8s_prepared::$5 ]
|
||||
reg byte a [ mulf8s_prepared::$15 ]
|
||||
reg byte a [ mulf8s_prepared::$11 ]
|
||||
|
Loading…
Reference in New Issue
Block a user