
void main()
main: scope:[main]  from
  asm { sei  }
  [1] call cls
  to:main::@1
main::@1: scope:[main]  from main main::@1 main::@3
  [2] main::$1 = *control & $80
  [3] main::$2 = *raster >> 1
  [4] main::rst#0 = main::$1 | main::$2
  [5] if(main::rst#0!=$30) goto main::@1
  to:main::@2
main::@2: scope:[main]  from main::@1
  [6] *BORDER_COLOR = 1
  [7] main::time_start#0 = *raster
  [8] utoa16w::dst = (char *) 1024
  [9] call utoa16w
  to:main::@5
main::@5: scope:[main]  from main::@2
  [10] *BORDER_COLOR = ++ *BORDER_COLOR
  [11] utoa16w::dst = (char *) 1024+$28
  [12] call utoa16w
  to:main::@6
main::@6: scope:[main]  from main::@5
  [13] *BORDER_COLOR = ++ *BORDER_COLOR
  [14] utoa16w::dst = (char *) 1024+$28+$28
  [15] call utoa16w
  to:main::@7
main::@7: scope:[main]  from main::@6
  [16] *BORDER_COLOR = ++ *BORDER_COLOR
  [17] utoa16w::dst = (char *) 1024+$28+$28+$28
  [18] call utoa16w
  to:main::@8
main::@8: scope:[main]  from main::@7
  [19] *BORDER_COLOR = ++ *BORDER_COLOR
  [20] utoa16w::dst = (char *) 1024+$28+$28+$28+$28
  [21] call utoa16w
  to:main::@9
main::@9: scope:[main]  from main::@8
  [22] main::time_end#0 = *raster
  [23] *BORDER_COLOR = 0
  [24] main::time#0 = main::time_end#0 - main::time_start#0
  [25] utoa10w::value#0 = (unsigned int)main::time#0
  [26] call utoa10w
  to:main::@3
main::@3: scope:[main]  from main::@4 main::@9
  [27] main::i#2 = phi( main::@9/0, main::@4/main::i#1 )
  [28] if(main::msg[main::i#2]!=0) goto main::@4
  to:main::@1
main::@4: scope:[main]  from main::@3
  [29] ((char *) 1024+$28+$28+$28+$28+$50+3)[main::i#2] = main::msg[main::i#2]
  [30] main::i#1 = ++ main::i#2
  to:main::@3

void cls()
cls: scope:[cls]  from main
  [31] phi()
  to:cls::@1
cls::@1: scope:[cls]  from cls cls::@1
  [32] cls::sc#2 = phi( cls/cls::screen, cls::@1/cls::sc#1 )
  [33] *cls::sc#2 = ' '
  [34] cls::sc#1 = ++ cls::sc#2
  [35] if(cls::sc#1!=cls::screen+$3e7+1) goto cls::@1
  to:cls::@return
cls::@return: scope:[cls]  from cls::@1
  [36] return 
  to:@return

void utoa16w(unsigned int value , char * volatile dst)
utoa16w: scope:[utoa16w]  from main::@2 main::@5 main::@6 main::@7 main::@8
  [37] utoa16w::value#5 = phi( main::@8/$e608, main::@2/0, main::@5/$4d2, main::@6/$162e, main::@7/$270f )
  [38] utoa16w::$0 = byte1  utoa16w::value#5
  [39] utoa16n::nybble#0 = utoa16w::$0 >> 4
  [40] call utoa16n
  [41] utoa16n::return#0 = utoa16n::return#4
  to:utoa16w::@1
utoa16w::@1: scope:[utoa16w]  from utoa16w
  [42] utoa16w::started#1 = utoa16n::return#0
  [43] utoa16w::$3 = byte1  utoa16w::value#5
  [44] utoa16n::nybble#1 = utoa16w::$3 & $f
  [45] utoa16n::started#1 = utoa16w::started#1
  [46] call utoa16n
  [47] utoa16n::return#1 = utoa16n::return#4
  to:utoa16w::@2
utoa16w::@2: scope:[utoa16w]  from utoa16w::@1
  [48] utoa16w::started#2 = utoa16n::return#1
  [49] utoa16w::$6 = byte0  utoa16w::value#5
  [50] utoa16n::nybble#2 = utoa16w::$6 >> 4
  [51] utoa16n::started#2 = utoa16w::started#2
  [52] call utoa16n
  to:utoa16w::@3
utoa16w::@3: scope:[utoa16w]  from utoa16w::@2
  [53] utoa16w::$9 = byte0  utoa16w::value#5
  [54] utoa16n::nybble#3 = utoa16w::$9 & $f
  [55] call utoa16n
  to:utoa16w::@4
utoa16w::@4: scope:[utoa16w]  from utoa16w::@3
  [56] *utoa16w::dst = 0
  to:utoa16w::@return
utoa16w::@return: scope:[utoa16w]  from utoa16w::@4
  [57] return 
  to:@return

void utoa10w(unsigned int value , char *dst)
utoa10w: scope:[utoa10w]  from main::@9
  [58] phi()
  to:utoa10w::@1
utoa10w::@1: scope:[utoa10w]  from utoa10w utoa10w::@2 utoa10w::@6
  [59] utoa10w::dst#11 = phi( utoa10w/(char *) 1024+$28+$28+$28+$28+$50, utoa10w::@2/utoa10w::dst#11, utoa10w::@6/utoa10w::dst#4 )
  [59] utoa10w::bStarted#2 = phi( utoa10w/0, utoa10w::@2/1, utoa10w::@6/utoa10w::bStarted#2 )
  [59] utoa10w::digit#3 = phi( utoa10w/0, utoa10w::@2/utoa10w::digit#1, utoa10w::@6/utoa10w::digit#7 )
  [59] utoa10w::value#10 = phi( utoa10w/utoa10w::value#0, utoa10w::@2/utoa10w::value#1, utoa10w::@6/utoa10w::value#10 )
  [59] utoa10w::i#2 = phi( utoa10w/0, utoa10w::@2/utoa10w::i#2, utoa10w::@6/utoa10w::i#1 )
  [60] utoa10w::$8 = utoa10w::i#2 << 1
  [61] if(utoa10w::value#10>=UTOA10_SUB[utoa10w::$8]) goto utoa10w::@2
  to:utoa10w::@3
utoa10w::@3: scope:[utoa10w]  from utoa10w::@1
  [62] utoa10w::$1 = utoa10w::i#2 & 1
  [63] if(utoa10w::$1==0) goto utoa10w::@6
  to:utoa10w::@4
utoa10w::@4: scope:[utoa10w]  from utoa10w::@3
  [64] if(utoa10w::bStarted#2==0) goto utoa10w::@7
  to:utoa10w::@5
utoa10w::@5: scope:[utoa10w]  from utoa10w::@4
  [65] *utoa10w::dst#11 = DIGITS[utoa10w::digit#3]
  [66] utoa10w::dst#1 = ++ utoa10w::dst#11
  to:utoa10w::@7
utoa10w::@7: scope:[utoa10w]  from utoa10w::@4 utoa10w::@5
  [67] utoa10w::dst#8 = phi( utoa10w::@4/utoa10w::dst#11, utoa10w::@5/utoa10w::dst#1 )
  to:utoa10w::@6
utoa10w::@6: scope:[utoa10w]  from utoa10w::@3 utoa10w::@7
  [68] utoa10w::digit#7 = phi( utoa10w::@3/utoa10w::digit#3, utoa10w::@7/0 )
  [68] utoa10w::dst#4 = phi( utoa10w::@3/utoa10w::dst#11, utoa10w::@7/utoa10w::dst#8 )
  [69] utoa10w::i#1 = ++ utoa10w::i#2
  [70] if(utoa10w::i#1!=8) goto utoa10w::@1
  to:utoa10w::@8
utoa10w::@8: scope:[utoa10w]  from utoa10w::@6
  [71] utoa10w::$9 = (char)utoa10w::value#10
  [72] *utoa10w::dst#4 = DIGITS[utoa10w::$9]
  [73] utoa10w::dst#2 = ++ utoa10w::dst#4
  [74] *utoa10w::dst#2 = 0
  to:utoa10w::@return
utoa10w::@return: scope:[utoa10w]  from utoa10w::@8
  [75] return 
  to:@return
utoa10w::@2: scope:[utoa10w]  from utoa10w::@1
  [76] utoa10w::digit#1 = utoa10w::digit#3 + UTOA10_VAL[utoa10w::i#2]
  [77] utoa10w::value#1 = utoa10w::value#10 - UTOA10_SUB[utoa10w::$8]
  to:utoa10w::@1

char utoa16n(char nybble , unsigned int **dst , char started)
utoa16n: scope:[utoa16n]  from utoa16w utoa16w::@1 utoa16w::@2 utoa16w::@3
  [78] utoa16n::started#7 = phi( utoa16w/0, utoa16w::@1/utoa16n::started#1, utoa16w::@2/utoa16n::started#2, utoa16w::@3/1 )
  [78] utoa16n::nybble#4 = phi( utoa16w/utoa16n::nybble#0, utoa16w::@1/utoa16n::nybble#1, utoa16w::@2/utoa16n::nybble#2, utoa16w::@3/utoa16n::nybble#3 )
  [79] if(utoa16n::nybble#4==0) goto utoa16n::@3
  to:utoa16n::@1
utoa16n::@3: scope:[utoa16n]  from utoa16n
  [80] phi()
  to:utoa16n::@1
utoa16n::@1: scope:[utoa16n]  from utoa16n utoa16n::@3
  [81] utoa16n::return#4 = phi( utoa16n::@3/utoa16n::started#7, utoa16n/1 )
  [82] if(utoa16n::return#4==0) goto utoa16n::@return
  to:utoa16n::@2
utoa16n::@2: scope:[utoa16n]  from utoa16n::@1
  [83] *(*(&utoa16w::dst)) = DIGITS[utoa16n::nybble#4]
  [84] *(&utoa16w::dst) = ++ *(&utoa16w::dst)
  to:utoa16n::@return
utoa16n::@return: scope:[utoa16n]  from utoa16n::@1 utoa16n::@2
  [85] return 
  to:@return
