
void __start()
__start: scope:[__start]  from
  [0] phi()
  to:__start::__init1
__start::__init1: scope:[__start]  from __start
  [1] idx1 = 0
  [2] idx2 = 0
  to:__start::@1
__start::@1: scope:[__start]  from __start::__init1
  [3] phi()
  [4] call main 
  to:__start::@return
__start::@return: scope:[__start]  from __start::@1
  [5] return 
  to:@return

void fn2()
fn2: scope:[fn2]  from
  [6] fn2::ret_addr = 0
  [7] fn2::param_char = 0
  asm { pla staret_addr pla staret_addr+1  }
  asm { pla staparam_char  }
  [10] fn2::b#0 = fn2::param_char
  asm { pla staparam_char  }
  [12] fn2::c#0 = fn2::param_char
  asm { ldaret_addr+1 pha ldaret_addr pha  }
  [14] SCREEN2[idx2] = fn2::b#0
  [15] idx2 = ++ idx2
  [16] SCREEN2[idx2] = fn2::c#0
  [17] idx2 = ++ idx2
  to:fn2::@return
fn2::@return: scope:[fn2]  from fn2
  [18] return 
  to:@return

void fn1()
fn1: scope:[fn1]  from
  [19] fn1::ret_addr = 0
  [20] fn1::param_char = 0
  asm { pla staret_addr pla staret_addr+1  }
  asm { pla staparam_char  }
  [23] fn1::b#0 = fn1::param_char
  asm { pla staparam_char  }
  [25] fn1::c#0 = fn1::param_char
  asm { ldaret_addr+1 pha ldaret_addr pha  }
  [27] SCREEN1[idx1] = fn1::b#0
  [28] idx1 = ++ idx1
  [29] SCREEN1[idx1] = fn1::c#0
  [30] idx1 = ++ idx1
  to:fn1::@return
fn1::@return: scope:[fn1]  from fn1
  [31] return 
  to:@return

void main()
main: scope:[main]  from __start::@1
  [32] phi()
  to:main::@1
main::@1: scope:[main]  from main main::@4
  [33] main::i#2 = phi( main/'a', main::@4/main::i#1 )
  [34] if(main::i#2<='p') goto main::@2
  to:main::@return
main::@return: scope:[main]  from main::@1
  [35] return 
  to:@return
main::@2: scope:[main]  from main::@1 main::@5
  [36] main::j#2 = phi( main::@1/0, main::@5/main::j#1 )
  [37] if(main::j#2<2) goto main::@3
  to:main::@4
main::@4: scope:[main]  from main::@2
  [38] main::i#1 = ++ main::i#2
  to:main::@1
main::@3: scope:[main]  from main::@2
  [39] main::param_char = 0
  [40] main::param_char = main::i#2
  asm { ldaparam_char pha  }
  [42] main::param_char = main::j#2
  asm { ldaparam_char pha  }
  [44] main::$3 = main::j#2 << 1
  [45] main::f#0 = main::fns[main::$3]
  [46] callexecute *main::f#0 
  to:main::@5
main::@5: scope:[main]  from main::@3
  [47] main::j#1 = ++ main::j#2
  to:main::@2
