mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-11-20 02:32:36 +00:00
144 lines
7.8 KiB
INI
144 lines
7.8 KiB
INI
@begin: scope:[] from
|
|
[0] phi()
|
|
to:@1
|
|
@1: scope:[] from @begin
|
|
[1] phi()
|
|
[2] call main
|
|
to:@end
|
|
@end: scope:[] from @1
|
|
[3] phi()
|
|
|
|
(void()) main()
|
|
main: scope:[main] from @1
|
|
[4] phi()
|
|
[5] call fill
|
|
to:main::@2
|
|
main::@2: scope:[main] from main
|
|
[6] phi()
|
|
[7] call fill
|
|
to:main::@3
|
|
main::@3: scope:[main] from main::@2
|
|
[8] *((const byte*) BORDERCOL) ← (const byte) BLUE
|
|
[9] *((const byte*) D011) ← (const byte) VIC_BMM|(const byte) VIC_DEN|(const byte) VIC_RSEL|(byte) 3
|
|
[10] *((const byte*) VIC_MEMORY) ← (byte)(word)(const byte*) SCREEN&(word) $3fff/(byte) $40|(word)(const byte*) BITMAP&(word) $3fff/(word) $400
|
|
[11] call circle
|
|
to:main::@1
|
|
main::@1: scope:[main] from main::@1 main::@3
|
|
[12] phi()
|
|
to:main::@1
|
|
|
|
(void()) circle((signed word) circle::xc , (signed word) circle::yc , (signed word) circle::r)
|
|
circle: scope:[circle] from main::@3
|
|
[13] phi()
|
|
to:circle::@1
|
|
circle::@1: scope:[circle] from circle circle::@13
|
|
[14] (signed word) circle::p#3 ← phi( circle/(signed byte) 3-(const signed word) circle::r#0<<(signed byte) 1 circle::@13/(signed word) circle::p#10 )
|
|
[14] (signed word) circle::y#13 ← phi( circle/(const signed word) circle::r#0 circle::@13/(signed word) circle::y#10 )
|
|
[14] (signed word) circle::x1#10 ← phi( circle/(signed byte) 0 circle::@13/(signed word) circle::x1#1 )
|
|
[15] if((signed word) circle::x1#10<=(signed word) circle::y#13) goto circle::@2
|
|
to:circle::@return
|
|
circle::@return: scope:[circle] from circle::@1
|
|
[16] return
|
|
to:@return
|
|
circle::@2: scope:[circle] from circle::@1
|
|
[17] if((signed word) circle::p#3<(signed byte) 0) goto circle::@3
|
|
to:circle::@5
|
|
circle::@5: scope:[circle] from circle::@2
|
|
[18] (signed word) circle::y#1 ← (signed word) circle::y#13 - (signed byte) 1
|
|
[19] (signed word~) circle::$5 ← (signed word) circle::x1#10 - (signed word) circle::y#1
|
|
[20] (signed word~) circle::$6 ← (signed word~) circle::$5 << (signed byte) 2
|
|
[21] (signed word~) circle::$7 ← (signed word) circle::p#3 + (signed word~) circle::$6
|
|
[22] (signed word) circle::p#2 ← (signed word~) circle::$7 + (signed byte) $a
|
|
to:circle::@4
|
|
circle::@4: scope:[circle] from circle::@3 circle::@5
|
|
[23] (signed word) circle::p#10 ← phi( circle::@3/(signed word) circle::p#1 circle::@5/(signed word) circle::p#2 )
|
|
[23] (signed word) circle::y#10 ← phi( circle::@3/(signed word) circle::y#13 circle::@5/(signed word) circle::y#1 )
|
|
[24] (signed word) plot::x#0 ← (const signed word) circle::xc#0 + (signed word) circle::x1#10
|
|
[25] (signed word) plot::y#0 ← (const signed word) circle::yc#0 - (signed word) circle::y#10
|
|
[26] call plot
|
|
to:circle::@6
|
|
circle::@6: scope:[circle] from circle::@4
|
|
[27] (signed word) plot::x#1 ← (const signed word) circle::xc#0 - (signed word) circle::x1#10
|
|
[28] (signed word) plot::y#1 ← (const signed word) circle::yc#0 - (signed word) circle::y#10
|
|
[29] call plot
|
|
to:circle::@7
|
|
circle::@7: scope:[circle] from circle::@6
|
|
[30] (signed word) plot::x#2 ← (const signed word) circle::xc#0 + (signed word) circle::x1#10
|
|
[31] (signed word) plot::y#2 ← (const signed word) circle::yc#0 + (signed word) circle::y#10
|
|
[32] call plot
|
|
to:circle::@8
|
|
circle::@8: scope:[circle] from circle::@7
|
|
[33] (signed word) plot::x#3 ← (const signed word) circle::xc#0 - (signed word) circle::x1#10
|
|
[34] (signed word) plot::y#3 ← (const signed word) circle::yc#0 + (signed word) circle::y#10
|
|
[35] call plot
|
|
to:circle::@9
|
|
circle::@9: scope:[circle] from circle::@8
|
|
[36] (signed word) plot::x#4 ← (const signed word) circle::xc#0 + (signed word) circle::y#10
|
|
[37] (signed word) plot::y#4 ← (const signed word) circle::yc#0 - (signed word) circle::x1#10
|
|
[38] call plot
|
|
to:circle::@10
|
|
circle::@10: scope:[circle] from circle::@9
|
|
[39] (signed word) plot::x#5 ← (const signed word) circle::xc#0 - (signed word) circle::y#10
|
|
[40] (signed word) plot::y#5 ← (const signed word) circle::yc#0 - (signed word) circle::x1#10
|
|
[41] call plot
|
|
to:circle::@11
|
|
circle::@11: scope:[circle] from circle::@10
|
|
[42] (signed word) plot::x#6 ← (const signed word) circle::xc#0 + (signed word) circle::y#10
|
|
[43] (signed word) plot::y#6 ← (const signed word) circle::yc#0 + (signed word) circle::x1#10
|
|
[44] call plot
|
|
to:circle::@12
|
|
circle::@12: scope:[circle] from circle::@11
|
|
[45] (signed word) plot::x#7 ← (const signed word) circle::xc#0 - (signed word) circle::y#10
|
|
[46] (signed word) plot::y#7 ← (const signed word) circle::yc#0 + (signed word) circle::x1#10
|
|
[47] call plot
|
|
to:circle::@13
|
|
circle::@13: scope:[circle] from circle::@12
|
|
[48] (signed word) circle::x1#1 ← ++ (signed word) circle::x1#10
|
|
to:circle::@1
|
|
circle::@3: scope:[circle] from circle::@2
|
|
[49] (signed word~) circle::$9 ← (signed word) circle::x1#10 << (signed byte) 2
|
|
[50] (signed word~) circle::$10 ← (signed word) circle::p#3 + (signed word~) circle::$9
|
|
[51] (signed word) circle::p#1 ← (signed word~) circle::$10 + (signed byte) 6
|
|
to:circle::@4
|
|
|
|
(void()) plot((signed word) plot::x , (signed word) plot::y)
|
|
plot: scope:[plot] from circle::@10 circle::@11 circle::@12 circle::@4 circle::@6 circle::@7 circle::@8 circle::@9
|
|
[52] (signed word) plot::y#8 ← phi( circle::@6/(signed word) plot::y#1 circle::@7/(signed word) plot::y#2 circle::@8/(signed word) plot::y#3 circle::@9/(signed word) plot::y#4 circle::@10/(signed word) plot::y#5 circle::@11/(signed word) plot::y#6 circle::@12/(signed word) plot::y#7 circle::@4/(signed word) plot::y#0 )
|
|
[52] (signed word) plot::x#8 ← phi( circle::@6/(signed word) plot::x#1 circle::@7/(signed word) plot::x#2 circle::@8/(signed word) plot::x#3 circle::@9/(signed word) plot::x#4 circle::@10/(signed word) plot::x#5 circle::@11/(signed word) plot::x#6 circle::@12/(signed word) plot::x#7 circle::@4/(signed word) plot::x#0 )
|
|
[53] (signed word~) plot::$0 ← (signed word) plot::x#8 & (signed dword) $fff8
|
|
[54] (byte*) plot::location#1 ← (const byte*) BITMAP + (signed word~) plot::$0
|
|
[55] (byte~) plot::$1 ← < (signed word) plot::y#8
|
|
[56] (byte~) plot::$2 ← (byte~) plot::$1 & (byte) 7
|
|
[57] (byte*) plot::location#2 ← (byte*) plot::location#1 + (byte~) plot::$2
|
|
[58] (signed word~) plot::$3 ← (signed word) plot::y#8 >> (signed byte) 3
|
|
[59] (signed word) plot::$7 ← (signed word~) plot::$3 << (byte) 2
|
|
[60] (signed word) plot::$8 ← (signed word) plot::$7 + (signed word~) plot::$3
|
|
[61] (signed word~) plot::$4 ← (signed word) plot::$8 << (byte) 6
|
|
[62] (byte*) plot::location#3 ← (byte*) plot::location#2 + (signed word~) plot::$4
|
|
[63] (signed byte~) plot::$5 ← (signed word) plot::x#8 & (signed byte) 7
|
|
[64] (byte~) plot::$6 ← *((byte*) plot::location#3) | *((const byte[]) bitmask + (signed byte~) plot::$5)
|
|
[65] *((byte*) plot::location#3) ← (byte~) plot::$6
|
|
to:plot::@return
|
|
plot::@return: scope:[plot] from plot
|
|
[66] return
|
|
to:@return
|
|
|
|
(void()) fill((byte*) fill::start , (signed word) fill::size , (byte) fill::val)
|
|
fill: scope:[fill] from main main::@2
|
|
[67] (byte) fill::val#4 ← phi( main/(byte) 0 main::@2/(byte) $16 )
|
|
[67] (signed word) fill::size#2 ← phi( main/(signed word)(number) $28*(number) $19*(number) 8 main::@2/(signed word)(number) $28*(number) $19 )
|
|
[67] (byte*) fill::addr#0 ← phi( main/(const byte*) BITMAP main::@2/(const byte*) SCREEN )
|
|
[68] (byte*) fill::end#0 ← (byte*) fill::addr#0 + (signed word) fill::size#2
|
|
to:fill::@1
|
|
fill::@1: scope:[fill] from fill fill::@2
|
|
[69] (byte*) fill::addr#2 ← phi( fill/(byte*) fill::addr#0 fill::@2/(byte*) fill::addr#1 )
|
|
[70] if((byte*) fill::addr#2!=(byte*) fill::end#0) goto fill::@2
|
|
to:fill::@return
|
|
fill::@return: scope:[fill] from fill::@1
|
|
[71] return
|
|
to:@return
|
|
fill::@2: scope:[fill] from fill::@1
|
|
[72] *((byte*) fill::addr#2) ← (byte) fill::val#4
|
|
[73] (byte*) fill::addr#1 ← ++ (byte*) fill::addr#2
|
|
to:fill::@1
|