
void main()
main: scope:[main]  from
  [0] phi()
  [1] call print_cls
  to:main::@1
main::@1: scope:[main]  from main
  [2] phi()
  [3] call print_str
  to:main::@2
main::@2: scope:[main]  from main::@1
  [4] phi()
  [5] call print_ln
  to:main::@3
main::@3: scope:[main]  from main::@2
  [6] phi()
  [7] call print_mulf8u127
  to:main::@4
main::@4: scope:[main]  from main::@3
  [8] phi()
  [9] call print_mulf8u127
  to:main::@5
main::@5: scope:[main]  from main::@4
  [10] phi()
  [11] call print_mulf8u127
  to:main::@6
main::@6: scope:[main]  from main::@5
  [12] phi()
  [13] call print_mulf8u127
  to:main::@7
main::@7: scope:[main]  from main::@6
  [14] phi()
  [15] call print_mulf8u127
  to:main::@8
main::@8: scope:[main]  from main::@7
  [16] phi()
  [17] call print_mulf8u127
  to:main::@9
main::@9: scope:[main]  from main::@8
  [18] phi()
  [19] call print_mulf8u127
  to:main::@10
main::@10: scope:[main]  from main::@9
  [20] phi()
  [21] call print_mulf8u127
  to:main::@11
main::@11: scope:[main]  from main::@10
  [22] print_char_cursor#144 = print_line_cursor#0
  [23] call print_str
  to:main::@12
main::@12: scope:[main]  from main::@11
  [24] phi()
  [25] call print_ln
  to:main::@13
main::@13: scope:[main]  from main::@12
  [26] phi()
  [27] call print_mulf8s127
  to:main::@14
main::@14: scope:[main]  from main::@13
  [28] phi()
  [29] call print_mulf8s127
  to:main::@15
main::@15: scope:[main]  from main::@14
  [30] phi()
  [31] call print_mulf8s127
  to:main::@16
main::@16: scope:[main]  from main::@15
  [32] phi()
  [33] call print_mulf8s127
  to:main::@17
main::@17: scope:[main]  from main::@16
  [34] phi()
  [35] call print_mulf8s127
  to:main::@18
main::@18: scope:[main]  from main::@17
  [36] phi()
  [37] call print_mulf8s127
  to:main::@19
main::@19: scope:[main]  from main::@18
  [38] phi()
  [39] call print_mulf8s127
  to:main::@20
main::@20: scope:[main]  from main::@19
  [40] phi()
  [41] call print_mulf8s127
  to:main::@21
main::@21: scope:[main]  from main::@20
  [42] phi()
  [43] call print_mulf8s127
  to:main::@22
main::@22: scope:[main]  from main::@21
  [44] phi()
  [45] call print_mulf8s127
  to:main::@return
main::@return: scope:[main]  from main::@22
  [46] return 
  to:@return

void print_cls()
print_cls: scope:[print_cls]  from main
  [47] phi()
  [48] call memset
  to:print_cls::@return
print_cls::@return: scope:[print_cls]  from print_cls
  [49] return 
  to:@return

void print_str(char *str)
print_str: scope:[print_str]  from main::@1 main::@11
  [50] print_char_cursor#139 = phi( main::@1/print_screen#0, main::@11/print_char_cursor#144 )
  [50] print_str::str#6 = phi( main::@1/main::str, main::@11/main::str1 )
  to:print_str::@1
