1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-11-16 21:07:56 +00:00
kickc/src/test/ref/printf-1.cfg

271 lines
12 KiB
INI
Raw Normal View History

@begin: scope:[] from
[0] phi()
to:@1
@1: scope:[] from @begin
[1] (byte) printf_cursor_x ← (byte) 0
[2] (byte) printf_cursor_y ← (byte) 0
[3] (byte*) printf_cursor_ptr ← (byte*) 1024
to:@2
@2: scope:[] from @1
[4] phi()
[5] call main
to:@end
@end: scope:[] from @2
[6] phi()
(void()) main()
main: scope:[main] from @2
[7] phi()
[8] call printf_cls
to:main::@1
main::@1: scope:[main] from main
[9] phi()
[10] call printf_string
to:main::@2
main::@2: scope:[main] from main::@1
[11] phi()
[12] call printf_ln
to:main::@3
main::@3: scope:[main] from main::@2
[13] phi()
[14] call printf_string
to:main::@4
main::@4: scope:[main] from main::@3
[15] phi()
[16] call printf_ln
to:main::@5
main::@5: scope:[main] from main::@4
[17] phi()
[18] call printf_string
to:main::@6
main::@6: scope:[main] from main::@5
[19] phi()
[20] call printf_ln
to:main::@7
main::@7: scope:[main] from main::@6
[21] phi()
[22] call printf_string
to:main::@return
main::@return: scope:[main] from main::@7
[23] return
to:@return
(void()) printf_string((byte*) printf_string::str , (byte) printf_string::format_min_length , (byte) printf_string::format_justify_left)
printf_string: scope:[printf_string] from main::@1 main::@3 main::@5 main::@7
[24] (byte*) printf_string::str#10 ← phi( main::@1/(const byte*) main::str main::@3/(const byte*) main::str1 main::@5/(const byte*) main::str main::@7/(const byte*) main::str1 )
[24] (byte) printf_string::format_justify_left#10 ← phi( main::@1/(byte) 0 main::@3/(byte) 0 main::@5/(byte) 1 main::@7/(byte) 1 )
to:printf_string::@3
printf_string::@3: scope:[printf_string] from printf_string
[25] (byte*) strlen::str#1 ← (byte*) printf_string::str#10
[26] call strlen
[27] (word) strlen::return#2 ← (word) strlen::len#2
to:printf_string::@6
printf_string::@6: scope:[printf_string] from printf_string::@3
[28] (word~) printf_string::$9 ← (word) strlen::return#2
[29] (signed byte) printf_string::len#0 ← (signed byte)(word~) printf_string::$9
[30] (signed byte) printf_string::padding#1 ← (signed byte) $a - (signed byte) printf_string::len#0
[31] if((signed byte) printf_string::padding#1>=(signed byte) 0) goto printf_string::@10
to:printf_string::@1
printf_string::@10: scope:[printf_string] from printf_string::@6
[32] phi()
to:printf_string::@1
printf_string::@1: scope:[printf_string] from printf_string::@10 printf_string::@6
[33] (signed byte) printf_string::padding#3 ← phi( printf_string::@6/(signed byte) 0 printf_string::@10/(signed byte) printf_string::padding#1 )
[34] if((byte) 0!=(byte) printf_string::format_justify_left#10) goto printf_string::@2
to:printf_string::@8
printf_string::@8: scope:[printf_string] from printf_string::@1
[35] if((signed byte) 0!=(signed byte) printf_string::padding#3) goto printf_string::@4
to:printf_string::@2
printf_string::@4: scope:[printf_string] from printf_string::@8
[36] (byte) printf_padding::length#0 ← (byte)(signed byte) printf_string::padding#3
[37] call printf_padding
to:printf_string::@2
printf_string::@2: scope:[printf_string] from printf_string::@1 printf_string::@4 printf_string::@8
[38] (byte*) printf_str::str#1 ← (byte*) printf_string::str#10
[39] call printf_str
to:printf_string::@7
printf_string::@7: scope:[printf_string] from printf_string::@2
[40] if((byte) 0==(byte) printf_string::format_justify_left#10) goto printf_string::@return
to:printf_string::@9
printf_string::@9: scope:[printf_string] from printf_string::@7
[41] if((signed byte) 0!=(signed byte) printf_string::padding#3) goto printf_string::@5
to:printf_string::@return
printf_string::@5: scope:[printf_string] from printf_string::@9
[42] (byte) printf_padding::length#1 ← (byte)(signed byte) printf_string::padding#3
[43] call printf_padding
to:printf_string::@return
printf_string::@return: scope:[printf_string] from printf_string::@5 printf_string::@7 printf_string::@9
[44] return
to:@return
(void()) printf_padding((byte) printf_padding::pad , (byte) printf_padding::length)
printf_padding: scope:[printf_padding] from printf_string::@4 printf_string::@5
[45] (byte) printf_padding::pad#4 ← phi( printf_string::@4/(byte) ' ' printf_string::@5/(byte) ' ' )
[45] (byte) printf_padding::length#3 ← phi( printf_string::@4/(byte) printf_padding::length#0 printf_string::@5/(byte) printf_padding::length#1 )
to:printf_padding::@1
printf_padding::@1: scope:[printf_padding] from printf_padding printf_padding::@3
[46] (byte) printf_padding::i#2 ← phi( printf_padding/(byte) 0 printf_padding::@3/(byte) printf_padding::i#1 )
[47] if((byte) printf_padding::i#2<(byte) printf_padding::length#3) goto printf_padding::@2
to:printf_padding::@return
printf_padding::@return: scope:[printf_padding] from printf_padding::@1
[48] return
to:@return
printf_padding::@2: scope:[printf_padding] from printf_padding::@1
[49] (byte) printf_char::ch#0 ← (byte) printf_padding::pad#4
[50] call printf_char
to:printf_padding::@3
printf_padding::@3: scope:[printf_padding] from printf_padding::@2
[51] (byte) printf_padding::i#1 ← ++ (byte) printf_padding::i#2
to:printf_padding::@1
(void()) printf_char((byte) printf_char::ch)
2020-04-21 07:50:36 +00:00
printf_char: scope:[printf_char] from printf_padding::@2 printf_str::@5
[52] (byte) printf_char::ch#2 ← phi( printf_padding::@2/(byte) printf_char::ch#0 printf_str::@5/(byte) printf_char::ch#1 )
[53] *((byte*) printf_cursor_ptr) ← (byte) printf_char::ch#2
[54] (byte*) printf_cursor_ptr ← ++ (byte*) printf_cursor_ptr
[55] (byte) printf_cursor_x ← ++ (byte) printf_cursor_x
[56] if((byte) printf_cursor_x!=(byte) $28) goto printf_char::@return
to:printf_char::@1
printf_char::@1: scope:[printf_char] from printf_char
[57] (byte) printf_cursor_x ← (byte) 0
[58] (byte) printf_cursor_y ← ++ (byte) printf_cursor_y
[59] call printf_scroll
to:printf_char::@return
printf_char::@return: scope:[printf_char] from printf_char printf_char::@1
[60] return
to:@return
(void()) printf_scroll()
printf_scroll: scope:[printf_scroll] from printf_char::@1 printf_ln
[61] if((byte) printf_cursor_y!=(byte) $19) goto printf_scroll::@return
to:printf_scroll::@1
printf_scroll::@1: scope:[printf_scroll] from printf_scroll
[62] phi()
[63] call memcpy
to:printf_scroll::@2
printf_scroll::@2: scope:[printf_scroll] from printf_scroll::@1
[64] phi()
[65] call memset
to:printf_scroll::@3
printf_scroll::@3: scope:[printf_scroll] from printf_scroll::@2
[66] (byte*~) printf_scroll::$4 ← (byte*) printf_cursor_ptr - (byte) $28
[67] (byte*) printf_cursor_ptr ← (byte*~) printf_scroll::$4
[68] (byte) printf_cursor_y ← -- (byte) printf_cursor_y
to:printf_scroll::@return
printf_scroll::@return: scope:[printf_scroll] from printf_scroll printf_scroll::@3
[69] return
to:@return
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
memset: scope:[memset] from printf_cls printf_scroll::@2
[70] (byte) memset::c#4 ← phi( printf_cls/(byte) ' ' printf_scroll::@2/(byte) ' ' )
[70] (void*) memset::str#3 ← phi( printf_cls/(void*) 1024 printf_scroll::@2/(void*)(number) $400+(number) $28*(number) $19-(number) $28 )
[70] (word) memset::num#2 ← phi( printf_cls/(word)(number) $28*(number) $19 printf_scroll::@2/(byte) $28 )
[71] if((word) memset::num#2<=(byte) 0) goto memset::@return
to:memset::@1
memset::@1: scope:[memset] from memset
[72] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (word) memset::num#2
[73] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3
to:memset::@2
memset::@2: scope:[memset] from memset::@1 memset::@3
[74] (byte*) memset::dst#2 ← phi( memset::@1/(byte*) memset::dst#4 memset::@3/(byte*) memset::dst#1 )
[75] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3
to:memset::@return
memset::@return: scope:[memset] from memset memset::@2
[76] return
to:@return
memset::@3: scope:[memset] from memset::@2
[77] *((byte*) memset::dst#2) ← (byte) memset::c#4
[78] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2
to:memset::@2
(void*()) memcpy((void*) memcpy::destination , (void*) memcpy::source , (word) memcpy::num)
memcpy: scope:[memcpy] from printf_scroll::@1
[79] phi()
to:memcpy::@1
memcpy::@1: scope:[memcpy] from memcpy memcpy::@2
[80] (byte*) memcpy::dst#2 ← phi( memcpy/(byte*)(const void*) memcpy::destination#0 memcpy::@2/(byte*) memcpy::dst#1 )
[80] (byte*) memcpy::src#2 ← phi( memcpy/(byte*)(const void*) memcpy::source#0 memcpy::@2/(byte*) memcpy::src#1 )
[81] if((byte*) memcpy::src#2!=(const byte*) memcpy::src_end#0) goto memcpy::@2
to:memcpy::@return
memcpy::@return: scope:[memcpy] from memcpy::@1
[82] return
to:@return
memcpy::@2: scope:[memcpy] from memcpy::@1
[83] *((byte*) memcpy::dst#2) ← *((byte*) memcpy::src#2)
[84] (byte*) memcpy::dst#1 ← ++ (byte*) memcpy::dst#2
[85] (byte*) memcpy::src#1 ← ++ (byte*) memcpy::src#2
to:memcpy::@1
(void()) printf_str((byte*) printf_str::str)
printf_str: scope:[printf_str] from printf_string::@2
[86] phi()
to:printf_str::@1
2020-04-21 07:50:36 +00:00
printf_str::@1: scope:[printf_str] from printf_str printf_str::@4 printf_str::@5
[87] (byte*) printf_str::str#2 ← phi( printf_str/(byte*) printf_str::str#1 printf_str::@4/(byte*) printf_str::str#0 printf_str::@5/(byte*) printf_str::str#0 )
2020-04-21 07:50:36 +00:00
to:printf_str::@2
printf_str::@2: scope:[printf_str] from printf_str::@1
[88] (byte) printf_str::ch#0 ← *((byte*) printf_str::str#2)
[89] (byte*) printf_str::str#0 ← ++ (byte*) printf_str::str#2
[90] if((byte) printf_str::ch#0!=(byte) 0) goto printf_str::@3
to:printf_str::@return
2020-04-21 07:50:36 +00:00
printf_str::@return: scope:[printf_str] from printf_str::@2
[91] return
to:@return
printf_str::@3: scope:[printf_str] from printf_str::@2
[92] if((byte) printf_str::ch#0==(byte) '
2020-04-21 07:50:36 +00:00
') goto printf_str::@4
to:printf_str::@5
printf_str::@5: scope:[printf_str] from printf_str::@3
[93] (byte) printf_char::ch#1 ← (byte) printf_str::ch#0
[94] call printf_char
2020-04-21 07:50:36 +00:00
to:printf_str::@1
printf_str::@4: scope:[printf_str] from printf_str::@3
[95] phi()
[96] call printf_ln
to:printf_str::@1
2020-04-21 07:50:36 +00:00
(void()) printf_ln()
printf_ln: scope:[printf_ln] from main::@2 main::@4 main::@6 printf_str::@4
[97] (byte*~) printf_ln::$0 ← (byte*) printf_cursor_ptr - (byte) printf_cursor_x
[98] (byte*~) printf_ln::$1 ← (byte*~) printf_ln::$0 + (byte) $28
[99] (byte*) printf_cursor_ptr ← (byte*~) printf_ln::$1
[100] (byte) printf_cursor_x ← (byte) 0
[101] (byte) printf_cursor_y ← ++ (byte) printf_cursor_y
[102] call printf_scroll
2020-04-21 07:50:36 +00:00
to:printf_ln::@return
printf_ln::@return: scope:[printf_ln] from printf_ln
[103] return
2020-04-21 07:50:36 +00:00
to:@return
(word()) strlen((byte*) strlen::str)
strlen: scope:[strlen] from printf_string::@3
[104] phi()
to:strlen::@1
strlen::@1: scope:[strlen] from strlen strlen::@2
[105] (word) strlen::len#2 ← phi( strlen/(word) 0 strlen::@2/(word) strlen::len#1 )
[105] (byte*) strlen::str#2 ← phi( strlen/(byte*) strlen::str#1 strlen::@2/(byte*) strlen::str#0 )
[106] if((byte) 0!=*((byte*) strlen::str#2)) goto strlen::@2
to:strlen::@return
strlen::@return: scope:[strlen] from strlen::@1
[107] return
to:@return
strlen::@2: scope:[strlen] from strlen::@1
[108] (word) strlen::len#1 ← ++ (word) strlen::len#2
[109] (byte*) strlen::str#0 ← ++ (byte*) strlen::str#2
to:strlen::@1
(void()) printf_cls()
printf_cls: scope:[printf_cls] from main
[110] phi()
[111] call memset
to:printf_cls::@1
printf_cls::@1: scope:[printf_cls] from printf_cls
[112] (byte*) printf_cursor_ptr ← (byte*) 1024
[113] (byte) printf_cursor_x ← (byte) 0
[114] (byte) printf_cursor_y ← (byte) 0
to:printf_cls::@return
printf_cls::@return: scope:[printf_cls] from printf_cls::@1
[115] return
to:@return