mirror of
https://gitlab.com/camelot/kickc.git
synced 2025-08-09 20:25:17 +00:00
63 lines
1.8 KiB
INI
63 lines
1.8 KiB
INI
|
|
void __start()
|
|
__start: scope:[__start] from
|
|
[0] phi()
|
|
to:__start::__init1
|
|
__start::__init1: scope:[__start] from __start
|
|
[1] idx = 0
|
|
to:__start::@1
|
|
__start::@1: scope:[__start] from __start::__init1
|
|
[2] phi()
|
|
[3] callexecute main
|
|
to:__start::@return
|
|
__start::@return: scope:[__start] from __start::@1
|
|
[4] return
|
|
to:@return
|
|
|
|
__stackcall void print(struct Point p)
|
|
print: scope:[print] from
|
|
[5] print::p = stackidx(struct Point,print::OFFSET_STACK_P)
|
|
[6] SCREEN[idx] = *((char *)&print::p)
|
|
[7] idx = ++ idx
|
|
[8] SCREEN[idx] = *((char *)&print::p+OFFSET_STRUCT_POINT_Y)
|
|
[9] idx = ++ idx
|
|
to:print::@return
|
|
print::@return: scope:[print] from print
|
|
[10] return
|
|
to:@return
|
|
|
|
__stackcall struct Point get(char i)
|
|
get: scope:[get] from
|
|
[11] get::i#0 = stackidx(char,get::OFFSET_STACK_I)
|
|
[12] get::$0 = get::i#0 >> 1
|
|
[13] *((char *)&get::p) = get::i#0
|
|
[14] *((char *)&get::p+OFFSET_STRUCT_POINT_Y) = get::$0
|
|
[15] *(&get::return) = memcpy(*(&get::p), struct Point, SIZEOF_STRUCT_POINT)
|
|
to:get::@return
|
|
get::@return: scope:[get] from get
|
|
[16] stackidx(struct Point,get::OFFSET_STACK_RETURN_0) = get::return
|
|
[17] return
|
|
to:@return
|
|
|
|
__stackcall void main()
|
|
main: scope:[main] from
|
|
[18] phi()
|
|
to:main::@1
|
|
main::@1: scope:[main] from main main::@2
|
|
[19] main::i#2 = phi( main/0, main::@2/main::i#1 )
|
|
[20] if(main::i#2<5) goto main::@2
|
|
to:main::@return
|
|
main::@return: scope:[main] from main::@1
|
|
[21] return
|
|
to:@return
|
|
main::@2: scope:[main] from main::@1
|
|
[22] stackpush(char) = main::i#2
|
|
sideeffect stackpushpadding(1)
|
|
[24] callexecute get
|
|
[25] main::p = stackpull(struct Point)
|
|
[26] stackpush(struct Point) = main::p
|
|
[27] callexecute print
|
|
sideeffect stackpullpadding(2)
|
|
[29] main::i#1 = ++ main::i#2
|
|
to:main::@1
|