
void main()
main: scope:[main]  from
  [0] phi()
  [1] call clock_start
  to:main::@1
main::@1: scope:[main]  from main main::@2
  [2] phi()
  [3] call clock
  [4] clock::return#2 = clock::return#0
  to:main::@2
main::@2: scope:[main]  from main::@1
  [5] print_ulong_at::dw#0 = clock::return#2
  [6] call print_ulong_at
  to:main::@1

void clock_start()
clock_start: scope:[clock_start]  from main
  [7] *((char *)CIA2+OFFSET_STRUCT_MOS6526_CIA_TIMER_A_CONTROL) = 0
  [8] *((char *)CIA2+OFFSET_STRUCT_MOS6526_CIA_TIMER_B_CONTROL) = CIA_TIMER_CONTROL_B_COUNT_UNDERFLOW_A
  [9] *CIA2_TIMER_AB = $ffffffff
  [10] *((char *)CIA2+OFFSET_STRUCT_MOS6526_CIA_TIMER_B_CONTROL) = CIA_TIMER_CONTROL_START|CIA_TIMER_CONTROL_B_COUNT_UNDERFLOW_A
  [11] *((char *)CIA2+OFFSET_STRUCT_MOS6526_CIA_TIMER_A_CONTROL) = CIA_TIMER_CONTROL_START
  to:clock_start::@return
clock_start::@return: scope:[clock_start]  from clock_start
  [12] return 
  to:@return

unsigned long clock()
clock: scope:[clock]  from main::@1
  [13] *((char *)CIA2+OFFSET_STRUCT_MOS6526_CIA_TIMER_A_CONTROL) = 0
  [14] clock::return#0 = $ffffffff - *CIA2_TIMER_AB
  [15] *((char *)CIA2+OFFSET_STRUCT_MOS6526_CIA_TIMER_A_CONTROL) = CIA_TIMER_CONTROL_START
  to:clock::@return
clock::@return: scope:[clock]  from clock
  [16] return 
  to:@return

void print_ulong_at(unsigned long dw , char *at)
print_ulong_at: scope:[print_ulong_at]  from main::@2
  [17] print_uint_at::w#0 = word1  print_ulong_at::dw#0
  [18] call print_uint_at
  to:print_ulong_at::@1
print_ulong_at::@1: scope:[print_ulong_at]  from print_ulong_at
  [19] print_uint_at::w#1 = word0  print_ulong_at::dw#0
  [20] call print_uint_at
  to:print_ulong_at::@return
print_ulong_at::@return: scope:[print_ulong_at]  from print_ulong_at::@1
  [21] return 
  to:@return

void print_uint_at(unsigned int w , char *at)
print_uint_at: scope:[print_uint_at]  from print_ulong_at print_ulong_at::@1
  [22] print_uint_at::at#2 = phi( print_ulong_at/SCREEN, print_ulong_at::@1/SCREEN+4 )
  [22] print_uint_at::w#2 = phi( print_ulong_at/print_uint_at::w#0, print_ulong_at::@1/print_uint_at::w#1 )
  [23] print_uchar_at::b#0 = byte1  print_uint_at::w#2
  [24] print_uchar_at::at#0 = print_uint_at::at#2
  [25] call print_uchar_at
  to:print_uint_at::@1
print_uint_at::@1: scope:[print_uint_at]  from print_uint_at
  [26] print_uchar_at::b#1 = byte0  print_uint_at::w#2
  [27] print_uchar_at::at#1 = print_uint_at::at#2 + 2
  [28] call print_uchar_at
  to:print_uint_at::@return
print_uint_at::@return: scope:[print_uint_at]  from print_uint_at::@1
  [29] return 
  to:@return

void print_uchar_at(char b , char *at)
print_uchar_at: scope:[print_uchar_at]  from print_uint_at print_uint_at::@1
  [30] print_uchar_at::at#2 = phi( print_uint_at/print_uchar_at::at#0, print_uint_at::@1/print_uchar_at::at#1 )
  [30] print_uchar_at::b#2 = phi( print_uint_at/print_uchar_at::b#0, print_uint_at::@1/print_uchar_at::b#1 )
  [31] print_uchar_at::$0 = print_uchar_at::b#2 >> 4
  [32] print_char_at::ch#0 = print_hextab[print_uchar_at::$0]
  [33] print_char_at::at#0 = print_uchar_at::at#2
  [34] call print_char_at
  to:print_uchar_at::@1
print_uchar_at::@1: scope:[print_uchar_at]  from print_uchar_at
  [35] print_uchar_at::$2 = print_uchar_at::b#2 & $f
  [36] print_char_at::at#1 = print_uchar_at::at#2 + 1
  [37] print_char_at::ch#1 = print_hextab[print_uchar_at::$2]
  [38] call print_char_at
  to:print_uchar_at::@return
print_uchar_at::@return: scope:[print_uchar_at]  from print_uchar_at::@1
  [39] return 
  to:@return

void print_char_at(char ch , char *at)
print_char_at: scope:[print_char_at]  from print_uchar_at print_uchar_at::@1
  [40] print_char_at::at#2 = phi( print_uchar_at/print_char_at::at#0, print_uchar_at::@1/print_char_at::at#1 )
  [40] print_char_at::ch#2 = phi( print_uchar_at/print_char_at::ch#0, print_uchar_at::@1/print_char_at::ch#1 )
  [41] *print_char_at::at#2 = print_char_at::ch#2
  to:print_char_at::@return
print_char_at::@return: scope:[print_char_at]  from print_char_at
  [42] return 
  to:@return
