1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-11-20 02:32:36 +00:00
kickc/src/test/ref/cia-timer-simple.cfg
2019-09-29 20:57:28 +02:00

104 lines
4.6 KiB
INI

@begin: scope:[] from
[0] phi()
to:@1
@1: scope:[] from @begin
[1] phi()
[2] call main
to:@end
@end: scope:[] from @1
[3] phi()
(void()) main()
main: scope:[main] from @1
[4] phi()
[5] call clock_start
to:main::@1
main::@1: scope:[main] from main main::@2
[6] phi()
[7] call clock
[8] (dword) clock::return#2 ← (dword) clock::return#0
to:main::@2
main::@2: scope:[main] from main::@1
[9] (dword) print_dword_at::dw#0 ← (dword) clock::return#2
[10] call print_dword_at
to:main::@1
(void()) print_dword_at((dword) print_dword_at::dw , (byte*) print_dword_at::at)
print_dword_at: scope:[print_dword_at] from main::@2
[11] (word) print_word_at::w#0 ← > (dword) print_dword_at::dw#0
[12] call print_word_at
to:print_dword_at::@1
print_dword_at::@1: scope:[print_dword_at] from print_dword_at
[13] (word) print_word_at::w#1 ← < (dword) print_dword_at::dw#0
[14] call print_word_at
to:print_dword_at::@return
print_dword_at::@return: scope:[print_dword_at] from print_dword_at::@1
[15] return
to:@return
(void()) print_word_at((word) print_word_at::w , (byte*) print_word_at::at)
print_word_at: scope:[print_word_at] from print_dword_at print_dword_at::@1
[16] (byte*) print_word_at::at#2 ← phi( print_dword_at/(const byte*) SCREEN print_dword_at::@1/(const byte*) SCREEN+(byte) 4 )
[16] (word) print_word_at::w#2 ← phi( print_dword_at/(word) print_word_at::w#0 print_dword_at::@1/(word) print_word_at::w#1 )
[17] (byte) print_byte_at::b#0 ← > (word) print_word_at::w#2
[18] (byte*) print_byte_at::at#0 ← (byte*) print_word_at::at#2
[19] call print_byte_at
to:print_word_at::@1
print_word_at::@1: scope:[print_word_at] from print_word_at
[20] (byte) print_byte_at::b#1 ← < (word) print_word_at::w#2
[21] (byte*) print_byte_at::at#1 ← (byte*) print_word_at::at#2 + (byte) 2
[22] call print_byte_at
to:print_word_at::@return
print_word_at::@return: scope:[print_word_at] from print_word_at::@1
[23] return
to:@return
(void()) print_byte_at((byte) print_byte_at::b , (byte*) print_byte_at::at)
print_byte_at: scope:[print_byte_at] from print_word_at print_word_at::@1
[24] (byte*) print_byte_at::at#2 ← phi( print_word_at/(byte*) print_byte_at::at#0 print_word_at::@1/(byte*) print_byte_at::at#1 )
[24] (byte) print_byte_at::b#2 ← phi( print_word_at/(byte) print_byte_at::b#0 print_word_at::@1/(byte) print_byte_at::b#1 )
[25] (byte~) print_byte_at::$0 ← (byte) print_byte_at::b#2 >> (byte) 4
[26] (byte) print_char_at::ch#0 ← *((const byte[]) print_hextab + (byte~) print_byte_at::$0)
[27] (byte*) print_char_at::at#0 ← (byte*) print_byte_at::at#2
[28] call print_char_at
to:print_byte_at::@1
print_byte_at::@1: scope:[print_byte_at] from print_byte_at
[29] (byte~) print_byte_at::$2 ← (byte) print_byte_at::b#2 & (byte) $f
[30] (byte*) print_char_at::at#1 ← (byte*) print_byte_at::at#2 + (byte) 1
[31] (byte) print_char_at::ch#1 ← *((const byte[]) print_hextab + (byte~) print_byte_at::$2)
[32] call print_char_at
to:print_byte_at::@return
print_byte_at::@return: scope:[print_byte_at] from print_byte_at::@1
[33] return
to:@return
(void()) print_char_at((byte) print_char_at::ch , (byte*) print_char_at::at)
print_char_at: scope:[print_char_at] from print_byte_at print_byte_at::@1
[34] (byte*) print_char_at::at#2 ← phi( print_byte_at/(byte*) print_char_at::at#0 print_byte_at::@1/(byte*) print_char_at::at#1 )
[34] (byte) print_char_at::ch#2 ← phi( print_byte_at/(byte) print_char_at::ch#0 print_byte_at::@1/(byte) print_char_at::ch#1 )
[35] *((byte*) print_char_at::at#2) ← (byte) print_char_at::ch#2
to:print_char_at::@return
print_char_at::@return: scope:[print_char_at] from print_char_at
[36] return
to:@return
(dword()) clock()
clock: scope:[clock] from main::@1
[37] (dword) clock::return#0 ← (dword) $ffffffff - *((const dword*) CIA2_TIMER_AB)
to:clock::@return
clock::@return: scope:[clock] from clock
[38] return
to:@return
(void()) clock_start()
clock_start: scope:[clock_start] from main
[39] *((const byte*) CIA2_TIMER_A_CONTROL) ← (const byte) CIA_TIMER_CONTROL_CONTINUOUS
[40] *((const byte*) CIA2_TIMER_B_CONTROL) ← (const byte) CIA_TIMER_CONTROL_B_COUNT_UNDERFLOW_A
[41] *((const dword*) CIA2_TIMER_AB) ← (dword) $ffffffff
[42] *((const byte*) CIA2_TIMER_B_CONTROL) ← (const byte) CIA_TIMER_CONTROL_START|(const byte) CIA_TIMER_CONTROL_B_COUNT_UNDERFLOW_A
[43] *((const byte*) CIA2_TIMER_A_CONTROL) ← (const byte) CIA_TIMER_CONTROL_START
to:clock_start::@return
clock_start::@return: scope:[clock_start] from clock_start
[44] return
to:@return