1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-09-29 03:56:15 +00:00
kickc/src/test/ref/test-signed-word-minus-byte.cfg
2020-04-13 20:06:30 +02:00

152 lines
6.2 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 print_cls
to:main::@1
main::@1: scope:[main] from main main::@6
[6] (byte) main::i#2 ← phi( main/(byte) 0 main::@6/(byte) main::i#1 )
[6] (byte*) print_line_cursor#19 ← phi( main/(byte*) 1024 main::@6/(byte*) print_line_cursor#1 )
[6] (byte*) print_char_cursor#53 ← phi( main/(byte*) 1024 main::@6/(byte*) print_char_cursor#63 )
[6] (signed word) main::w1#2 ← phi( main/(signed word) $4d2 main::@6/(signed word) main::w1#1 )
[7] (signed word) main::w2#0 ← (signed word) main::w1#2 - (signed byte) $5b
[8] (signed word) main::w1#1 ← (signed word) main::w2#0 - (signed byte) $29
[9] (signed word) print_sint::w#1 ← (signed word) main::w1#1
[10] call print_sint
to:main::@2
main::@2: scope:[main] from main::@1
[11] phi()
[12] call print_char
to:main::@3
main::@3: scope:[main] from main::@2
[13] (signed word) print_sint::w#2 ← (signed word) main::w2#0
[14] call print_sint
to:main::@4
main::@4: scope:[main] from main::@3
[15] phi()
[16] call print_ln
to:main::@5
main::@5: scope:[main] from main::@4
[17] (byte) main::i#1 ← ++ (byte) main::i#2
[18] if((byte) main::i#1!=(byte) $b) goto main::@6
to:main::@return
main::@return: scope:[main] from main::@5
[19] return
to:@return
main::@6: scope:[main] from main::@5
[20] (byte*) print_char_cursor#63 ← (byte*) print_line_cursor#1
to:main::@1
(void()) print_ln()
print_ln: scope:[print_ln] from main::@4
[21] phi()
to:print_ln::@1
print_ln::@1: scope:[print_ln] from print_ln print_ln::@1
[22] (byte*) print_line_cursor#9 ← phi( print_ln/(byte*) print_line_cursor#19 print_ln::@1/(byte*) print_line_cursor#1 )
[23] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#9 + (byte) $28
[24] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#13) goto print_ln::@1
to:print_ln::@return
print_ln::@return: scope:[print_ln] from print_ln::@1
[25] return
to:@return
(void()) print_sint((signed word) print_sint::w)
print_sint: scope:[print_sint] from main::@1 main::@3
[26] (byte*) print_char_cursor#47 ← phi( main::@1/(byte*) print_char_cursor#53 main::@3/(byte*) print_char_cursor#13 )
[26] (signed word) print_sint::w#3 ← phi( main::@1/(signed word) print_sint::w#1 main::@3/(signed word) print_sint::w#2 )
[27] if((signed word) print_sint::w#3<(signed byte) 0) goto print_sint::@1
to:print_sint::@3
print_sint::@3: scope:[print_sint] from print_sint
[28] phi()
[29] call print_char
to:print_sint::@2
print_sint::@2: scope:[print_sint] from print_sint::@3 print_sint::@4
[30] (signed word) print_sint::w#5 ← phi( print_sint::@4/(signed word) print_sint::w#0 print_sint::@3/(signed word) print_sint::w#3 )
[31] (word) print_uint::w#0 ← (word)(signed word) print_sint::w#5
[32] call print_uint
to:print_sint::@return
print_sint::@return: scope:[print_sint] from print_sint::@2
[33] return
to:@return
print_sint::@1: scope:[print_sint] from print_sint
[34] phi()
[35] call print_char
to:print_sint::@4
print_sint::@4: scope:[print_sint] from print_sint::@1
[36] (signed word) print_sint::w#0 ← - (signed word) print_sint::w#3
to:print_sint::@2
(void()) print_char((byte) print_char::ch)
print_char: scope:[print_char] from main::@2 print_sint::@1 print_sint::@3 print_uchar print_uchar::@1
[37] (byte*) print_char_cursor#36 ← phi( main::@2/(byte*) print_char_cursor#13 print_sint::@1/(byte*) print_char_cursor#47 print_sint::@3/(byte*) print_char_cursor#47 print_uchar/(byte*) print_char_cursor#13 print_uchar::@1/(byte*) print_char_cursor#13 )
[37] (byte) print_char::ch#5 ← phi( main::@2/(byte) ' ' print_sint::@1/(byte) '-' print_sint::@3/(byte) ' ' print_uchar/(byte) print_char::ch#2 print_uchar::@1/(byte) print_char::ch#3 )
[38] *((byte*) print_char_cursor#36) ← (byte) print_char::ch#5
[39] (byte*) print_char_cursor#13 ← ++ (byte*) print_char_cursor#36
to:print_char::@return
print_char::@return: scope:[print_char] from print_char
[40] return
to:@return
(void()) print_uint((word) print_uint::w)
print_uint: scope:[print_uint] from print_sint::@2
[41] (byte) print_uchar::b#0 ← > (word) print_uint::w#0
[42] call print_uchar
to:print_uint::@1
print_uint::@1: scope:[print_uint] from print_uint
[43] (byte) print_uchar::b#1 ← < (word) print_uint::w#0
[44] call print_uchar
to:print_uint::@return
print_uint::@return: scope:[print_uint] from print_uint::@1
[45] return
to:@return
(void()) print_uchar((byte) print_uchar::b)
print_uchar: scope:[print_uchar] from print_uint print_uint::@1
[46] (byte) print_uchar::b#2 ← phi( print_uint/(byte) print_uchar::b#0 print_uint::@1/(byte) print_uchar::b#1 )
[47] (byte~) print_uchar::$0 ← (byte) print_uchar::b#2 >> (byte) 4
[48] (byte) print_char::ch#2 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$0)
[49] call print_char
to:print_uchar::@1
print_uchar::@1: scope:[print_uchar] from print_uchar
[50] (byte~) print_uchar::$2 ← (byte) print_uchar::b#2 & (byte) $f
[51] (byte) print_char::ch#3 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$2)
[52] call print_char
to:print_uchar::@return
print_uchar::@return: scope:[print_uchar] from print_uchar::@1
[53] return
to:@return
(void()) print_cls()
print_cls: scope:[print_cls] from main
[54] phi()
[55] call memset
to:print_cls::@return
print_cls::@return: scope:[print_cls] from print_cls
[56] return
to:@return
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
memset: scope:[memset] from print_cls
[57] phi()
to:memset::@1
memset::@1: scope:[memset] from memset memset::@2
[58] (byte*) memset::dst#2 ← phi( memset/(byte*)(const void*) memset::str#0 memset::@2/(byte*) memset::dst#1 )
[59] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2
to:memset::@return
memset::@return: scope:[memset] from memset::@1
[60] return
to:@return
memset::@2: scope:[memset] from memset::@1
[61] *((byte*) memset::dst#2) ← (const byte) memset::c#0
[62] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2
to:memset::@1