@begin: scope:[]  from
  [0] phi()
  to:@14
@14: scope:[]  from @begin
  [1] phi()
  [2] call main 
  to:@end
@end: scope:[]  from @14
  [3] phi()
main: scope:[main]  from @14
  [4] *((const byte*) BORDERCOL#0) ← (const byte) GREEN#0
  to:main::@2
main::@2: scope:[main]  from main main::@2
  [5] phi()
  [6] call menu 
  to:main::@2
menu: scope:[menu]  from main::@2
  [7] phi()
  to:menu::@2
menu::@2: scope:[menu]  from menu menu::@6
  [8] phi()
  [9] call keyboard_key_pressed 
  [10] (byte) keyboard_key_pressed::return#2 ← (byte) keyboard_key_pressed::return#0
  to:menu::@16
menu::@16: scope:[menu]  from menu::@2
  [11] (byte~) menu::$0 ← (byte) keyboard_key_pressed::return#2
  [12] if((byte~) menu::$0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto menu::@4
  to:menu::@9
menu::@9: scope:[menu]  from menu::@16
  [13] phi()
  [14] call pressed 
  to:menu::@return
menu::@return: scope:[menu]  from menu::@11 menu::@13 menu::@9
  [15] return 
  to:@return
menu::@4: scope:[menu]  from menu::@16
  [16] phi()
  [17] call keyboard_key_pressed 
  [18] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0
  to:menu::@17
menu::@17: scope:[menu]  from menu::@4
  [19] (byte~) menu::$4 ← (byte) keyboard_key_pressed::return#3
  [20] if((byte~) menu::$4==(byte/signed byte/word/signed word/dword/signed dword) 0) goto menu::@5
  to:menu::@11
menu::@11: scope:[menu]  from menu::@17
  [21] *((const byte*) BORDERCOL#0) ← (const byte) RED#0
  asm { sei  }
  to:menu::@return
menu::@5: scope:[menu]  from menu::@17
  [23] phi()
  [24] call keyboard_key_pressed 
  [25] (byte) keyboard_key_pressed::return#4 ← (byte) keyboard_key_pressed::return#0
  to:menu::@19
menu::@19: scope:[menu]  from menu::@5
  [26] (byte~) menu::$7 ← (byte) keyboard_key_pressed::return#4
  [27] if((byte~) menu::$7==(byte/signed byte/word/signed word/dword/signed dword) 0) goto menu::@6
  to:menu::@13
menu::@13: scope:[menu]  from menu::@19
  [28] *((const byte*) BORDERCOL#0) ← (const byte) GREEN#0
  asm { cli  }
  to:menu::@return
menu::@6: scope:[menu]  from menu::@19
  [30] *((const byte*) SCREEN#0) ← ++ *((const byte*) SCREEN#0)
  to:menu::@2
keyboard_key_pressed: scope:[keyboard_key_pressed]  from menu::@2 menu::@4 menu::@5 pressed::@2
  [31] (byte) keyboard_key_pressed::key#4 ← phi( menu::@2/(const byte) KEY_C#0 menu::@4/(const byte) KEY_I#0 menu::@5/(const byte) KEY_E#0 pressed::@2/(const byte) KEY_SPACE#0 )
  [32] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#4 & (byte/signed byte/word/signed word/dword/signed dword) 7
  [33] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3
  [34] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_key_pressed::rowidx#0
  [35] call keyboard_matrix_read 
  [36] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0
  to:keyboard_key_pressed::@2
keyboard_key_pressed::@2: scope:[keyboard_key_pressed]  from keyboard_key_pressed
  [37] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2
  [38] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[8]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0)
  to:keyboard_key_pressed::@return
keyboard_key_pressed::@return: scope:[keyboard_key_pressed]  from keyboard_key_pressed::@2
  [39] return 
  to:@return
keyboard_matrix_read: scope:[keyboard_matrix_read]  from keyboard_key_pressed
  [40] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0)
  [41] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0)
  to:keyboard_matrix_read::@return
keyboard_matrix_read::@return: scope:[keyboard_matrix_read]  from keyboard_matrix_read
  [42] return 
  to:@return
pressed: scope:[pressed]  from menu::@9
  [43] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0)
  to:pressed::@2
pressed::@2: scope:[pressed]  from pressed pressed::@10
  [44] phi()
  [45] call keyboard_key_pressed 
  [46] (byte) keyboard_key_pressed::return#10 ← (byte) keyboard_key_pressed::return#0
  to:pressed::@10
pressed::@10: scope:[pressed]  from pressed::@2
  [47] (byte~) pressed::$0 ← (byte) keyboard_key_pressed::return#10
  [48] if((byte~) pressed::$0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto pressed::@2
  to:pressed::@return
pressed::@return: scope:[pressed]  from pressed::@10
  [49] return 
  to:@return
