
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] call main
  to:__start::@return
__start::@return: scope:[__start]  from __start::@1
  [4] return 
  to:@return

__stackcall void hello()
hello: scope:[hello]  from do10::@1
  [5] phi()
  to:hello::@1
hello::@1: scope:[hello]  from hello hello::@1
  [6] hello::i#2 = phi( hello/0, hello::@1/hello::i#1 )
  [7] SCREEN[idx] = msg[hello::i#2]
  [8] idx = ++ idx
  [9] hello::i#1 = ++ hello::i#2
  [10] if(0!=msg[hello::i#1]) goto hello::@1
  to:hello::@return
hello::@return: scope:[hello]  from hello::@1
  [11] return 
  to:@return

void main()
main: scope:[main]  from __start::@1
  [12] phi()
  [13] call do10
  to:main::@return
main::@return: scope:[main]  from main
  [14] return 
  to:@return

void do10(void (*fn)())
do10: scope:[do10]  from main
  [15] phi()
  to:do10::@1
do10::@1: scope:[do10]  from do10 do10::@2
  [16] do10::i#2 = phi( do10/0, do10::@2/do10::i#1 )
  [17] callexecute hello 
  to:do10::@2
do10::@2: scope:[do10]  from do10::@1
  [18] do10::i#1 = ++ do10::i#2
  [19] if(do10::i#1!=$a) goto do10::@1
  to:do10::@return
do10::@return: scope:[do10]  from do10::@2
  [20] return 
  to:@return
