mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-09-09 08:54:40 +00:00
310 lines
14 KiB
INI
310 lines
14 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 lin16u_gen
|
|
to:main::@4
|
|
main::@4: scope:[main] from main
|
|
[6] phi()
|
|
[7] call lin16u_gen
|
|
to:main::@5
|
|
main::@5: scope:[main] from main::@4
|
|
[8] phi()
|
|
[9] call lin16u_gen
|
|
to:main::@6
|
|
main::@6: scope:[main] from main::@5
|
|
[10] phi()
|
|
[11] call print_cls
|
|
to:main::@7
|
|
main::@7: scope:[main] from main::@6
|
|
[12] phi()
|
|
[13] call print_str
|
|
to:main::@8
|
|
main::@8: scope:[main] from main::@7
|
|
[14] phi()
|
|
[15] call print_uint
|
|
to:main::@9
|
|
main::@9: scope:[main] from main::@8
|
|
[16] phi()
|
|
[17] call print_str
|
|
to:main::@10
|
|
main::@10: scope:[main] from main::@9
|
|
[18] phi()
|
|
[19] call print_uint
|
|
to:main::@11
|
|
main::@11: scope:[main] from main::@10
|
|
[20] phi()
|
|
[21] call print_str
|
|
to:main::@12
|
|
main::@12: scope:[main] from main::@11
|
|
[22] phi()
|
|
[23] call print_uint
|
|
to:main::@13
|
|
main::@13: scope:[main] from main::@12
|
|
[24] phi()
|
|
[25] call print_ln
|
|
to:main::@1
|
|
main::@1: scope:[main] from main::@13 main::@21
|
|
[26] (byte) main::i#10 ← phi( main::@13/(byte) 0 main::@21/(byte) main::i#1 )
|
|
[27] if((byte) main::i#10<(byte) $14) goto main::@2
|
|
to:main::@3
|
|
main::@3: scope:[main] from main::@1
|
|
[28] (byte*) print_char_cursor#98 ← (byte*) print_line_cursor#1
|
|
[29] call print_str
|
|
to:main::@22
|
|
main::@22: scope:[main] from main::@3
|
|
[30] phi()
|
|
[31] call print_uint
|
|
to:main::@23
|
|
main::@23: scope:[main] from main::@22
|
|
[32] phi()
|
|
[33] call print_str
|
|
to:main::@24
|
|
main::@24: scope:[main] from main::@23
|
|
[34] phi()
|
|
[35] call print_uint
|
|
to:main::@25
|
|
main::@25: scope:[main] from main::@24
|
|
[36] phi()
|
|
[37] call print_str
|
|
to:main::@26
|
|
main::@26: scope:[main] from main::@25
|
|
[38] phi()
|
|
[39] call print_uint
|
|
to:main::@27
|
|
main::@27: scope:[main] from main::@26
|
|
[40] phi()
|
|
[41] call print_ln
|
|
to:main::@return
|
|
main::@return: scope:[main] from main::@27
|
|
[42] return
|
|
to:@return
|
|
main::@2: scope:[main] from main::@1
|
|
[43] (byte) print_uchar::b#2 ← (byte) main::i#10
|
|
[44] (byte*) print_char_cursor#102 ← (byte*) print_line_cursor#1
|
|
[45] call print_uchar
|
|
to:main::@14
|
|
main::@14: scope:[main] from main::@2
|
|
[46] phi()
|
|
[47] call print_str
|
|
to:main::@15
|
|
main::@15: scope:[main] from main::@14
|
|
[48] (byte~) main::$27 ← (byte) main::i#10 << (byte) 1
|
|
[49] (word) print_uint::w#3 ← *((const word*) main::lintab1 + (byte~) main::$27)
|
|
[50] call print_uint
|
|
to:main::@16
|
|
main::@16: scope:[main] from main::@15
|
|
[51] phi()
|
|
[52] call print_str
|
|
to:main::@17
|
|
main::@17: scope:[main] from main::@16
|
|
[53] (byte~) main::$28 ← (byte) main::i#10 << (byte) 1
|
|
[54] (word) print_uint::w#4 ← *((const word*) main::lintab2 + (byte~) main::$28)
|
|
[55] call print_uint
|
|
to:main::@18
|
|
main::@18: scope:[main] from main::@17
|
|
[56] phi()
|
|
[57] call print_str
|
|
to:main::@19
|
|
main::@19: scope:[main] from main::@18
|
|
[58] (byte~) main::$29 ← (byte) main::i#10 << (byte) 1
|
|
[59] (word) print_uint::w#5 ← *((const word*) main::lintab3 + (byte~) main::$29)
|
|
[60] call print_uint
|
|
to:main::@20
|
|
main::@20: scope:[main] from main::@19
|
|
[61] phi()
|
|
[62] call print_ln
|
|
to:main::@21
|
|
main::@21: scope:[main] from main::@20
|
|
[63] (byte) main::i#1 ← ++ (byte) main::i#10
|
|
to:main::@1
|
|
|
|
(void()) print_ln()
|
|
print_ln: scope:[print_ln] from main::@13 main::@20 main::@27
|
|
[64] (byte*) print_line_cursor#21 ← phi( main::@13/(byte*) 1024 main::@20/(byte*) print_line_cursor#1 main::@27/(byte*) print_line_cursor#1 )
|
|
to:print_ln::@1
|
|
print_ln::@1: scope:[print_ln] from print_ln print_ln::@1
|
|
[65] (byte*) print_line_cursor#11 ← phi( print_ln/(byte*) print_line_cursor#21 print_ln::@1/(byte*) print_line_cursor#1 )
|
|
[66] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#11 + (byte) $28
|
|
[67] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#11) goto print_ln::@1
|
|
to:print_ln::@return
|
|
print_ln::@return: scope:[print_ln] from print_ln::@1
|
|
[68] return
|
|
to:@return
|
|
|
|
(void()) print_uint((word) print_uint::w)
|
|
print_uint: scope:[print_uint] from main::@10 main::@12 main::@15 main::@17 main::@19 main::@22 main::@24 main::@26 main::@8
|
|
[69] (word) print_uint::w#10 ← phi( main::@10/(word) $79cb main::@12/(byte) 0 main::@15/(word) print_uint::w#3 main::@17/(word) print_uint::w#4 main::@19/(word) print_uint::w#5 main::@22/(word) $7461 main::@24/(word) $f781 main::@26/(word) $6488 main::@8/(word) $22d )
|
|
[70] (byte) print_uchar::b#0 ← > (word) print_uint::w#10
|
|
[71] call print_uchar
|
|
to:print_uint::@1
|
|
print_uint::@1: scope:[print_uint] from print_uint
|
|
[72] (byte) print_uchar::b#1 ← < (word) print_uint::w#10
|
|
[73] call print_uchar
|
|
to:print_uint::@return
|
|
print_uint::@return: scope:[print_uint] from print_uint::@1
|
|
[74] return
|
|
to:@return
|
|
|
|
(void()) print_uchar((byte) print_uchar::b)
|
|
print_uchar: scope:[print_uchar] from main::@2 print_uint print_uint::@1
|
|
[75] (byte*) print_char_cursor#82 ← phi( main::@2/(byte*) print_char_cursor#102 print_uint/(byte*) print_char_cursor#2 print_uint::@1/(byte*) print_char_cursor#11 )
|
|
[75] (byte) print_uchar::b#3 ← phi( main::@2/(byte) print_uchar::b#2 print_uint/(byte) print_uchar::b#0 print_uint::@1/(byte) print_uchar::b#1 )
|
|
[76] (byte~) print_uchar::$0 ← (byte) print_uchar::b#3 >> (byte) 4
|
|
[77] (byte) print_char::ch#1 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$0)
|
|
[78] call print_char
|
|
to:print_uchar::@1
|
|
print_uchar::@1: scope:[print_uchar] from print_uchar
|
|
[79] (byte~) print_uchar::$2 ← (byte) print_uchar::b#3 & (byte) $f
|
|
[80] (byte) print_char::ch#2 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$2)
|
|
[81] call print_char
|
|
to:print_uchar::@return
|
|
print_uchar::@return: scope:[print_uchar] from print_uchar::@1
|
|
[82] return
|
|
to:@return
|
|
|
|
(void()) print_char((byte) print_char::ch)
|
|
print_char: scope:[print_char] from print_str::@2 print_uchar print_uchar::@1
|
|
[83] (byte*) print_char_cursor#50 ← phi( print_str::@2/(byte*) print_char_cursor#2 print_uchar/(byte*) print_char_cursor#82 print_uchar::@1/(byte*) print_char_cursor#11 )
|
|
[83] (byte) print_char::ch#3 ← phi( print_str::@2/(byte) print_char::ch#0 print_uchar/(byte) print_char::ch#1 print_uchar::@1/(byte) print_char::ch#2 )
|
|
[84] *((byte*) print_char_cursor#50) ← (byte) print_char::ch#3
|
|
[85] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#50
|
|
to:print_char::@return
|
|
print_char::@return: scope:[print_char] from print_char
|
|
[86] return
|
|
to:@return
|
|
|
|
(void()) print_str((byte*) print_str::str)
|
|
print_str: scope:[print_str] from main::@11 main::@14 main::@16 main::@18 main::@23 main::@25 main::@3 main::@7 main::@9
|
|
[87] (byte*) print_char_cursor#87 ← phi( main::@11/(byte*) print_char_cursor#11 main::@14/(byte*) print_char_cursor#11 main::@16/(byte*) print_char_cursor#11 main::@18/(byte*) print_char_cursor#11 main::@23/(byte*) print_char_cursor#11 main::@25/(byte*) print_char_cursor#11 main::@3/(byte*) print_char_cursor#98 main::@7/(byte*) 1024 main::@9/(byte*) print_char_cursor#11 )
|
|
[87] (byte*) print_str::str#13 ← phi( main::@11/(const byte*) main::str1 main::@14/(const byte*) main::str1 main::@16/(const byte*) main::str1 main::@18/(const byte*) main::str1 main::@23/(const byte*) main::str1 main::@25/(const byte*) main::str1 main::@3/(const byte*) main::str main::@7/(const byte*) main::str main::@9/(const byte*) main::str1 )
|
|
to:print_str::@1
|
|
print_str::@1: scope:[print_str] from print_str print_str::@3
|
|
[88] (byte*) print_char_cursor#2 ← phi( print_str/(byte*) print_char_cursor#87 print_str::@3/(byte*) print_char_cursor#11 )
|
|
[88] (byte*) print_str::str#10 ← phi( print_str/(byte*) print_str::str#13 print_str::@3/(byte*) print_str::str#0 )
|
|
[89] if((byte) 0!=*((byte*) print_str::str#10)) goto print_str::@2
|
|
to:print_str::@return
|
|
print_str::@return: scope:[print_str] from print_str::@1
|
|
[90] return
|
|
to:@return
|
|
print_str::@2: scope:[print_str] from print_str::@1
|
|
[91] (byte) print_char::ch#0 ← *((byte*) print_str::str#10)
|
|
[92] call print_char
|
|
to:print_str::@3
|
|
print_str::@3: scope:[print_str] from print_str::@2
|
|
[93] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#10
|
|
to:print_str::@1
|
|
|
|
(void()) print_cls()
|
|
print_cls: scope:[print_cls] from main::@6
|
|
[94] phi()
|
|
[95] call memset
|
|
to:print_cls::@return
|
|
print_cls::@return: scope:[print_cls] from print_cls
|
|
[96] return
|
|
to:@return
|
|
|
|
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
|
|
memset: scope:[memset] from print_cls
|
|
[97] phi()
|
|
to:memset::@1
|
|
memset::@1: scope:[memset] from memset memset::@2
|
|
[98] (byte*) memset::dst#2 ← phi( memset/(byte*)(const void*) memset::str#0 memset::@2/(byte*) memset::dst#1 )
|
|
[99] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2
|
|
to:memset::@return
|
|
memset::@return: scope:[memset] from memset::@1
|
|
[100] return
|
|
to:@return
|
|
memset::@2: scope:[memset] from memset::@1
|
|
[101] *((byte*) memset::dst#2) ← (const byte) memset::c#0
|
|
[102] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2
|
|
to:memset::@1
|
|
|
|
(void()) lin16u_gen((word) lin16u_gen::min , (word) lin16u_gen::max , (word*) lin16u_gen::lintab , (word) lin16u_gen::length)
|
|
lin16u_gen: scope:[lin16u_gen] from main main::@4 main::@5
|
|
[103] (word*) lin16u_gen::lintab#6 ← phi( main/(const word*) main::lintab1 main::@4/(const word*) main::lintab2 main::@5/(const word*) main::lintab3 )
|
|
[103] (word) lin16u_gen::min#3 ← phi( main/(word) $22d main::@4/(word) $79cb main::@5/(byte) 0 )
|
|
[103] (word) lin16u_gen::max#3 ← phi( main/(word) $7461 main::@4/(word) $f781 main::@5/(word) $6488 )
|
|
[104] (word) lin16u_gen::ampl#0 ← (word) lin16u_gen::max#3 - (word) lin16u_gen::min#3
|
|
[105] (word) divr16u::dividend#1 ← (word) lin16u_gen::ampl#0
|
|
[106] call divr16u
|
|
[107] (word) divr16u::return#2 ← (word) divr16u::return#0
|
|
to:lin16u_gen::@3
|
|
lin16u_gen::@3: scope:[lin16u_gen] from lin16u_gen
|
|
[108] (word) lin16u_gen::stepi#0 ← (word) divr16u::return#2
|
|
[109] (word) divr16u::rem#4 ← (word) rem16u#1
|
|
[110] call divr16u
|
|
[111] (word) divr16u::return#3 ← (word) divr16u::return#0
|
|
to:lin16u_gen::@4
|
|
lin16u_gen::@4: scope:[lin16u_gen] from lin16u_gen::@3
|
|
[112] (word) lin16u_gen::stepf#0 ← (word) divr16u::return#3
|
|
[113] (dword) lin16u_gen::step#0 ← (word) lin16u_gen::stepi#0 dw= (word) lin16u_gen::stepf#0
|
|
[114] (dword) lin16u_gen::val#0 ← (word) lin16u_gen::min#3 dw= (word) 0
|
|
to:lin16u_gen::@1
|
|
lin16u_gen::@1: scope:[lin16u_gen] from lin16u_gen::@2 lin16u_gen::@4
|
|
[115] (word*) lin16u_gen::lintab#4 ← phi( lin16u_gen::@2/(word*) lin16u_gen::lintab#3 lin16u_gen::@4/(word*) lin16u_gen::lintab#6 )
|
|
[115] (dword) lin16u_gen::val#2 ← phi( lin16u_gen::@2/(dword) lin16u_gen::val#1 lin16u_gen::@4/(dword) lin16u_gen::val#0 )
|
|
[115] (word) lin16u_gen::i#2 ← phi( lin16u_gen::@2/(word) lin16u_gen::i#1 lin16u_gen::@4/(word) 0 )
|
|
[116] if((word) lin16u_gen::i#2<(byte) $14) goto lin16u_gen::@2
|
|
to:lin16u_gen::@return
|
|
lin16u_gen::@return: scope:[lin16u_gen] from lin16u_gen::@1
|
|
[117] return
|
|
to:@return
|
|
lin16u_gen::@2: scope:[lin16u_gen] from lin16u_gen::@1
|
|
[118] (word~) lin16u_gen::$6 ← > (dword) lin16u_gen::val#2
|
|
[119] *((word*) lin16u_gen::lintab#4) ← (word~) lin16u_gen::$6
|
|
[120] (dword) lin16u_gen::val#1 ← (dword) lin16u_gen::val#2 + (dword) lin16u_gen::step#0
|
|
[121] (word*) lin16u_gen::lintab#3 ← (word*) lin16u_gen::lintab#4 + (const byte) SIZEOF_WORD
|
|
[122] (word) lin16u_gen::i#1 ← ++ (word) lin16u_gen::i#2
|
|
to:lin16u_gen::@1
|
|
|
|
(word()) divr16u((word) divr16u::dividend , (word) divr16u::divisor , (word) divr16u::rem)
|
|
divr16u: scope:[divr16u] from lin16u_gen lin16u_gen::@3
|
|
[123] (word) divr16u::dividend#5 ← phi( lin16u_gen/(word) divr16u::dividend#1 lin16u_gen::@3/(byte) 0 )
|
|
[123] (word) divr16u::rem#10 ← phi( lin16u_gen/(byte) 0 lin16u_gen::@3/(word) divr16u::rem#4 )
|
|
to:divr16u::@1
|
|
divr16u::@1: scope:[divr16u] from divr16u divr16u::@3
|
|
[124] (byte) divr16u::i#2 ← phi( divr16u/(byte) 0 divr16u::@3/(byte) divr16u::i#1 )
|
|
[124] (word) divr16u::quotient#3 ← phi( divr16u/(word) 0 divr16u::@3/(word) divr16u::return#0 )
|
|
[124] (word) divr16u::dividend#3 ← phi( divr16u/(word) divr16u::dividend#5 divr16u::@3/(word) divr16u::dividend#0 )
|
|
[124] (word) divr16u::rem#5 ← phi( divr16u/(word) divr16u::rem#10 divr16u::@3/(word) divr16u::rem#11 )
|
|
[125] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte) 1
|
|
[126] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3
|
|
[127] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte) $80
|
|
[128] if((byte~) divr16u::$2==(byte) 0) goto divr16u::@2
|
|
to:divr16u::@4
|
|
divr16u::@4: scope:[divr16u] from divr16u::@1
|
|
[129] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte) 1
|
|
to:divr16u::@2
|
|
divr16u::@2: scope:[divr16u] from divr16u::@1 divr16u::@4
|
|
[130] (word) divr16u::rem#6 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 )
|
|
[131] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte) 1
|
|
[132] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte) 1
|
|
[133] if((word) divr16u::rem#6<(byte) $14-(byte) 1) goto divr16u::@3
|
|
to:divr16u::@5
|
|
divr16u::@5: scope:[divr16u] from divr16u::@2
|
|
[134] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1
|
|
[135] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (byte) $14-(byte) 1
|
|
to:divr16u::@3
|
|
divr16u::@3: scope:[divr16u] from divr16u::@2 divr16u::@5
|
|
[136] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 )
|
|
[136] (word) divr16u::rem#11 ← phi( divr16u::@2/(word) divr16u::rem#6 divr16u::@5/(word) divr16u::rem#2 )
|
|
[137] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2
|
|
[138] if((byte) divr16u::i#1!=(byte) $10) goto divr16u::@1
|
|
to:divr16u::@6
|
|
divr16u::@6: scope:[divr16u] from divr16u::@3
|
|
[139] (word) rem16u#1 ← (word) divr16u::rem#11
|
|
to:divr16u::@return
|
|
divr16u::@return: scope:[divr16u] from divr16u::@6
|
|
[140] return
|
|
to:@return
|