
void __start()
__start: scope:[__start]  from
  [0] phi()
  to:__start::__init1
__start::__init1: scope:[__start]  from __start
  [1] xr = 0
  [2] yr = 0
  [3] zr = 0
  [4] psp1 = 0
  [5] psp2 = 0
  to:__start::@1
__start::@1: scope:[__start]  from __start::__init1
  [6] phi()
  [7] call main
  to:__start::@return
__start::@return: scope:[__start]  from __start::@1
  [8] return 
  to:@return

void main()
main: scope:[main]  from __start::@1
  asm { sei  }
  [10] call mulf_init
  to:main::@1
main::@1: scope:[main]  from main
  [11] psp1 = (unsigned int)mulf_sqr1
  [12] psp2 = (unsigned int)mulf_sqr2
  [13] call print_cls
  to:main::@2
main::@2: scope:[main]  from main::@1
  [14] phi()
  [15] call do_perspective
  to:main::@return
main::@return: scope:[main]  from main::@2
  [16] return 
  to:@return

void mulf_init()
mulf_init: scope:[mulf_init]  from main
  [17] phi()
  to:mulf_init::@1
mulf_init::@1: scope:[mulf_init]  from mulf_init mulf_init::@1
  [18] mulf_init::add#2 = phi( mulf_init/1, mulf_init::@1/mulf_init::add#1 )
  [18] mulf_init::i#2 = phi( mulf_init/0, mulf_init::@1/mulf_init::i#1 )
  [18] mulf_init::sqr#2 = phi( mulf_init/0, mulf_init::@1/mulf_init::sqr#1 )
  [19] mulf_init::val#0 = byte1  mulf_init::sqr#2
  [20] mulf_sqr1[mulf_init::i#2] = mulf_init::val#0
  [21] (mulf_sqr1+$100)[mulf_init::i#2] = mulf_init::val#0
  [22] mulf_init::$2 = - mulf_init::i#2
  [23] mulf_sqr1[mulf_init::$2] = mulf_init::val#0
  [24] (mulf_sqr1+$100)[mulf_init::$2] = mulf_init::val#0
  [25] (mulf_sqr2+1)[mulf_init::i#2] = mulf_init::val#0
  [26] (mulf_sqr2+$100+1)[mulf_init::i#2] = mulf_init::val#0
  [27] mulf_init::$6 = 1 - mulf_init::i#2
  [28] mulf_sqr2[mulf_init::$6] = mulf_init::val#0
  [29] (mulf_sqr2+$100)[mulf_init::$6] = mulf_init::val#0
  [30] mulf_init::sqr#1 = mulf_init::sqr#2 + mulf_init::add#2
  [31] mulf_init::add#1 = mulf_init::add#2 + 2
  [32] mulf_init::i#1 = ++ mulf_init::i#2
  [33] if(mulf_init::i#1!=$81) goto mulf_init::@1
  to:mulf_init::@return
mulf_init::@return: scope:[mulf_init]  from mulf_init::@1
  [34] return 
  to:@return

void print_cls()
print_cls: scope:[print_cls]  from main::@1
  [35] phi()
  [36] call memset
  to:print_cls::@return
print_cls::@return: scope:[print_cls]  from print_cls
  [37] return 
  to:@return

void do_perspective(signed char x , signed char y , signed char z)
do_perspective: scope:[do_perspective]  from main::@2
  [38] phi()
  [39] call print_str
  to:do_perspective::@1
do_perspective::@1: scope:[do_perspective]  from do_perspective
  [40] phi()
  [41] call print_schar
  to:do_perspective::@2
do_perspective::@2: scope:[do_perspective]  from do_perspective::@1
  [42] phi()
  [43] call print_str
  to:do_perspective::@3
do_perspective::@3: scope:[do_perspective]  from do_perspective::@2
  [44] phi()
  [45] call print_schar
  to:do_perspective::@4
do_perspective::@4: scope:[do_perspective]  from do_perspective::@3
  [46] phi()
  [47] call print_str
  to:do_perspective::@5
do_perspective::@5: scope:[do_perspective]  from do_perspective::@4
  [48] phi()
  [49] call print_schar
  to:do_perspective::@6
do_perspective::@6: scope:[do_perspective]  from do_perspective::@5
  [50] phi()
  [51] call print_str
  to:do_perspective::@7
do_perspective::@7: scope:[do_perspective]  from do_perspective::@6
  [52] phi()
  [53] call perspective
  to:do_perspective::@8
do_perspective::@8: scope:[do_perspective]  from do_perspective::@7
  [54] print_uchar::b#1 = (char)xr
  [55] call print_uchar
  to:do_perspective::@9
do_perspective::@9: scope:[do_perspective]  from do_perspective::@8
  [56] phi()
  [57] call print_str
  to:do_perspective::@10
do_perspective::@10: scope:[do_perspective]  from do_perspective::@9
  [58] print_uchar::b#2 = (char)yr
  [59] call print_uchar
  to:do_perspective::@11
do_perspective::@11: scope:[do_perspective]  from do_perspective::@10
  [60] phi()
  [61] call print_str
  to:do_perspective::@12
do_perspective::@12: scope:[do_perspective]  from do_perspective::@11
  [62] phi()
  [63] call print_ln
  to:do_perspective::@return
do_perspective::@return: scope:[do_perspective]  from do_perspective::@12
  [64] return 
  to:@return

void * memset(void *str , char c , unsigned int num)
memset: scope:[memset]  from print_cls
  [65] phi()
  to:memset::@1
memset::@1: scope:[memset]  from memset memset::@2
  [66] memset::dst#2 = phi( memset/(char *)memset::str#0, memset::@2/memset::dst#1 )
  [67] if(memset::dst#2!=memset::end#0) goto memset::@2
  to:memset::@return
memset::@return: scope:[memset]  from memset::@1
  [68] return 
  to:@return
memset::@2: scope:[memset]  from memset::@1
  [69] *memset::dst#2 = memset::c#0
  [70] memset::dst#1 = ++ memset::dst#2
  to:memset::@1

void print_str(char *str)
print_str: scope:[print_str]  from do_perspective do_perspective::@11 do_perspective::@2 do_perspective::@4 do_perspective::@6 do_perspective::@9
  [71] print_char_cursor#77 = phi( do_perspective/print_screen#0, do_perspective::@11/print_char_cursor#11, do_perspective::@2/print_char_cursor#11, do_perspective::@4/print_char_cursor#11, do_perspective::@6/print_char_cursor#11, do_perspective::@9/print_char_cursor#11 )
  [71] print_str::str#10 = phi( do_perspective/do_perspective::str, do_perspective::@11/do_perspective::str5, do_perspective::@2/do_perspective::str1, do_perspective::@4/do_perspective::str1, do_perspective::@6/do_perspective::str3, do_perspective::@9/do_perspective::str1 )
  to:print_str::@1
print_str::@1: scope:[print_str]  from print_str print_str::@3
  [72] print_char_cursor#1 = phi( print_str/print_char_cursor#77, print_str::@3/print_char_cursor#11 )
  [72] print_str::str#7 = phi( print_str/print_str::str#10, print_str::@3/print_str::str#0 )
  [73] if(0!=*print_str::str#7) goto print_str::@2
  to:print_str::@return
print_str::@return: scope:[print_str]  from print_str::@1
  [74] return 
  to:@return
print_str::@2: scope:[print_str]  from print_str::@1
  [75] print_char::ch#0 = *print_str::str#7
  [76] call print_char
  to:print_str::@3
print_str::@3: scope:[print_str]  from print_str::@2
  [77] print_str::str#0 = ++ print_str::str#7
  to:print_str::@1

void print_schar(signed char b)
print_schar: scope:[print_schar]  from do_perspective::@1 do_perspective::@3 do_perspective::@5
  [78] print_schar::b#4 = phi( do_perspective::@1/do_perspective::x#0, do_perspective::@3/do_perspective::y#0, do_perspective::@5/do_perspective::z#0 )
  [79] if(print_schar::b#4<0) goto print_schar::@1
  to:print_schar::@3
print_schar::@3: scope:[print_schar]  from print_schar
  [80] phi()
  [81] call print_char
  to:print_schar::@2
print_schar::@2: scope:[print_schar]  from print_schar::@3 print_schar::@4
  [82] print_schar::b#6 = phi( print_schar::@4/print_schar::b#0, print_schar::@3/print_schar::b#4 )
  [83] print_uchar::b#0 = (char)print_schar::b#6
  [84] call print_uchar
  to:print_schar::@return
print_schar::@return: scope:[print_schar]  from print_schar::@2
  [85] return 
  to:@return
print_schar::@1: scope:[print_schar]  from print_schar
  [86] phi()
  [87] call print_char
  to:print_schar::@4
print_schar::@4: scope:[print_schar]  from print_schar::@1
  [88] print_schar::b#0 = - print_schar::b#4
  to:print_schar::@2

void perspective(signed char x , signed char y , signed char z)
perspective: scope:[perspective]  from do_perspective::@7
  [89] xr = do_perspective::x#0
  [90] yr = do_perspective::y#0
  [91] zr = do_perspective::z#0
  asm { ldazr staPP+1 PP: ldaPERSP_Z stapsp1 eor#$ff stapsp2 clc ldyyr lda(psp1),y sbc(psp2),y adc#$80 stayr clc ldyxr lda(psp1),y sbc(psp2),y adc#$80 staxr  }
  to:perspective::@return
perspective::@return: scope:[perspective]  from perspective
  [93] return 
  to:@return

void print_uchar(char b)
print_uchar: scope:[print_uchar]  from do_perspective::@10 do_perspective::@8 print_schar::@2
  [94] print_char_cursor#72 = phi( do_perspective::@10/print_char_cursor#1, do_perspective::@8/print_char_cursor#1, print_schar::@2/print_char_cursor#11 )
  [94] print_uchar::b#3 = phi( do_perspective::@10/print_uchar::b#2, do_perspective::@8/print_uchar::b#1, print_schar::@2/print_uchar::b#0 )
  [95] print_uchar::$0 = print_uchar::b#3 >> 4
  [96] print_char::ch#3 = print_hextab[print_uchar::$0]
  [97] call print_char
  to:print_uchar::@1
print_uchar::@1: scope:[print_uchar]  from print_uchar
  [98] print_uchar::$2 = print_uchar::b#3 & $f
  [99] print_char::ch#4 = print_hextab[print_uchar::$2]
  [100] call print_char
  to:print_uchar::@return
print_uchar::@return: scope:[print_uchar]  from print_uchar::@1
  [101] return 
  to:@return

void print_ln()
print_ln: scope:[print_ln]  from do_perspective::@12
  [102] phi()
  to:print_ln::@1
print_ln::@1: scope:[print_ln]  from print_ln print_ln::@1
  [103] print_line_cursor#12 = phi( print_ln/print_screen#0, print_ln::@1/print_line_cursor#0 )
  [104] print_line_cursor#0 = print_line_cursor#12 + $28
  [105] if(print_line_cursor#0<print_char_cursor#1) goto print_ln::@1
  to:print_ln::@return
print_ln::@return: scope:[print_ln]  from print_ln::@1
  [106] return 
  to:@return

void print_char(char ch)
print_char: scope:[print_char]  from print_schar::@1 print_schar::@3 print_str::@2 print_uchar print_uchar::@1
  [107] print_char_cursor#45 = phi( print_schar::@1/print_char_cursor#1, print_schar::@3/print_char_cursor#1, print_str::@2/print_char_cursor#1, print_uchar/print_char_cursor#72, print_uchar::@1/print_char_cursor#11 )
  [107] print_char::ch#5 = phi( print_schar::@1/'-', print_schar::@3/' ', print_str::@2/print_char::ch#0, print_uchar/print_char::ch#3, print_uchar::@1/print_char::ch#4 )
  [108] *print_char_cursor#45 = print_char::ch#5
  [109] print_char_cursor#11 = ++ print_char_cursor#45
  to:print_char::@return
print_char::@return: scope:[print_char]  from print_char
  [110] return 
  to:@return