print_str::@1: scope:[print_str]  from print_str print_str::@3
  [51] print_char_cursor#1 = phi( print_str/print_char_cursor#139, print_str::@3/print_char_cursor#18 )
  [51] print_str::str#3 = phi( print_str/print_str::str#6, print_str::@3/print_str::str#0 )
  [52] if(0!=*print_str::str#3) goto print_str::@2
  to:print_str::@return
print_str::@return: scope:[print_str]  from print_str::@1
  [53] return 
  to:@return
print_str::@2: scope:[print_str]  from print_str::@1
  [54] print_char::ch#0 = *print_str::str#3
  [55] call print_char
  to:print_str::@3
print_str::@3: scope:[print_str]  from print_str::@2
  [56] print_str::str#0 = ++ print_str::str#3
  to:print_str::@1

void print_ln()
print_ln: scope:[print_ln]  from main::@12 main::@2 print_mulf8s127::@6 print_mulf8u127::@6
  [57] print_char_cursor#126 = phi( main::@12/print_char_cursor#1, main::@2/print_char_cursor#1, print_mulf8s127::@6/print_char_cursor#18, print_mulf8u127::@6/print_char_cursor#18 )
  [57] print_line_cursor#65 = phi( main::@12/print_line_cursor#0, main::@2/print_screen#0, print_mulf8s127::@6/print_line_cursor#0, print_mulf8u127::@6/print_line_cursor#0 )
  to:print_ln::@1
print_ln::@1: scope:[print_ln]  from print_ln print_ln::@1
  [58] print_line_cursor#33 = phi( print_ln/print_line_cursor#65, print_ln::@1/print_line_cursor#0 )
  [59] print_line_cursor#0 = print_line_cursor#33 + $28
  [60] if(print_line_cursor#0<print_char_cursor#126) goto print_ln::@1
  to:print_ln::@return
print_ln::@return: scope:[print_ln]  from print_ln::@1
  [61] return 
  to:@return

void print_mulf8u127(char a , char b)
print_mulf8u127: scope:[print_mulf8u127]  from main::@10 main::@3 main::@4 main::@5 main::@6 main::@7 main::@8 main::@9
  [62] print_mulf8u127::b#10 = phi( main::@10/$ff, main::@3/0, main::@4/$7f, main::@5/$40, main::@6/$7f, main::@7/$c0, main::@8/$7f, main::@9/$c0 )
  [62] print_mulf8u127::a#8 = phi( main::@10/$ff, main::@3/0, main::@4/$7f, main::@5/$40, main::@6/$40, main::@7/$40, main::@8/$ff, main::@9/$c0 )
  [63] mulf8u127::a#0 = print_mulf8u127::a#8
  [64] mulf8u127::b#0 = print_mulf8u127::b#10
  [65] call mulf8u127
  [66] mulf8u127::return#0 = mulf8u127::return#1
  to:print_mulf8u127::@1
print_mulf8u127::@1: scope:[print_mulf8u127]  from print_mulf8u127
  [67] print_mulf8u127::c#0 = mulf8u127::return#0
  [68] print_uchar::b#3 = print_mulf8u127::a#8
  [69] print_char_cursor#153 = print_line_cursor#0
  [70] call print_uchar
  to:print_mulf8u127::@2
print_mulf8u127::@2: scope:[print_mulf8u127]  from print_mulf8u127::@1
  [71] phi()
  [72] call print_char
  to:print_mulf8u127::@3
print_mulf8u127::@3: scope:[print_mulf8u127]  from print_mulf8u127::@2
  [73] print_uchar::b#4 = print_mulf8u127::b#10
  [74] call print_uchar
  to:print_mulf8u127::@4
print_mulf8u127::@4: scope:[print_mulf8u127]  from print_mulf8u127::@3
  [75] phi()
  [76] call print_char
  to:print_mulf8u127::@5
print_mulf8u127::@5: scope:[print_mulf8u127]  from print_mulf8u127::@4
  [77] print_uint::w#1 = print_mulf8u127::c#0
  [78] call print_uint
  to:print_mulf8u127::@6
print_mulf8u127::@6: scope:[print_mulf8u127]  from print_mulf8u127::@5
  [79] phi()
  [80] call print_ln
  to:print_mulf8u127::@return
print_mulf8u127::@return: scope:[print_mulf8u127]  from print_mulf8u127::@6
  [81] return 
  to:@return

void print_mulf8s127(signed char a , signed char b)
print_mulf8s127: scope:[print_mulf8s127]  from main::@13 main::@14 main::@15 main::@16 main::@17 main::@18 main::@19 main::@20 main::@21 main::@22
  [82] print_mulf8s127::b#10 = phi( main::@13/0, main::@14/$40, main::@15/$7f, main::@16/$40, main::@17/-$40, main::@18/-$40, main::@19/$7f, main::@20/$7f, main::@21/-$7f, main::@22/-$7f )
  [82] print_mulf8s127::a#10 = phi( main::@13/0, main::@14/$40, main::@15/$40, main::@16/-$40, main::@17/$40, main::@18/-$40, main::@19/$7f, main::@20/-$7f, main::@21/$7f, main::@22/-$7f )
  [83] mulf8s127::a#0 = print_mulf8s127::a#10
  [84] mulf8s127::b#0 = print_mulf8s127::b#10
  [85] call mulf8s127
  [86] mulf8s127::return#0 = mulf8s127::return#1
  to:print_mulf8s127::@1
print_mulf8s127::@1: scope:[print_mulf8s127]  from print_mulf8s127
  [87] print_mulf8s127::c#0 = mulf8s127::return#0
  [88] print_schar::b#1 = print_mulf8s127::a#10
  [89] print_char_cursor#151 = print_line_cursor#0
  [90] call print_schar
  to:print_mulf8s127::@2
print_mulf8s127::@2: scope:[print_mulf8s127]  from print_mulf8s127::@1
  [91] phi()
  [92] call print_char
  to:print_mulf8s127::@3
print_mulf8s127::@3: scope:[print_mulf8s127]  from print_mulf8s127::@2
  [93] print_schar::b#2 = print_mulf8s127::b#10
  [94] call print_schar
  to:print_mulf8s127::@4
print_mulf8s127::@4: scope:[print_mulf8s127]  from print_mulf8s127::@3
  [95] phi()
  [96] call print_char
  to:print_mulf8s127::@5
print_mulf8s127::@5: scope:[print_mulf8s127]  from print_mulf8s127::@4
  [97] print_sint::w#1 = print_mulf8s127::c#0
  [98] call print_sint
  to:print_mulf8s127::@6
print_mulf8s127::@6: scope:[print_mulf8s127]  from print_mulf8s127::@5
  [99] phi()
  [100] call print_ln
  to:print_mulf8s127::@return
print_mulf8s127::@return: scope:[print_mulf8s127]  from print_mulf8s127::@6
  [101] return 
  to:@return

void * memset(void *str , char c , unsigned int num)
memset: scope:[memset]  from print_cls
  [102] phi()
  to:memset::@1
memset::@1: scope:[memset]  from memset memset::@2
  [103] memset::dst#2 = phi( memset/(char *)memset::str#0, memset::@2/memset::dst#1 )
  [104] if(memset::dst#2!=memset::end#0) goto memset::@2
  to:memset::@return
memset::@return: scope:[memset]  from memset::@1
  [105] return 
  to:@return
memset::@2: scope:[memset]  from memset::@1
  [106] *memset::dst#2 = memset::c#0
  [107] memset::dst#1 = ++ memset::dst#2
  to:memset::@1

void print_char(char ch)
print_char: scope:[print_char]  from print_mulf8s127::@2 print_mulf8s127::@4 print_mulf8u127::@2 print_mulf8u127::@4 print_schar::@1 print_schar::@3 print_sint::@1 print_sint::@3 print_str::@2 print_uchar print_uchar::@1
  [108] print_char_cursor#81 = phi( print_mulf8s127::@2/print_char_cursor#18, print_mulf8s127::@4/print_char_cursor#18, print_mulf8u127::@2/print_char_cursor#18, print_mulf8u127::@4/print_char_cursor#18, print_schar::@1/print_char_cursor#130, print_schar::@3/print_char_cursor#130, print_sint::@1/print_char_cursor#18, print_sint::@3/print_char_cursor#18, print_str::@2/print_char_cursor#1, print_uchar/print_char_cursor#134, print_uchar::@1/print_char_cursor#18 )
  [108] print_char::ch#11 = phi( print_mulf8s127::@2/'*', print_mulf8s127::@4/'=', print_mulf8u127::@2/'*', print_mulf8u127::@4/'=', print_schar::@1/'-', print_schar::@3/' ', print_sint::@1/'-', print_sint::@3/' ', print_str::@2/print_char::ch#0, print_uchar/print_char::ch#5, print_uchar::@1/print_char::ch#6 )
  [109] *print_char_cursor#81 = print_char::ch#11
  [110] print_char_cursor#18 = ++ print_char_cursor#81
  to:print_char::@return
print_char::@return: scope:[print_char]  from print_char
  [111] return 
  to:@return

unsigned int mulf8u127(char a , char b)
mulf8u127: scope:[mulf8u127]  from mulf8s127 print_mulf8u127
  [112] mulf8u127::b#2 = phi( mulf8s127/mulf8u127::b#1, print_mulf8u127/mulf8u127::b#0 )
  [112] mulf8u127::a#2 = phi( mulf8s127/mulf8u127::a#1, print_mulf8u127/mulf8u127::a#0 )
  [113] *mulf8u127::memA = mulf8u127::a#2
  [114] *mulf8u127::memB = mulf8u127::b#2
  asm { ldamemA stasm1+1 stasm3+1 eor#$ff stasm2+1 stasm4+1 ldxmemB sec sm1: ldamulf127_sqr1_lo,x sm2: sbcmulf127_sqr2_lo,x staresL sm3: ldamulf127_sqr1_hi,x sm4: sbcmulf127_sqr2_hi,x staresH  }
  [116] mulf8u127::return#1 = *mulf8u127::res
  to:mulf8u127::@return
mulf8u127::@return: scope:[mulf8u127]  from mulf8u127
  [117] return 
  to:@return

void print_uchar(char b)
print_uchar: scope:[print_uchar]  from print_mulf8u127::@1 print_mulf8u127::@3 print_schar::@2 print_uint print_uint::@1
  [118] print_char_cursor#134 = phi( print_mulf8u127::@1/print_char_cursor#153, print_mulf8u127::@3/print_char_cursor#18, print_schar::@2/print_char_cursor#18, print_uint/print_char_cursor#18, print_uint::@1/print_char_cursor#18 )
  [118] print_uchar::b#5 = phi( print_mulf8u127::@1/print_uchar::b#3, print_mulf8u127::@3/print_uchar::b#4, print_schar::@2/print_uchar::b#0, print_uint/print_uchar::b#1, print_uint::@1/print_uchar::b#2 )
  [119] print_uchar::$0 = print_uchar::b#5 >> 4
  [120] print_char::ch#5 = print_hextab[print_uchar::$0]
  [121] call print_char
  to:print_uchar::@1
print_uchar::@1: scope:[print_uchar]  from print_uchar
  [122] print_uchar::$2 = print_uchar::b#5 & $f
  [123] print_char::ch#6 = print_hextab[print_uchar::$2]
  [124] call print_char
  to:print_uchar::@return
print_uchar::@return: scope:[print_uchar]  from print_uchar::@1
  [125] return 
  to:@return

void print_uint(unsigned int w)
print_uint: scope:[print_uint]  from print_mulf8u127::@5 print_sint::@2
  [126] print_uint::w#2 = phi( print_mulf8u127::@5/print_uint::w#1, print_sint::@2/print_uint::w#0 )
  [127] print_uchar::b#1 = byte1  print_uint::w#2
  [128] call print_uchar
  to:print_uint::@1
print_uint::@1: scope:[print_uint]  from print_uint
  [129] print_uchar::b#2 = byte0  print_uint::w#2
  [130] call print_uchar
  to:print_uint::@return
print_uint::@return: scope:[print_uint]  from print_uint::@1
  [131] return 
  to:@return

int mulf8s127(signed char a , signed char b)
mulf8s127: scope:[mulf8s127]  from print_mulf8s127
  [132] mulf8u127::a#1 = (char)mulf8s127::a#0
  [133] mulf8u127::b#1 = (char)mulf8s127::b#0
  [134] call mulf8u127
  [135] mulf8u127::return#3 = mulf8u127::return#1
  to:mulf8s127::@7
mulf8s127::@7: scope:[mulf8s127]  from mulf8s127
  [136] mulf8s127::c#0 = mulf8u127::return#3
  [137] if(mulf8s127::a#0>=0) goto mulf8s127::@9
  to:mulf8s127::@4
mulf8s127::@4: scope:[mulf8s127]  from mulf8s127::@7
  [138] mulf8s127::$11 = (int)mulf8s127::b#0
  [139] mulf8s127::$9 = mulf8s127::$11 << 1
  [140] mulf8s127::c#1 = (int)mulf8s127::c#0 - mulf8s127::$9
  to:mulf8s127::@1
mulf8s127::@1: scope:[mulf8s127]  from mulf8s127::@4 mulf8s127::@9
  [141] mulf8s127::c#5 = phi( mulf8s127::@4/mulf8s127::c#1, mulf8s127::@9/mulf8s127::c#11 )
  [142] if(mulf8s127::b#0>=0) goto mulf8s127::@2
  to:mulf8s127::@5
mulf8s127::@5: scope:[mulf8s127]  from mulf8s127::@1
  [143] mulf8s127::$12 = (int)mulf8s127::a#0
  [144] mulf8s127::$10 = mulf8s127::$12 << 1
  [145] mulf8s127::c#2 = mulf8s127::c#5 - mulf8s127::$10
  to:mulf8s127::@2
mulf8s127::@2: scope:[mulf8s127]  from mulf8s127::@1 mulf8s127::@5
  [146] mulf8s127::c#7 = phi( mulf8s127::@1/mulf8s127::c#5, mulf8s127::@5/mulf8s127::c#2 )
  [147] if(mulf8s127::a#0>=0) goto mulf8s127::@3
  to:mulf8s127::@8
mulf8s127::@8: scope:[mulf8s127]  from mulf8s127::@2
  [148] if(mulf8s127::b#0>=0) goto mulf8s127::@3
  to:mulf8s127::@6
mulf8s127::@6: scope:[mulf8s127]  from mulf8s127::@8
  [149] mulf8s127::c#3 = mulf8s127::c#7 - $200
  to:mulf8s127::@3
mulf8s127::@3: scope:[mulf8s127]  from mulf8s127::@2 mulf8s127::@6 mulf8s127::@8
  [150] mulf8s127::return#1 = phi( mulf8s127::@2/mulf8s127::c#7, mulf8s127::@6/mulf8s127::c#3 )
  to:mulf8s127::@return
mulf8s127::@return: scope:[mulf8s127]  from mulf8s127::@3
  [151] return 
  to:@return
mulf8s127::@9: scope:[mulf8s127]  from mulf8s127::@7
  [152] mulf8s127::c#11 = (int)mulf8s127::c#0
  to:mulf8s127::@1

void print_schar(signed char b)
print_schar: scope:[print_schar]  from print_mulf8s127::@1 print_mulf8s127::@3
  [153] print_char_cursor#130 = phi( print_mulf8s127::@1/print_char_cursor#151, print_mulf8s127::@3/print_char_cursor#18 )
  [153] print_schar::b#3 = phi( print_mulf8s127::@1/print_schar::b#1, print_mulf8s127::@3/print_schar::b#2 )
  [154] if(print_schar::b#3<0) goto print_schar::@1
  to:print_schar::@3
print_schar::@3: scope:[print_schar]  from print_schar
  [155] phi()
  [156] call print_char
  to:print_schar::@2
print_schar::@2: scope:[print_schar]  from print_schar::@3 print_schar::@4
  [157] print_schar::b#5 = phi( print_schar::@4/print_schar::b#0, print_schar::@3/print_schar::b#3 )
  [158] print_uchar::b#0 = (char)print_schar::b#5
  [159] call print_uchar
  to:print_schar::@return
print_schar::@return: scope:[print_schar]  from print_schar::@2
  [160] return 
  to:@return
print_schar::@1: scope:[print_schar]  from print_schar
  [161] phi()
  [162] call print_char
  to:print_schar::@4
print_schar::@4: scope:[print_schar]  from print_schar::@1
  [163] print_schar::b#0 = - print_schar::b#3
  to:print_schar::@2

void print_sint(int w)
print_sint: scope:[print_sint]  from print_mulf8s127::@5
  [164] if(print_sint::w#1<0) goto print_sint::@1
  to:print_sint::@3
print_sint::@3: scope:[print_sint]  from print_sint
  [165] phi()
  [166] call print_char
  to:print_sint::@2
print_sint::@2: scope:[print_sint]  from print_sint::@3 print_sint::@4
  [167] print_sint::w#4 = phi( print_sint::@4/print_sint::w#0, print_sint::@3/print_sint::w#1 )
  [168] print_uint::w#0 = (unsigned int)print_sint::w#4
  [169] call print_uint
  to:print_sint::@return
print_sint::@return: scope:[print_sint]  from print_sint::@2
  [170] return 
  to:@return
print_sint::@1: scope:[print_sint]  from print_sint
  [171] phi()
  [172] call print_char
  to:print_sint::@4
print_sint::@4: scope:[print_sint]  from print_sint::@1
  [173] print_sint::w#0 = - print_sint::w#1
  to:print_sint::@2
