1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-06-10 10:29:36 +00:00
kickc/src/test/ref/ducks-total.log

16906 lines
975 KiB
Plaintext
Raw Normal View History

2022-01-30 20:41:50 +00:00
Fixing struct type size struct printf_buffer_number to 12
Fixing struct type size struct printf_buffer_number to 12
Fixing struct type size struct printf_buffer_number to 12
Fixing struct type SIZE_OF struct printf_buffer_number to 12
Fixing struct type SIZE_OF struct printf_buffer_number to 12
Setting inferred volatile on symbol affected by address-of: l in asm { jsr$ffde stal stxm }
Setting inferred volatile on symbol affected by address-of: m in asm { jsr$ffde stal stxm }
Inlined call vicSelectGfxBank::$0 = call toDd00(vicSelectGfxBank::gfx)
Inlined call call __init
Eliminating unused variable with no statement memcpy::$0
Eliminating unused variable with no statement memset::$2
Eliminating unused variable with no statement gotoxy::$4
Eliminating unused variable with no statement printf_buffer
Eliminating unused variable with no statement __snprintf_capacity
Eliminating unused variable with no statement __snprintf_size
2022-01-30 20:41:50 +00:00
Eliminating unused variable with no statement div16u8u::$1
Eliminating unused variable with no statement div16u8u::$3
Eliminating unused variable with no statement div16u8u::$4
CONTROL FLOW GRAPH SSA
void * memcpy(void *destination , void *source , unsigned int num)
memcpy: scope:[memcpy] from cscroll::@3 cscroll::@4
memcpy::num#2 = phi( cscroll::@3/memcpy::num#0, cscroll::@4/memcpy::num#1 )
memcpy::destination#2 = phi( cscroll::@3/memcpy::destination#0, cscroll::@4/memcpy::destination#1 )
memcpy::source#2 = phi( cscroll::@3/memcpy::source#0, cscroll::@4/memcpy::source#1 )
memcpy::src#0 = ((char *)) memcpy::source#2
memcpy::dst#0 = ((char *)) memcpy::destination#2
memcpy::$2 = (char *)memcpy::source#2
memcpy::src_end#0 = memcpy::$2 + memcpy::num#2
to:memcpy::@1
memcpy::@1: scope:[memcpy] from memcpy memcpy::@2
memcpy::destination#4 = phi( memcpy/memcpy::destination#2, memcpy::@2/memcpy::destination#5 )
memcpy::dst#3 = phi( memcpy/memcpy::dst#0, memcpy::@2/memcpy::dst#1 )
memcpy::src_end#1 = phi( memcpy/memcpy::src_end#0, memcpy::@2/memcpy::src_end#2 )
memcpy::src#2 = phi( memcpy/memcpy::src#0, memcpy::@2/memcpy::src#1 )
memcpy::$1 = memcpy::src#2 != memcpy::src_end#1
if(memcpy::$1) goto memcpy::@2
to:memcpy::@3
memcpy::@2: scope:[memcpy] from memcpy::@1
memcpy::destination#5 = phi( memcpy::@1/memcpy::destination#4 )
memcpy::src_end#2 = phi( memcpy::@1/memcpy::src_end#1 )
memcpy::dst#2 = phi( memcpy::@1/memcpy::dst#3 )
memcpy::src#3 = phi( memcpy::@1/memcpy::src#2 )
*memcpy::dst#2 = *memcpy::src#3
memcpy::dst#1 = ++ memcpy::dst#2
memcpy::src#1 = ++ memcpy::src#3
to:memcpy::@1
memcpy::@3: scope:[memcpy] from memcpy::@1
memcpy::destination#3 = phi( memcpy::@1/memcpy::destination#4 )
memcpy::return#0 = memcpy::destination#3
to:memcpy::@return
memcpy::@return: scope:[memcpy] from memcpy::@3
memcpy::return#4 = phi( memcpy::@3/memcpy::return#0 )
memcpy::return#1 = memcpy::return#4
return
to:@return
void * memset(void *str , char c , unsigned int num)
memset: scope:[memset] from cscroll::@5 cscroll::@6
memset::c#5 = phi( cscroll::@5/memset::c#0, cscroll::@6/memset::c#1 )
memset::str#4 = phi( cscroll::@5/memset::str#0, cscroll::@6/memset::str#1 )
memset::num#2 = phi( cscroll::@5/memset::num#0, cscroll::@6/memset::num#1 )
memset::$0 = memset::num#2 > 0
memset::$1 = ! memset::$0
if(memset::$1) goto memset::@1
to:memset::@2
memset::@1: scope:[memset] from memset memset::@3
memset::str#2 = phi( memset/memset::str#4, memset::@3/memset::str#5 )
memset::return#0 = memset::str#2
to:memset::@return
memset::@2: scope:[memset] from memset
memset::c#4 = phi( memset/memset::c#5 )
memset::num#3 = phi( memset/memset::num#2 )
memset::str#3 = phi( memset/memset::str#4 )
memset::$4 = (char *)memset::str#3
memset::end#0 = memset::$4 + memset::num#3
memset::dst#0 = ((char *)) memset::str#3
to:memset::@3
memset::@3: scope:[memset] from memset::@2 memset::@4
memset::c#3 = phi( memset::@2/memset::c#4, memset::@4/memset::c#2 )
memset::str#5 = phi( memset::@2/memset::str#3, memset::@4/memset::str#6 )
memset::end#1 = phi( memset::@2/memset::end#0, memset::@4/memset::end#2 )
memset::dst#2 = phi( memset::@2/memset::dst#0, memset::@4/memset::dst#1 )
memset::$3 = memset::dst#2 != memset::end#1
if(memset::$3) goto memset::@4
to:memset::@1
memset::@4: scope:[memset] from memset::@3
memset::str#6 = phi( memset::@3/memset::str#5 )
memset::end#2 = phi( memset::@3/memset::end#1 )
memset::dst#3 = phi( memset::@3/memset::dst#2 )
memset::c#2 = phi( memset::@3/memset::c#3 )
*memset::dst#3 = memset::c#2
memset::dst#1 = ++ memset::dst#3
to:memset::@3
memset::@return: scope:[memset] from memset::@1
memset::return#4 = phi( memset::@1/memset::return#0 )
memset::return#1 = memset::return#4
return
to:@return
void utoa(unsigned int value , char *buffer , char radix)
utoa: scope:[utoa] from main::@48 write_score::@8
utoa::buffer#22 = phi( main::@48/utoa::buffer#6, write_score::@8/utoa::buffer#5 )
utoa::value#13 = phi( main::@48/utoa::value#2, write_score::@8/utoa::value#1 )
utoa::radix#2 = phi( main::@48/utoa::radix#1, write_score::@8/utoa::radix#0 )
utoa::max_digits#0 = 0
utoa::digit_values#0 = (unsigned int *) 0
utoa::$0 = utoa::radix#2 == DECIMAL
if(utoa::$0) goto utoa::@1
to:utoa::@6
utoa::@1: scope:[utoa] from utoa
utoa::buffer#18 = phi( utoa/utoa::buffer#22 )
utoa::value#9 = phi( utoa/utoa::value#13 )
utoa::max_digits#1 = 5
utoa::digit_values#1 = RADIX_DECIMAL_VALUES
to:utoa::@5
utoa::@6: scope:[utoa] from utoa
utoa::value#14 = phi( utoa/utoa::value#13 )
utoa::buffer#17 = phi( utoa/utoa::buffer#22 )
utoa::radix#3 = phi( utoa/utoa::radix#2 )
utoa::$1 = utoa::radix#3 == HEXADECIMAL
if(utoa::$1) goto utoa::@2
to:utoa::@7
utoa::@2: scope:[utoa] from utoa::@6
utoa::buffer#19 = phi( utoa::@6/utoa::buffer#17 )
utoa::value#10 = phi( utoa::@6/utoa::value#14 )
utoa::max_digits#2 = 4
utoa::digit_values#2 = RADIX_HEXADECIMAL_VALUES
to:utoa::@5
utoa::@7: scope:[utoa] from utoa::@6
utoa::value#15 = phi( utoa::@6/utoa::value#14 )
utoa::buffer#14 = phi( utoa::@6/utoa::buffer#17 )
utoa::radix#4 = phi( utoa::@6/utoa::radix#3 )
utoa::$2 = utoa::radix#4 == OCTAL
if(utoa::$2) goto utoa::@3
to:utoa::@8
utoa::@3: scope:[utoa] from utoa::@7
utoa::buffer#20 = phi( utoa::@7/utoa::buffer#14 )
utoa::value#11 = phi( utoa::@7/utoa::value#15 )
utoa::max_digits#3 = 6
utoa::digit_values#3 = RADIX_OCTAL_VALUES
to:utoa::@5
utoa::@8: scope:[utoa] from utoa::@7
utoa::value#16 = phi( utoa::@7/utoa::value#15 )
utoa::buffer#11 = phi( utoa::@7/utoa::buffer#14 )
utoa::radix#5 = phi( utoa::@7/utoa::radix#4 )
utoa::$3 = utoa::radix#5 == BINARY
if(utoa::$3) goto utoa::@4
to:utoa::@9
utoa::@4: scope:[utoa] from utoa::@8
utoa::buffer#21 = phi( utoa::@8/utoa::buffer#11 )
utoa::value#12 = phi( utoa::@8/utoa::value#16 )
utoa::max_digits#4 = $10
utoa::digit_values#4 = RADIX_BINARY_VALUES
to:utoa::@5
utoa::@9: scope:[utoa] from utoa::@8
utoa::buffer#7 = phi( utoa::@8/utoa::buffer#11 )
*utoa::buffer#7 = 'e'
utoa::buffer#0 = ++ utoa::buffer#7
*utoa::buffer#0 = 'r'
utoa::buffer#1 = ++ utoa::buffer#0
*utoa::buffer#1 = 'r'
utoa::buffer#2 = ++ utoa::buffer#1
*utoa::buffer#2 = 0
to:utoa::@return
utoa::@return: scope:[utoa] from utoa::@12 utoa::@9
return
to:@return
utoa::@5: scope:[utoa] from utoa::@1 utoa::@2 utoa::@3 utoa::@4
utoa::buffer#16 = phi( utoa::@1/utoa::buffer#18, utoa::@2/utoa::buffer#19, utoa::@3/utoa::buffer#20, utoa::@4/utoa::buffer#21 )
utoa::value#8 = phi( utoa::@1/utoa::value#9, utoa::@2/utoa::value#10, utoa::@3/utoa::value#11, utoa::@4/utoa::value#12 )
utoa::digit_values#8 = phi( utoa::@1/utoa::digit_values#1, utoa::@2/utoa::digit_values#2, utoa::@3/utoa::digit_values#3, utoa::@4/utoa::digit_values#4 )
utoa::max_digits#7 = phi( utoa::@1/utoa::max_digits#1, utoa::@2/utoa::max_digits#2, utoa::@3/utoa::max_digits#3, utoa::@4/utoa::max_digits#4 )
utoa::started#0 = 0
utoa::digit#0 = 0
to:utoa::@10
utoa::@10: scope:[utoa] from utoa::@13 utoa::@5
utoa::buffer#12 = phi( utoa::@13/utoa::buffer#15, utoa::@5/utoa::buffer#16 )
utoa::started#3 = phi( utoa::@13/utoa::started#4, utoa::@5/utoa::started#0 )
utoa::value#6 = phi( utoa::@13/utoa::value#7, utoa::@5/utoa::value#8 )
utoa::digit_values#6 = phi( utoa::@13/utoa::digit_values#7, utoa::@5/utoa::digit_values#8 )
utoa::digit#2 = phi( utoa::@13/utoa::digit#1, utoa::@5/utoa::digit#0 )
utoa::max_digits#5 = phi( utoa::@13/utoa::max_digits#6, utoa::@5/utoa::max_digits#7 )
utoa::$4 = utoa::max_digits#5 - 1
utoa::$5 = utoa::digit#2 < utoa::$4
if(utoa::$5) goto utoa::@11
to:utoa::@12
utoa::@11: scope:[utoa] from utoa::@10
utoa::max_digits#8 = phi( utoa::@10/utoa::max_digits#5 )
utoa::buffer#13 = phi( utoa::@10/utoa::buffer#12 )
utoa::started#2 = phi( utoa::@10/utoa::started#3 )
utoa::value#3 = phi( utoa::@10/utoa::value#6 )
utoa::digit_values#5 = phi( utoa::@10/utoa::digit_values#6 )
utoa::digit#3 = phi( utoa::@10/utoa::digit#2 )
utoa::$10 = utoa::digit#3 * SIZEOF_UNSIGNED_INT
utoa::digit_value#0 = utoa::digit_values#5[utoa::$10]
utoa::$6 = utoa::value#3 >= utoa::digit_value#0
utoa::$7 = utoa::started#2 || utoa::$6
utoa::$8 = ! utoa::$7
if(utoa::$8) goto utoa::@13
to:utoa::@14
utoa::@12: scope:[utoa] from utoa::@10
utoa::buffer#8 = phi( utoa::@10/utoa::buffer#12 )
utoa::value#4 = phi( utoa::@10/utoa::value#6 )
utoa::$11 = (char)utoa::value#4
*utoa::buffer#8 = DIGITS[utoa::$11]
utoa::buffer#3 = ++ utoa::buffer#8
*utoa::buffer#3 = 0
to:utoa::@return
utoa::@13: scope:[utoa] from utoa::@11 utoa::@15
utoa::buffer#15 = phi( utoa::@11/utoa::buffer#13, utoa::@15/utoa::buffer#4 )
utoa::started#4 = phi( utoa::@11/utoa::started#2, utoa::@15/utoa::started#1 )
utoa::value#7 = phi( utoa::@11/utoa::value#3, utoa::@15/utoa::value#0 )
utoa::digit_values#7 = phi( utoa::@11/utoa::digit_values#5, utoa::@15/utoa::digit_values#9 )
utoa::max_digits#6 = phi( utoa::@11/utoa::max_digits#8, utoa::@15/utoa::max_digits#9 )
utoa::digit#4 = phi( utoa::@11/utoa::digit#3, utoa::@15/utoa::digit#5 )
utoa::digit#1 = ++ utoa::digit#4
to:utoa::@10
utoa::@14: scope:[utoa] from utoa::@11
utoa::digit_values#10 = phi( utoa::@11/utoa::digit_values#5 )
utoa::max_digits#10 = phi( utoa::@11/utoa::max_digits#8 )
utoa::digit#6 = phi( utoa::@11/utoa::digit#3 )
utoa::digit_value#1 = phi( utoa::@11/utoa::digit_value#0 )
utoa::value#5 = phi( utoa::@11/utoa::value#3 )
utoa::buffer#9 = phi( utoa::@11/utoa::buffer#13 )
utoa_append::buffer#0 = utoa::buffer#9
utoa_append::value#0 = utoa::value#5
utoa_append::sub#0 = utoa::digit_value#1
call utoa_append
utoa_append::return#0 = utoa_append::return#2
to:utoa::@15
utoa::@15: scope:[utoa] from utoa::@14
utoa::digit_values#9 = phi( utoa::@14/utoa::digit_values#10 )
utoa::max_digits#9 = phi( utoa::@14/utoa::max_digits#10 )
utoa::digit#5 = phi( utoa::@14/utoa::digit#6 )
utoa::buffer#10 = phi( utoa::@14/utoa::buffer#9 )
utoa_append::return#3 = phi( utoa::@14/utoa_append::return#0 )
utoa::$9 = utoa_append::return#3
utoa::value#0 = utoa::$9
utoa::buffer#4 = ++ utoa::buffer#10
utoa::started#1 = 1
to:utoa::@13
unsigned int utoa_append(char *buffer , unsigned int value , unsigned int sub)
utoa_append: scope:[utoa_append] from utoa::@14
utoa_append::buffer#3 = phi( utoa::@14/utoa_append::buffer#0 )
utoa_append::sub#3 = phi( utoa::@14/utoa_append::sub#0 )
utoa_append::value#5 = phi( utoa::@14/utoa_append::value#0 )
utoa_append::digit#0 = 0
to:utoa_append::@1
utoa_append::@1: scope:[utoa_append] from utoa_append utoa_append::@2
utoa_append::buffer#2 = phi( utoa_append/utoa_append::buffer#3, utoa_append::@2/utoa_append::buffer#4 )
utoa_append::digit#4 = phi( utoa_append/utoa_append::digit#0, utoa_append::@2/utoa_append::digit#1 )
utoa_append::sub#1 = phi( utoa_append/utoa_append::sub#3, utoa_append::@2/utoa_append::sub#2 )
utoa_append::value#2 = phi( utoa_append/utoa_append::value#5, utoa_append::@2/utoa_append::value#1 )
utoa_append::$0 = utoa_append::value#2 >= utoa_append::sub#1
if(utoa_append::$0) goto utoa_append::@2
to:utoa_append::@3
utoa_append::@2: scope:[utoa_append] from utoa_append::@1
utoa_append::buffer#4 = phi( utoa_append::@1/utoa_append::buffer#2 )
utoa_append::sub#2 = phi( utoa_append::@1/utoa_append::sub#1 )
utoa_append::value#3 = phi( utoa_append::@1/utoa_append::value#2 )
utoa_append::digit#2 = phi( utoa_append::@1/utoa_append::digit#4 )
utoa_append::digit#1 = ++ utoa_append::digit#2
utoa_append::value#1 = utoa_append::value#3 - utoa_append::sub#2
to:utoa_append::@1
utoa_append::@3: scope:[utoa_append] from utoa_append::@1
utoa_append::value#4 = phi( utoa_append::@1/utoa_append::value#2 )
utoa_append::buffer#1 = phi( utoa_append::@1/utoa_append::buffer#2 )
utoa_append::digit#3 = phi( utoa_append::@1/utoa_append::digit#4 )
*utoa_append::buffer#1 = DIGITS[utoa_append::digit#3]
utoa_append::return#1 = utoa_append::value#4
to:utoa_append::@return
utoa_append::@return: scope:[utoa_append] from utoa_append::@3
utoa_append::return#4 = phi( utoa_append::@3/utoa_append::return#1 )
utoa_append::return#2 = utoa_append::return#4
return
to:@return
void gotoxy(char x , char y)
gotoxy: scope:[gotoxy] from clear_screen::@3 conio_c64_init::@1 cscroll::@2
gotoxy::x#6 = phi( clear_screen::@3/gotoxy::x#3, conio_c64_init::@1/gotoxy::x#2, cscroll::@2/gotoxy::x#1 )
gotoxy::y#4 = phi( clear_screen::@3/gotoxy::y#3, conio_c64_init::@1/gotoxy::y#2, cscroll::@2/gotoxy::y#1 )
gotoxy::$0 = gotoxy::y#4 > $19
gotoxy::$1 = ! gotoxy::$0
if(gotoxy::$1) goto gotoxy::@1
to:gotoxy::@3
gotoxy::@1: scope:[gotoxy] from gotoxy gotoxy::@3
gotoxy::y#6 = phi( gotoxy/gotoxy::y#4, gotoxy::@3/gotoxy::y#0 )
gotoxy::x#4 = phi( gotoxy/gotoxy::x#6, gotoxy::@3/gotoxy::x#7 )
gotoxy::$2 = gotoxy::x#4 >= $28
gotoxy::$3 = ! gotoxy::$2
if(gotoxy::$3) goto gotoxy::@2
to:gotoxy::@4
gotoxy::@3: scope:[gotoxy] from gotoxy
gotoxy::x#7 = phi( gotoxy/gotoxy::x#6 )
gotoxy::y#0 = 0
to:gotoxy::@1
gotoxy::@2: scope:[gotoxy] from gotoxy::@1 gotoxy::@4
gotoxy::y#5 = phi( gotoxy::@1/gotoxy::y#6, gotoxy::@4/gotoxy::y#7 )
gotoxy::x#5 = phi( gotoxy::@1/gotoxy::x#4, gotoxy::@4/gotoxy::x#0 )
conio_cursor_x = gotoxy::x#5
conio_cursor_y = gotoxy::y#5
gotoxy::$7 = (unsigned int)gotoxy::y#5
gotoxy::line_offset#0 = gotoxy::$7 * $28
gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0
conio_line_text = gotoxy::$5
gotoxy::$6 = COLORRAM + gotoxy::line_offset#0
conio_line_color = gotoxy::$6
to:gotoxy::@return
gotoxy::@4: scope:[gotoxy] from gotoxy::@1
gotoxy::y#7 = phi( gotoxy::@1/gotoxy::y#6 )
gotoxy::x#0 = 0
to:gotoxy::@2
gotoxy::@return: scope:[gotoxy] from gotoxy::@2
return
to:@return
void cputc(char c)
cputc: scope:[cputc] from cputs::@2
cputc::c#1 = phi( cputs::@2/cputc::c#0 )
cputc::$0 = cputc::c#1 == '
'
if(cputc::$0) goto cputc::@1
to:cputc::@2
cputc::@1: scope:[cputc] from cputc
call cputln
to:cputc::@4
cputc::@4: scope:[cputc] from cputc::@1
to:cputc::@return
cputc::@2: scope:[cputc] from cputc
cputc::c#2 = phi( cputc/cputc::c#1 )
conio_line_text[conio_cursor_x] = cputc::c#2
conio_line_color[conio_cursor_x] = conio_textcolor
conio_cursor_x = ++ conio_cursor_x
cputc::$1 = conio_cursor_x == $28
cputc::$2 = ! cputc::$1
if(cputc::$2) goto cputc::@return
to:cputc::@3
cputc::@3: scope:[cputc] from cputc::@2
call cputln
to:cputc::@5
cputc::@5: scope:[cputc] from cputc::@3
to:cputc::@return
cputc::@return: scope:[cputc] from cputc::@2 cputc::@4 cputc::@5
return
to:@return
void cputln()
cputln: scope:[cputln] from cputc::@1 cputc::@3
conio_line_text = conio_line_text + $28
conio_line_color = conio_line_color + $28
conio_cursor_x = 0
conio_cursor_y = ++ conio_cursor_y
call cscroll
to:cputln::@1
cputln::@1: scope:[cputln] from cputln
to:cputln::@return
cputln::@return: scope:[cputln] from cputln::@1
return
to:@return
void cputs(const char *s)
cputs: scope:[cputs] from main::@103 main::@105 main::@106 main::@108 main::@110 main::@112 main::@55 main::@57 main::@59
cputs::s#11 = phi( main::@103/cputs::s#4, main::@105/cputs::s#5, main::@106/cputs::s#6, main::@108/cputs::s#7, main::@110/cputs::s#8, main::@112/cputs::s#9, main::@55/cputs::s#1, main::@57/cputs::s#2, main::@59/cputs::s#3 )
cputs::c#0 = 0
to:cputs::@1
cputs::@1: scope:[cputs] from cputs cputs::@3
cputs::s#10 = phi( cputs/cputs::s#11, cputs::@3/cputs::s#12 )
cputs::c#1 = *cputs::s#10
cputs::$0 = cputs::c#1
cputs::s#0 = ++ cputs::s#10
cputs::$2 = 0 != cputs::$0
if(cputs::$2) goto cputs::@2
to:cputs::@return
cputs::@2: scope:[cputs] from cputs::@1
cputs::s#13 = phi( cputs::@1/cputs::s#0 )
cputs::c#2 = phi( cputs::@1/cputs::c#1 )
cputc::c#0 = cputs::c#2
call cputc
to:cputs::@3
cputs::@3: scope:[cputs] from cputs::@2
cputs::s#12 = phi( cputs::@2/cputs::s#13 )
to:cputs::@1
cputs::@return: scope:[cputs] from cputs::@1
return
to:@return
char textcolor(char color)
textcolor: scope:[textcolor] from main::@102 main::@104 main::@107 main::@111 main::@54 main::@56 main::@58
textcolor::color#7 = phi( main::@102/textcolor::color#3, main::@104/textcolor::color#4, main::@107/textcolor::color#5, main::@111/textcolor::color#6, main::@54/textcolor::color#0, main::@56/textcolor::color#1, main::@58/textcolor::color#2 )
textcolor::old#0 = conio_textcolor
conio_textcolor = textcolor::color#7
textcolor::return#0 = textcolor::old#0
to:textcolor::@return
textcolor::@return: scope:[textcolor] from textcolor
textcolor::return#9 = phi( textcolor/textcolor::return#0 )
textcolor::return#1 = textcolor::return#9
return
to:@return
void cscroll()
cscroll: scope:[cscroll] from cputln
cscroll::$0 = conio_cursor_y == $19
cscroll::$1 = ! cscroll::$0
if(cscroll::$1) goto cscroll::@return
to:cscroll::@1
cscroll::@1: scope:[cscroll] from cscroll
cscroll::$7 = 0 != conio_scroll_enable
if(cscroll::$7) goto cscroll::@3
to:cscroll::@2
cscroll::@3: scope:[cscroll] from cscroll::@1
memcpy::destination#0 = (void *)DEFAULT_SCREEN
memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
memcpy::num#0 = $19*$28-$28
call memcpy
memcpy::return#2 = memcpy::return#1
to:cscroll::@4
cscroll::@4: scope:[cscroll] from cscroll::@3
memcpy::destination#1 = (void *)COLORRAM
memcpy::source#1 = (void *)COLORRAM+$28
memcpy::num#1 = $19*$28-$28
call memcpy
memcpy::return#3 = memcpy::return#1
to:cscroll::@5
cscroll::@5: scope:[cscroll] from cscroll::@4
memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
memset::c#0 = ' '
memset::num#0 = $28
call memset
memset::return#2 = memset::return#1
to:cscroll::@6
cscroll::@6: scope:[cscroll] from cscroll::@5
memset::str#1 = (void *)COLORRAM+$19*$28-$28
memset::c#1 = conio_textcolor
memset::num#1 = $28
call memset
memset::return#3 = memset::return#1
to:cscroll::@7
cscroll::@7: scope:[cscroll] from cscroll::@6
conio_line_text = conio_line_text - $28
conio_line_color = conio_line_color - $28
conio_cursor_y = -- conio_cursor_y
to:cscroll::@return
cscroll::@2: scope:[cscroll] from cscroll::@1
gotoxy::x#1 = 0
gotoxy::y#1 = 0
call gotoxy
to:cscroll::@8
cscroll::@8: scope:[cscroll] from cscroll::@2
to:cscroll::@return
cscroll::@return: scope:[cscroll] from cscroll cscroll::@7 cscroll::@8
return
to:@return
void conio_c64_init()
conio_c64_init: scope:[conio_c64_init] from __start::__init1
conio_c64_init::line#0 = *conio_c64_init::BASIC_CURSOR_LINE
conio_c64_init::$0 = conio_c64_init::line#0 >= $19
conio_c64_init::$1 = ! conio_c64_init::$0
if(conio_c64_init::$1) goto conio_c64_init::@1
to:conio_c64_init::@2
conio_c64_init::@1: scope:[conio_c64_init] from conio_c64_init conio_c64_init::@2
conio_c64_init::line#2 = phi( conio_c64_init/conio_c64_init::line#0, conio_c64_init::@2/conio_c64_init::line#1 )
gotoxy::x#2 = 0
gotoxy::y#2 = conio_c64_init::line#2
call gotoxy
to:conio_c64_init::@3
conio_c64_init::@3: scope:[conio_c64_init] from conio_c64_init::@1
to:conio_c64_init::@return
conio_c64_init::@2: scope:[conio_c64_init] from conio_c64_init
conio_c64_init::line#1 = $19-1
to:conio_c64_init::@1
conio_c64_init::@return: scope:[conio_c64_init] from conio_c64_init::@3
return
to:@return
char divr8u(char dividend , char divisor , char rem)
divr8u: scope:[divr8u] from div16u8u div16u8u::@1
divr8u::divisor#6 = phi( div16u8u/divr8u::divisor#0, div16u8u::@1/divr8u::divisor#1 )
divr8u::dividend#5 = phi( div16u8u/divr8u::dividend#1, div16u8u::@1/divr8u::dividend#2 )
divr8u::rem#10 = phi( div16u8u/divr8u::rem#3, div16u8u::@1/divr8u::rem#4 )
divr8u::quotient#0 = 0
divr8u::i#0 = 0
to:divr8u::@1
divr8u::@1: scope:[divr8u] from divr8u divr8u::@3
divr8u::i#5 = phi( divr8u/divr8u::i#0, divr8u::@3/divr8u::i#1 )
divr8u::divisor#4 = phi( divr8u/divr8u::divisor#6, divr8u::@3/divr8u::divisor#7 )
divr8u::quotient#6 = phi( divr8u/divr8u::quotient#0, divr8u::@3/divr8u::quotient#8 )
divr8u::dividend#3 = phi( divr8u/divr8u::dividend#5, divr8u::@3/divr8u::dividend#6 )
divr8u::rem#5 = phi( divr8u/divr8u::rem#10, divr8u::@3/divr8u::rem#11 )
divr8u::$0 = divr8u::rem#5 << 1
divr8u::rem#0 = divr8u::$0
divr8u::$1 = divr8u::dividend#3 & $80
divr8u::$2 = divr8u::$1 != 0
divr8u::$3 = ! divr8u::$2
if(divr8u::$3) goto divr8u::@2
to:divr8u::@4
divr8u::@2: scope:[divr8u] from divr8u::@1 divr8u::@4
divr8u::i#3 = phi( divr8u::@1/divr8u::i#5, divr8u::@4/divr8u::i#6 )
divr8u::divisor#2 = phi( divr8u::@1/divr8u::divisor#4, divr8u::@4/divr8u::divisor#5 )
divr8u::rem#6 = phi( divr8u::@1/divr8u::rem#0, divr8u::@4/divr8u::rem#1 )
divr8u::quotient#3 = phi( divr8u::@1/divr8u::quotient#6, divr8u::@4/divr8u::quotient#7 )
divr8u::dividend#4 = phi( divr8u::@1/divr8u::dividend#3, divr8u::@4/divr8u::dividend#7 )
divr8u::$5 = divr8u::dividend#4 << 1
divr8u::dividend#0 = divr8u::$5
divr8u::$6 = divr8u::quotient#3 << 1
divr8u::quotient#1 = divr8u::$6
divr8u::$7 = divr8u::rem#6 >= divr8u::divisor#2
divr8u::$8 = ! divr8u::$7
if(divr8u::$8) goto divr8u::@3
to:divr8u::@5
divr8u::@4: scope:[divr8u] from divr8u::@1
divr8u::i#6 = phi( divr8u::@1/divr8u::i#5 )
divr8u::divisor#5 = phi( divr8u::@1/divr8u::divisor#4 )
divr8u::quotient#7 = phi( divr8u::@1/divr8u::quotient#6 )
divr8u::dividend#7 = phi( divr8u::@1/divr8u::dividend#3 )
divr8u::rem#7 = phi( divr8u::@1/divr8u::rem#0 )
divr8u::$4 = divr8u::rem#7 | 1
divr8u::rem#1 = divr8u::$4
to:divr8u::@2
divr8u::@3: scope:[divr8u] from divr8u::@2 divr8u::@5
divr8u::divisor#7 = phi( divr8u::@2/divr8u::divisor#2, divr8u::@5/divr8u::divisor#3 )
divr8u::quotient#8 = phi( divr8u::@2/divr8u::quotient#1, divr8u::@5/divr8u::quotient#2 )
divr8u::dividend#6 = phi( divr8u::@2/divr8u::dividend#0, divr8u::@5/divr8u::dividend#8 )
divr8u::rem#11 = phi( divr8u::@2/divr8u::rem#6, divr8u::@5/divr8u::rem#2 )
divr8u::i#2 = phi( divr8u::@2/divr8u::i#3, divr8u::@5/divr8u::i#4 )
divr8u::i#1 = divr8u::i#2 + rangenext(0,7)
divr8u::$10 = divr8u::i#1 != rangelast(0,7)
if(divr8u::$10) goto divr8u::@1
to:divr8u::@6
divr8u::@5: scope:[divr8u] from divr8u::@2
divr8u::dividend#8 = phi( divr8u::@2/divr8u::dividend#0 )
divr8u::i#4 = phi( divr8u::@2/divr8u::i#3 )
divr8u::divisor#3 = phi( divr8u::@2/divr8u::divisor#2 )
divr8u::rem#8 = phi( divr8u::@2/divr8u::rem#6 )
divr8u::quotient#4 = phi( divr8u::@2/divr8u::quotient#1 )
divr8u::quotient#2 = ++ divr8u::quotient#4
divr8u::$9 = divr8u::rem#8 - divr8u::divisor#3
divr8u::rem#2 = divr8u::$9
to:divr8u::@3
divr8u::@6: scope:[divr8u] from divr8u::@3
divr8u::quotient#5 = phi( divr8u::@3/divr8u::quotient#8 )
divr8u::rem#9 = phi( divr8u::@3/divr8u::rem#11 )
rem8u#0 = divr8u::rem#9
divr8u::return#0 = divr8u::quotient#5
to:divr8u::@return
divr8u::@return: scope:[divr8u] from divr8u::@6
rem8u#12 = phi( divr8u::@6/rem8u#0 )
divr8u::return#4 = phi( divr8u::@6/divr8u::return#0 )
divr8u::return#1 = divr8u::return#4
rem8u#1 = rem8u#12
return
to:@return
unsigned int div16u8u(unsigned int dividend , char divisor)
div16u8u: scope:[div16u8u] from read_chrono
rem8u#22 = phi( read_chrono/rem8u#23 )
div16u8u::divisor#1 = phi( read_chrono/div16u8u::divisor#0 )
div16u8u::dividend#1 = phi( read_chrono/div16u8u::dividend#0 )
div16u8u::$0 = byte1 div16u8u::dividend#1
divr8u::dividend#1 = div16u8u::$0
divr8u::divisor#0 = div16u8u::divisor#1
divr8u::rem#3 = 0
call divr8u
divr8u::return#2 = divr8u::return#1
to:div16u8u::@1
div16u8u::@1: scope:[div16u8u] from div16u8u
div16u8u::divisor#2 = phi( div16u8u/div16u8u::divisor#1 )
div16u8u::dividend#2 = phi( div16u8u/div16u8u::dividend#1 )
rem8u#13 = phi( div16u8u/rem8u#1 )
divr8u::return#5 = phi( div16u8u/divr8u::return#2 )
div16u8u::quotient_hi#0 = divr8u::return#5
rem8u#2 = rem8u#13
div16u8u::$2 = byte0 div16u8u::dividend#2
divr8u::dividend#2 = div16u8u::$2
divr8u::divisor#1 = div16u8u::divisor#2
divr8u::rem#4 = rem8u#2
call divr8u
divr8u::return#3 = divr8u::return#1
to:div16u8u::@2
div16u8u::@2: scope:[div16u8u] from div16u8u::@1
div16u8u::quotient_hi#1 = phi( div16u8u::@1/div16u8u::quotient_hi#0 )
rem8u#14 = phi( div16u8u::@1/rem8u#1 )
divr8u::return#6 = phi( div16u8u::@1/divr8u::return#3 )
div16u8u::quotient_lo#0 = divr8u::return#6
rem8u#3 = rem8u#14
div16u8u::quotient#0 = div16u8u::quotient_hi#1 w= div16u8u::quotient_lo#0
div16u8u::return#0 = div16u8u::quotient#0
to:div16u8u::@return
div16u8u::@return: scope:[div16u8u] from div16u8u::@2
rem8u#15 = phi( div16u8u::@2/rem8u#3 )
div16u8u::return#3 = phi( div16u8u::@2/div16u8u::return#0 )
div16u8u::return#1 = div16u8u::return#3
rem8u#4 = rem8u#15
return
to:@return
void clear_screen(char n , char m)
clear_screen: scope:[clear_screen] from main::@3 main::@45 main::@5
clear_screen::n#5 = phi( main::@3/clear_screen::n#0, main::@45/clear_screen::n#2, main::@5/clear_screen::n#1 )
clear_screen::m#5 = phi( main::@3/clear_screen::m#0, main::@45/clear_screen::m#2, main::@5/clear_screen::m#1 )
z#0 = 0
to:clear_screen::@1
clear_screen::@1: scope:[clear_screen] from clear_screen clear_screen::@2
clear_screen::n#4 = phi( clear_screen/clear_screen::n#5, clear_screen::@2/clear_screen::n#3 )
clear_screen::m#4 = phi( clear_screen/clear_screen::m#5, clear_screen::@2/clear_screen::m#3 )
z#20 = phi( clear_screen/z#0, clear_screen::@2/z#1 )
clear_screen::$2 = z#20 < $1fa
if(clear_screen::$2) goto clear_screen::@2
to:clear_screen::@3
clear_screen::@2: scope:[clear_screen] from clear_screen::@1
clear_screen::n#3 = phi( clear_screen::@1/clear_screen::n#4 )
clear_screen::m#3 = phi( clear_screen::@1/clear_screen::m#4 )
z#21 = phi( clear_screen::@1/z#20 )
clear_screen::$3 = $1e00 + z#21
clear_screen::$4 = clear_screen::$3 + c
*((char *)clear_screen::$4) = clear_screen::m#3
clear_screen::$5 = $1e00 + z#21
*((char *)clear_screen::$5) = clear_screen::n#3
z#1 = ++ z#21
to:clear_screen::@1
clear_screen::@3: scope:[clear_screen] from clear_screen::@1
z#65 = phi( clear_screen::@1/z#20 )
gotoxy::x#3 = 0
gotoxy::y#3 = 0
call gotoxy
to:clear_screen::@4
clear_screen::@4: scope:[clear_screen] from clear_screen::@3
z#52 = phi( clear_screen::@3/z#65 )
chrout::petscii = home
call chrout
to:clear_screen::@5
clear_screen::@5: scope:[clear_screen] from clear_screen::@4
z#39 = phi( clear_screen::@4/z#52 )
to:clear_screen::@return
clear_screen::@return: scope:[clear_screen] from clear_screen::@5
z#22 = phi( clear_screen::@5/z#39 )
z#2 = z#22
return
to:@return
void random(char k , char n)
random: scope:[random] from main::@13 main::@25 main::@90
random::n#4 = phi( main::@13/random::n#0, main::@25/random::n#1, main::@90/random::n#2 )
random::k#4 = phi( main::@13/random::k#0, main::@25/random::k#1, main::@90/random::k#2 )
to:random::@1
random::@1: scope:[random] from random random::@1
random::n#3 = phi( random/random::n#4, random::@1/random::n#3 )
random::k#3 = phi( random/random::k#4, random::@1/random::k#3 )
m = *((char *)$9114)
random::$0 = m < random::k#3
random::$1 = m > random::n#3
random::$2 = random::$0 || random::$1
if(random::$2) goto random::@1
to:random::@return
random::@return: scope:[random] from random::@1
return
to:@return
void chrout(volatile char petscii)
chrout: scope:[chrout] from clear_screen::@4 main main::@10 main::@101 main::@11 main::@12 main::@16 main::@17 main::@19 main::@22 main::@23 main::@24 main::@47 main::@52 main::@61 main::@62 main::@63 main::@66 main::@7 main::@70 main::@71 main::@72 main::@73 main::@74 main::@8 main::@80 main::@81 main::@84 main::@85 main::@88 write_score::@11 write_score::@13 write_score::@3
asm { ldapetscii jsr$ffd2 }
to:chrout::@return
chrout::@return: scope:[chrout] from chrout
return
to:@return
void write_score()
write_score: scope:[write_score] from main::@20 main::@29 main::@35
score#13 = phi( main::@20/score#29, main::@29/score#4, main::@35/score#6 )
write_score::$0 = score#13 > $fde8
write_score::$1 = ! write_score::$0
if(write_score::$1) goto write_score::@1
to:write_score::@4
write_score::@1: scope:[write_score] from write_score write_score::@4
score#38 = phi( write_score/score#13, write_score::@4/score#0 )
m = 0
to:write_score::@6
write_score::@4: scope:[write_score] from write_score
score#0 = 0
to:write_score::@1
write_score::@6: scope:[write_score] from write_score::@1 write_score::@7
score#30 = phi( write_score::@1/score#38, write_score::@7/score#39 )
write_score::$9 = m < 4
if(write_score::$9) goto write_score::@7
to:write_score::@8
write_score::@7: scope:[write_score] from write_score::@6
score#39 = phi( write_score::@6/score#30 )
points[m] = '0'
m = ++ m
to:write_score::@6
write_score::@8: scope:[write_score] from write_score::@6
score#14 = phi( write_score::@6/score#30 )
utoa::value#1 = score#14
utoa::buffer#5 = buffer
utoa::radix#0 = $a
call utoa
to:write_score::@12
write_score::@12: scope:[write_score] from write_score::@8
score#15 = phi( write_score::@8/score#14 )
write_score::$3 = score#15 > 9
write_score::$4 = ! write_score::$3
if(write_score::$4) goto write_score::@2
to:write_score::@9
write_score::@2: scope:[write_score] from write_score::@12 write_score::@9
score#16 = phi( write_score::@12/score#15, write_score::@9/score#31 )
write_score::$5 = score#16 > $63
write_score::$6 = ! write_score::$5
if(write_score::$6) goto write_score::@3
to:write_score::@5
write_score::@9: scope:[write_score] from write_score::@12
score#31 = phi( write_score::@12/score#15 )
points[2] = buffer[0]
points[3] = buffer[1]
to:write_score::@2
write_score::@3: scope:[write_score] from write_score::@2 write_score::@5
score#59 = phi( write_score::@2/score#16, write_score::@5/score#68 )
chrout::petscii = yellow
call chrout
to:write_score::@13
write_score::@13: scope:[write_score] from write_score::@3
score#49 = phi( write_score::@3/score#59 )
chrout::petscii = home
call chrout
to:write_score::@14
write_score::@14: scope:[write_score] from write_score::@13
score#40 = phi( write_score::@13/score#49 )
*((char *)$d3) = 4
m = 0
to:write_score::@10
write_score::@5: scope:[write_score] from write_score::@2
score#68 = phi( write_score::@2/score#16 )
points[1] = buffer[0]
points[2] = buffer[1]
points[3] = buffer[2]
to:write_score::@3
write_score::@10: scope:[write_score] from write_score::@14 write_score::@15
score#32 = phi( write_score::@14/score#40, write_score::@15/score#41 )
write_score::$10 = m < 4
if(write_score::$10) goto write_score::@11
to:write_score::@return
write_score::@11: scope:[write_score] from write_score::@10
score#50 = phi( write_score::@10/score#32 )
chrout::petscii = points[m]
call chrout
to:write_score::@15
write_score::@15: scope:[write_score] from write_score::@11
score#41 = phi( write_score::@11/score#50 )
m = ++ m
to:write_score::@10
write_score::@return: scope:[write_score] from write_score::@10
score#17 = phi( write_score::@10/score#32 )
score#1 = score#17
return
to:@return
void wait(char n)
wait: scope:[wait] from main::@37 main::@43 main::@94 main::@96 main::@99
z#53 = phi( main::@37/z#48, main::@43/z#47, main::@94/z#45, main::@96/z#46, main::@99/z#13 )
wait::n#6 = phi( main::@37/wait::n#3, main::@43/wait::n#2, main::@94/wait::n#0, main::@96/wait::n#1, main::@99/wait::n#4 )
m = 0
to:wait::@1
wait::@1: scope:[wait] from wait wait::@5
z#40 = phi( wait/z#53, wait::@5/z#54 )
wait::n#5 = phi( wait/wait::n#6, wait::@5/wait::n#7 )
wait::$0 = m < wait::n#5
if(wait::$0) goto wait::@2
to:wait::@return
wait::@2: scope:[wait] from wait::@1
wait::n#9 = phi( wait::@1/wait::n#5 )
z#3 = 0
to:wait::@3
wait::@3: scope:[wait] from wait::@2 wait::@4
wait::n#8 = phi( wait::@2/wait::n#9, wait::@4/wait::n#10 )
z#23 = phi( wait::@2/z#3, wait::@4/z#4 )
wait::$1 = z#23 < $21c
if(wait::$1) goto wait::@4
to:wait::@5
wait::@4: scope:[wait] from wait::@3
wait::n#10 = phi( wait::@3/wait::n#8 )
z#24 = phi( wait::@3/z#23 )
z#4 = ++ z#24
to:wait::@3
wait::@5: scope:[wait] from wait::@3
z#54 = phi( wait::@3/z#23 )
wait::n#7 = phi( wait::@3/wait::n#8 )
m = ++ m
to:wait::@1
wait::@return: scope:[wait] from wait::@1
z#25 = phi( wait::@1/z#40 )
z#5 = z#25
return
to:@return
void chrono_restart()
chrono_restart: scope:[chrono_restart] from main::@26
asm { lda#0 ldy#0 ldx#0 jsr$ffdb }
to:chrono_restart::@return
chrono_restart::@return: scope:[chrono_restart] from chrono_restart
return
to:@return
void read_chrono()
read_chrono: scope:[read_chrono] from main::@28
rem8u#23 = phi( main::@28/rem8u#25 )
asm { jsr$ffde stal stxm }
read_chrono::$0 = m * $100
read_chrono::$1 = read_chrono::$0 + l
div16u8u::dividend#0 = read_chrono::$1
div16u8u::divisor#0 = $3c
call div16u8u
div16u8u::return#2 = div16u8u::return#1
to:read_chrono::@2
read_chrono::@2: scope:[read_chrono] from read_chrono
rem8u#16 = phi( read_chrono/rem8u#4 )
div16u8u::return#4 = phi( read_chrono/div16u8u::return#2 )
read_chrono::$2 = div16u8u::return#4
rem8u#5 = rem8u#16
time#0 = read_chrono::$2
*((char *)$1e15+c) = 7
*((char *)$1e15) = $b9
read_chrono::$3 = time#0 < $a
read_chrono::$4 = ! read_chrono::$3
if(read_chrono::$4) goto read_chrono::@return
to:read_chrono::@1
read_chrono::@1: scope:[read_chrono] from read_chrono::@2
rem8u#24 = phi( read_chrono::@2/rem8u#5 )
time#9 = phi( read_chrono::@2/time#0 )
read_chrono::$5 = $b9 - time#9
*((char *)$1e15) = read_chrono::$5
to:read_chrono::@return
read_chrono::@return: scope:[read_chrono] from read_chrono::@1 read_chrono::@2
time#10 = phi( read_chrono::@1/time#9, read_chrono::@2/time#0 )
rem8u#17 = phi( read_chrono::@1/rem8u#24, read_chrono::@2/rem8u#5 )
rem8u#6 = rem8u#17
time#1 = time#10
return
to:@return
void main()
main: scope:[main] from __start::@1
n#121 = phi( __start::@1/n#16 )
hiscore#122 = phi( __start::@1/hiscore#12 )
y#126 = phi( __start::@1/y#25 )
rem8u#139 = phi( __start::@1/rem8u#27 )
z#82 = phi( __start::@1/z#51 )
*((char *)$900f) = 8
chrout::petscii = lock
call chrout
to:main::@52
main::@52: scope:[main] from main
n#120 = phi( main/n#121 )
hiscore#121 = phi( main/hiscore#122 )
y#125 = phi( main/y#126 )
rem8u#138 = phi( main/rem8u#139 )
z#75 = phi( main/z#82 )
chrout::petscii = lower
call chrout
to:main::@53
main::@53: scope:[main] from main::@52
n#119 = phi( main::@52/n#120 )
hiscore#120 = phi( main::@52/hiscore#121 )
y#124 = phi( main::@52/y#125 )
rem8u#137 = phi( main::@52/rem8u#138 )
z#67 = phi( main::@52/z#75 )
m = 0
to:main::@1
main::@1: scope:[main] from main::@2 main::@53
n#117 = phi( main::@2/n#118, main::@53/n#119 )
hiscore#118 = phi( main::@2/hiscore#119, main::@53/hiscore#120 )
y#122 = phi( main::@2/y#123, main::@53/y#124 )
rem8u#135 = phi( main::@2/rem8u#136, main::@53/rem8u#137 )
z#55 = phi( main::@2/z#66, main::@53/z#67 )
main::$2 = m < $28
if(main::$2) goto main::@2
to:main::@3
main::@2: scope:[main] from main::@1
n#118 = phi( main::@1/n#117 )
hiscore#119 = phi( main::@1/hiscore#118 )
y#123 = phi( main::@1/y#122 )
rem8u#136 = phi( main::@1/rem8u#135 )
z#66 = phi( main::@1/z#55 )
main::$3 = $1c00 + m
*((char *)main::$3) = duck_udg[m]
m = ++ m
to:main::@1
main::@3: scope:[main] from main::@1 main::@50
n#116 = phi( main::@1/n#117, main::@50/n#17 )
hiscore#117 = phi( main::@1/hiscore#118, main::@50/hiscore#14 )
y#121 = phi( main::@1/y#122, main::@50/y#29 )
rem8u#134 = phi( main::@1/rem8u#135, main::@50/rem8u#29 )
z#41 = phi( main::@1/z#55, main::@50/z#56 )
clear_screen::n#0 = $20
clear_screen::m#0 = 0
call clear_screen
to:main::@54
main::@54: scope:[main] from main::@3
n#115 = phi( main::@3/n#116 )
hiscore#116 = phi( main::@3/hiscore#117 )
y#120 = phi( main::@3/y#121 )
rem8u#133 = phi( main::@3/rem8u#134 )
z#26 = phi( main::@3/z#2 )
z#6 = z#26
textcolor::color#0 = 7
call textcolor
textcolor::return#2 = textcolor::return#1
to:main::@55
main::@55: scope:[main] from main::@54
n#114 = phi( main::@54/n#115 )
hiscore#115 = phi( main::@54/hiscore#116 )
y#119 = phi( main::@54/y#120 )
rem8u#132 = phi( main::@54/rem8u#133 )
z#98 = phi( main::@54/z#6 )
cputs::s#1 = intro
call cputs
to:main::@56
main::@56: scope:[main] from main::@55
n#113 = phi( main::@55/n#114 )
hiscore#114 = phi( main::@55/hiscore#115 )
y#118 = phi( main::@55/y#119 )
rem8u#131 = phi( main::@55/rem8u#132 )
z#93 = phi( main::@55/z#98 )
textcolor::color#1 = 1
call textcolor
textcolor::return#3 = textcolor::return#1
to:main::@57
main::@57: scope:[main] from main::@56
n#112 = phi( main::@56/n#113 )
hiscore#113 = phi( main::@56/hiscore#114 )
y#117 = phi( main::@56/y#118 )
rem8u#130 = phi( main::@56/rem8u#131 )
z#88 = phi( main::@56/z#93 )
cputs::s#2 = levels
call cputs
to:main::@58
main::@58: scope:[main] from main::@57
n#111 = phi( main::@57/n#112 )
hiscore#112 = phi( main::@57/hiscore#113 )
y#116 = phi( main::@57/y#117 )
rem8u#129 = phi( main::@57/rem8u#130 )
z#83 = phi( main::@57/z#88 )
textcolor::color#2 = 2
call textcolor
textcolor::return#4 = textcolor::return#1
to:main::@59
main::@59: scope:[main] from main::@58
n#110 = phi( main::@58/n#111 )
hiscore#111 = phi( main::@58/hiscore#112 )
y#115 = phi( main::@58/y#116 )
rem8u#128 = phi( main::@58/rem8u#129 )
z#76 = phi( main::@58/z#83 )
cputs::s#3 = foot
call cputs
to:main::@60
main::@60: scope:[main] from main::@59
n#109 = phi( main::@59/n#110 )
hiscore#110 = phi( main::@59/hiscore#111 )
y#114 = phi( main::@59/y#115 )
rem8u#127 = phi( main::@59/rem8u#128 )
z#68 = phi( main::@59/z#76 )
to:main::@4
main::@4: scope:[main] from main::@4 main::@60
n#108 = phi( main::@4/n#108, main::@60/n#109 )
hiscore#109 = phi( main::@4/hiscore#109, main::@60/hiscore#110 )
y#113 = phi( main::@4/y#113, main::@60/y#114 )
rem8u#126 = phi( main::@4/rem8u#126, main::@60/rem8u#127 )
z#57 = phi( main::@4/z#57, main::@60/z#68 )
l = *((char *)$c5)
l = ++ l
main::$11 = l > 5
if(main::$11) goto main::@4
to:main::@5
main::@5: scope:[main] from main::@4
n#107 = phi( main::@4/n#108 )
hiscore#106 = phi( main::@4/hiscore#109 )
y#110 = phi( main::@4/y#113 )
rem8u#123 = phi( main::@4/rem8u#126 )
z#42 = phi( main::@4/z#57 )
clear_screen::n#1 = 4
clear_screen::m#1 = 0
call clear_screen
to:main::@61
main::@61: scope:[main] from main::@5
n#106 = phi( main::@5/n#107 )
hiscore#103 = phi( main::@5/hiscore#106 )
y#107 = phi( main::@5/y#110 )
rem8u#120 = phi( main::@5/rem8u#123 )
z#27 = phi( main::@5/z#2 )
z#7 = z#27
*((char *)$9005) = $ff
chrout::petscii = reverse_on
call chrout
to:main::@62
main::@62: scope:[main] from main::@61
n#105 = phi( main::@61/n#106 )
hiscore#101 = phi( main::@61/hiscore#103 )
y#105 = phi( main::@61/y#107 )
rem8u#118 = phi( main::@61/rem8u#120 )
chrout::petscii = red
call chrout
to:main::@63
main::@63: scope:[main] from main::@62
n#103 = phi( main::@62/n#105 )
hiscore#99 = phi( main::@62/hiscore#101 )
y#103 = phi( main::@62/y#105 )
rem8u#116 = phi( main::@62/rem8u#118 )
chrout::petscii = down
call chrout
to:main::@64
main::@64: scope:[main] from main::@63
n#100 = phi( main::@63/n#103 )
hiscore#96 = phi( main::@63/hiscore#99 )
y#100 = phi( main::@63/y#103 )
rem8u#113 = phi( main::@63/rem8u#116 )
k#0 = 1
to:main::@6
main::@6: scope:[main] from main::@64 main::@69
n#97 = phi( main::@64/n#100, main::@69/n#101 )
hiscore#93 = phi( main::@64/hiscore#96, main::@69/hiscore#97 )
y#97 = phi( main::@64/y#100, main::@69/y#101 )
rem8u#110 = phi( main::@64/rem8u#113, main::@69/rem8u#114 )
k#6 = phi( main::@64/k#0, main::@69/k#1 )
main::$16 = k#6 < $16
if(main::$16) goto main::@7
to:main::@8
main::@7: scope:[main] from main::@6
hiscore#107 = phi( main::@6/hiscore#93 )
y#111 = phi( main::@6/y#97 )
rem8u#124 = phi( main::@6/rem8u#110 )
k#20 = phi( main::@6/k#6 )
chrout::petscii = brick
call chrout
to:main::@65
main::@65: scope:[main] from main::@7
hiscore#104 = phi( main::@7/hiscore#107 )
y#108 = phi( main::@7/y#111 )
rem8u#121 = phi( main::@7/rem8u#124 )
k#17 = phi( main::@7/k#20 )
n#0 = 2
to:main::@9
main::@8: scope:[main] from main::@6
n#95 = phi( main::@6/n#97 )
k#101 = phi( main::@6/k#6 )
hiscore#91 = phi( main::@6/hiscore#93 )
y#95 = phi( main::@6/y#97 )
rem8u#108 = phi( main::@6/rem8u#110 )
chrout::petscii = brick
call chrout
to:main::@66
main::@66: scope:[main] from main::@8
n#92 = phi( main::@8/n#95 )
k#98 = phi( main::@8/k#101 )
hiscore#88 = phi( main::@8/hiscore#91 )
y#92 = phi( main::@8/y#95 )
rem8u#105 = phi( main::@8/rem8u#108 )
*((char *)$1ff9) = brick
*((char *)$1ff9+c) = 2
chrout::petscii = home
call chrout
to:main::@67
main::@67: scope:[main] from main::@66
n#89 = phi( main::@66/n#92 )
k#95 = phi( main::@66/k#98 )
hiscore#85 = phi( main::@66/hiscore#88 )
y#89 = phi( main::@66/y#92 )
rem8u#102 = phi( main::@66/rem8u#105 )
z#8 = 1
main::$23 = l > 1
main::$24 = ! main::$23
if(main::$24) goto main::@12
to:main::@13
main::@9: scope:[main] from main::@65 main::@68
hiscore#102 = phi( main::@65/hiscore#104, main::@68/hiscore#105 )
y#106 = phi( main::@65/y#108, main::@68/y#109 )
rem8u#119 = phi( main::@65/rem8u#121, main::@68/rem8u#122 )
k#14 = phi( main::@65/k#17, main::@68/k#18 )
n#7 = phi( main::@65/n#0, main::@68/n#1 )
main::$18 = n#7 < $16
if(main::$18) goto main::@10
to:main::@11
main::@10: scope:[main] from main::@9
hiscore#108 = phi( main::@9/hiscore#102 )
y#112 = phi( main::@9/y#106 )
rem8u#125 = phi( main::@9/rem8u#119 )
k#21 = phi( main::@9/k#14 )
n#13 = phi( main::@9/n#7 )
chrout::petscii = right
call chrout
to:main::@68
main::@68: scope:[main] from main::@10
hiscore#105 = phi( main::@10/hiscore#108 )
y#109 = phi( main::@10/y#112 )
rem8u#122 = phi( main::@10/rem8u#125 )
k#18 = phi( main::@10/k#21 )
n#8 = phi( main::@10/n#13 )
n#1 = ++ n#8
to:main::@9
main::@11: scope:[main] from main::@9
n#104 = phi( main::@9/n#7 )
hiscore#100 = phi( main::@9/hiscore#102 )
y#104 = phi( main::@9/y#106 )
rem8u#117 = phi( main::@9/rem8u#119 )
k#11 = phi( main::@9/k#14 )
chrout::petscii = brick
call chrout
to:main::@69
main::@69: scope:[main] from main::@11
n#101 = phi( main::@11/n#104 )
hiscore#97 = phi( main::@11/hiscore#100 )
y#101 = phi( main::@11/y#104 )
rem8u#114 = phi( main::@11/rem8u#117 )
k#7 = phi( main::@11/k#11 )
k#1 = ++ k#7
to:main::@6
main::@12: scope:[main] from main::@67 main::@76 main::@78
n#88 = phi( main::@67/n#89, main::@76/n#90, main::@78/n#91 )
k#94 = phi( main::@67/k#95, main::@76/k#96, main::@78/k#97 )
hiscore#84 = phi( main::@67/hiscore#85, main::@76/hiscore#86, main::@78/hiscore#87 )
z#136 = phi( main::@67/z#8, main::@76/z#28, main::@78/z#9 )
y#88 = phi( main::@67/y#89, main::@76/y#90, main::@78/y#91 )
rem8u#101 = phi( main::@67/rem8u#102, main::@76/rem8u#103, main::@78/rem8u#104 )
peephole#0 = $1f1f
*((char *)$900e) = $f
score#2 = 0
tu#0 = 1
chrout::petscii = home
call chrout
to:main::@70
main::@70: scope:[main] from main::@12
n#87 = phi( main::@12/n#88 )
k#93 = phi( main::@12/k#94 )
hiscore#83 = phi( main::@12/hiscore#84 )
peephole#85 = phi( main::@12/peephole#0 )
z#135 = phi( main::@12/z#136 )
y#87 = phi( main::@12/y#88 )
rem8u#100 = phi( main::@12/rem8u#101 )
tu#81 = phi( main::@12/tu#0 )
score#92 = phi( main::@12/score#2 )
chrout::petscii = yellow
call chrout
to:main::@71
main::@71: scope:[main] from main::@70
n#86 = phi( main::@70/n#87 )
k#92 = phi( main::@70/k#93 )
hiscore#82 = phi( main::@70/hiscore#83 )
peephole#84 = phi( main::@70/peephole#85 )
z#134 = phi( main::@70/z#135 )
y#86 = phi( main::@70/y#87 )
rem8u#99 = phi( main::@70/rem8u#100 )
tu#79 = phi( main::@70/tu#81 )
score#84 = phi( main::@70/score#92 )
chrout::petscii = $50
call chrout
to:main::@72
main::@72: scope:[main] from main::@71
n#85 = phi( main::@71/n#86 )
k#91 = phi( main::@71/k#92 )
hiscore#81 = phi( main::@71/hiscore#82 )
peephole#83 = phi( main::@71/peephole#84 )
z#133 = phi( main::@71/z#134 )
y#85 = phi( main::@71/y#86 )
rem8u#98 = phi( main::@71/rem8u#99 )
tu#77 = phi( main::@71/tu#79 )
score#77 = phi( main::@71/score#84 )
chrout::petscii = $54
call chrout
to:main::@73
main::@73: scope:[main] from main::@72
n#84 = phi( main::@72/n#85 )
k#90 = phi( main::@72/k#91 )
hiscore#80 = phi( main::@72/hiscore#81 )
peephole#82 = phi( main::@72/peephole#83 )
z#132 = phi( main::@72/z#133 )
y#84 = phi( main::@72/y#85 )
rem8u#97 = phi( main::@72/rem8u#98 )
tu#75 = phi( main::@72/tu#77 )
score#69 = phi( main::@72/score#77 )
chrout::petscii = $53
call chrout
to:main::@74
main::@74: scope:[main] from main::@73
n#82 = phi( main::@73/n#84 )
k#88 = phi( main::@73/k#90 )
hiscore#78 = phi( main::@73/hiscore#80 )
peephole#80 = phi( main::@73/peephole#82 )
z#130 = phi( main::@73/z#132 )
y#82 = phi( main::@73/y#84 )
rem8u#95 = phi( main::@73/rem8u#97 )
tu#71 = phi( main::@73/tu#75 )
score#60 = phi( main::@73/score#69 )
chrout::petscii = $3a
call chrout
to:main::@75
main::@75: scope:[main] from main::@74
n#80 = phi( main::@74/n#82 )
k#86 = phi( main::@74/k#88 )
hiscore#76 = phi( main::@74/hiscore#78 )
peephole#78 = phi( main::@74/peephole#80 )
z#128 = phi( main::@74/z#130 )
y#80 = phi( main::@74/y#82 )
rem8u#93 = phi( main::@74/rem8u#95 )
tu#66 = phi( main::@74/tu#71 )
score#51 = phi( main::@74/score#60 )
*((char *)$d3) = $12
j#0 = 0
to:main::@18
main::@13: scope:[main] from main::@67 main::@78
n#93 = phi( main::@67/n#89, main::@78/n#91 )
k#99 = phi( main::@67/k#95, main::@78/k#97 )
hiscore#89 = phi( main::@67/hiscore#85, main::@78/hiscore#87 )
y#93 = phi( main::@67/y#89, main::@78/y#91 )
rem8u#106 = phi( main::@67/rem8u#102, main::@78/rem8u#104 )
z#43 = phi( main::@67/z#8, main::@78/z#9 )
main::$25 = 7 - l
main::$26 = 3 * l
main::$27 = $1a - main::$26
random::k#0 = main::$25
random::n#0 = main::$27
call random
to:main::@76
main::@76: scope:[main] from main::@13
n#90 = phi( main::@13/n#93 )
k#96 = phi( main::@13/k#99 )
hiscore#86 = phi( main::@13/hiscore#89 )
y#90 = phi( main::@13/y#93 )
rem8u#103 = phi( main::@13/rem8u#106 )
z#28 = phi( main::@13/z#43 )
main::$29 = z#28 + m
main::$30 = main::$29 > $1f9
main::$31 = ! main::$30
if(main::$31) goto main::@14
to:main::@12
main::@14: scope:[main] from main::@76
n#98 = phi( main::@76/n#90 )
k#103 = phi( main::@76/k#96 )
hiscore#94 = phi( main::@76/hiscore#86 )
y#98 = phi( main::@76/y#90 )
rem8u#111 = phi( main::@76/rem8u#103 )
z#69 = phi( main::@76/z#28 )
j#1 = 1
to:main::@15
main::@15: scope:[main] from main::@14 main::@77
n#96 = phi( main::@14/n#98, main::@77/n#99 )
k#102 = phi( main::@14/k#103, main::@77/k#104 )
hiscore#92 = phi( main::@14/hiscore#94, main::@77/hiscore#95 )
y#96 = phi( main::@14/y#98, main::@77/y#99 )
rem8u#109 = phi( main::@14/rem8u#111, main::@77/rem8u#112 )
z#58 = phi( main::@14/z#69, main::@77/z#70 )
j#11 = phi( main::@14/j#1, main::@77/j#2 )
main::$32 = j#11 <= m
if(main::$32) goto main::@16
to:main::@17
main::@16: scope:[main] from main::@15
n#102 = phi( main::@15/n#96 )
k#105 = phi( main::@15/k#102 )
hiscore#98 = phi( main::@15/hiscore#92 )
y#102 = phi( main::@15/y#96 )
rem8u#115 = phi( main::@15/rem8u#109 )
z#77 = phi( main::@15/z#58 )
j#23 = phi( main::@15/j#11 )
chrout::petscii = right
call chrout
to:main::@77
main::@77: scope:[main] from main::@16
n#99 = phi( main::@16/n#102 )
k#104 = phi( main::@16/k#105 )
hiscore#95 = phi( main::@16/hiscore#98 )
y#99 = phi( main::@16/y#102 )
rem8u#112 = phi( main::@16/rem8u#115 )
z#70 = phi( main::@16/z#77 )
j#12 = phi( main::@16/j#23 )
j#2 = ++ j#12
to:main::@15
main::@17: scope:[main] from main::@15
n#94 = phi( main::@15/n#96 )
k#100 = phi( main::@15/k#102 )
hiscore#90 = phi( main::@15/hiscore#92 )
y#94 = phi( main::@15/y#96 )
rem8u#107 = phi( main::@15/rem8u#109 )
z#44 = phi( main::@15/z#58 )
chrout::petscii = brick
call chrout
to:main::@78
main::@78: scope:[main] from main::@17
n#91 = phi( main::@17/n#94 )
k#97 = phi( main::@17/k#100 )
hiscore#87 = phi( main::@17/hiscore#90 )
y#91 = phi( main::@17/y#94 )
rem8u#104 = phi( main::@17/rem8u#107 )
z#29 = phi( main::@17/z#44 )
main::$35 = z#29 + m
main::$36 = main::$35 + 1
z#9 = main::$36
main::$37 = z#9 < $1fa
if(main::$37) goto main::@13
to:main::@12
main::@18: scope:[main] from main::@75 main::@79
n#79 = phi( main::@75/n#80, main::@79/n#81 )
k#85 = phi( main::@75/k#86, main::@79/k#87 )
hiscore#75 = phi( main::@75/hiscore#76, main::@79/hiscore#77 )
peephole#77 = phi( main::@75/peephole#78, main::@79/peephole#79 )
z#127 = phi( main::@75/z#128, main::@79/z#129 )
y#79 = phi( main::@75/y#80, main::@79/y#81 )
rem8u#92 = phi( main::@75/rem8u#93, main::@79/rem8u#94 )
tu#58 = phi( main::@75/tu#66, main::@79/tu#67 )
score#42 = phi( main::@75/score#51, main::@79/score#52 )
j#13 = phi( main::@75/j#0, main::@79/j#3 )
main::$44 = j#13 < 4
if(main::$44) goto main::@19
to:main::@20
main::@19: scope:[main] from main::@18
n#83 = phi( main::@18/n#79 )
k#89 = phi( main::@18/k#85 )
hiscore#79 = phi( main::@18/hiscore#75 )
peephole#81 = phi( main::@18/peephole#77 )
z#131 = phi( main::@18/z#127 )
y#83 = phi( main::@18/y#79 )
rem8u#96 = phi( main::@18/rem8u#92 )
tu#72 = phi( main::@18/tu#58 )
score#61 = phi( main::@18/score#42 )
j#14 = phi( main::@18/j#13 )
chrout::petscii = chrono[j#14]
call chrout
to:main::@79
main::@79: scope:[main] from main::@19
n#81 = phi( main::@19/n#83 )
k#87 = phi( main::@19/k#89 )
hiscore#77 = phi( main::@19/hiscore#79 )
peephole#79 = phi( main::@19/peephole#81 )
z#129 = phi( main::@19/z#131 )
y#81 = phi( main::@19/y#83 )
rem8u#94 = phi( main::@19/rem8u#96 )
tu#67 = phi( main::@19/tu#72 )
score#52 = phi( main::@19/score#61 )
j#15 = phi( main::@19/j#14 )
j#3 = ++ j#15
to:main::@18
main::@20: scope:[main] from main::@18
n#78 = phi( main::@18/n#79 )
k#84 = phi( main::@18/k#85 )
hiscore#74 = phi( main::@18/hiscore#75 )
peephole#76 = phi( main::@18/peephole#77 )
z#126 = phi( main::@18/z#127 )
y#78 = phi( main::@18/y#79 )
rem8u#90 = phi( main::@18/rem8u#92 )
tu#51 = phi( main::@18/tu#58 )
score#29 = phi( main::@18/score#42 )
call write_score
to:main::@80
main::@80: scope:[main] from main::@20
n#77 = phi( main::@20/n#78 )
k#83 = phi( main::@20/k#84 )
hiscore#73 = phi( main::@20/hiscore#74 )
peephole#75 = phi( main::@20/peephole#76 )
z#125 = phi( main::@20/z#126 )
y#76 = phi( main::@20/y#78 )
rem8u#88 = phi( main::@20/rem8u#90 )
tu#43 = phi( main::@20/tu#51 )
score#18 = phi( main::@20/score#1 )
score#3 = score#18
chrout::petscii = home
call chrout
to:main::@81
main::@81: scope:[main] from main::@80
n#75 = phi( main::@80/n#77 )
k#81 = phi( main::@80/k#83 )
hiscore#71 = phi( main::@80/hiscore#73 )
peephole#72 = phi( main::@80/peephole#75 )
z#123 = phi( main::@80/z#125 )
y#72 = phi( main::@80/y#76 )
rem8u#84 = phi( main::@80/rem8u#88 )
score#107 = phi( main::@80/score#3 )
tu#37 = phi( main::@80/tu#43 )
chrout::petscii = green
call chrout
to:main::@82
main::@82: scope:[main] from main::@81
n#73 = phi( main::@81/n#75 )
k#79 = phi( main::@81/k#81 )
hiscore#69 = phi( main::@81/hiscore#71 )
peephole#69 = phi( main::@81/peephole#72 )
z#120 = phi( main::@81/z#123 )
y#68 = phi( main::@81/y#72 )
rem8u#80 = phi( main::@81/rem8u#84 )
score#105 = phi( main::@81/score#107 )
tu#31 = phi( main::@81/tu#37 )
*((char *)$d3) = $a
j#4 = 0
to:main::@21
main::@21: scope:[main] from main::@82 main::@83
n#72 = phi( main::@82/n#73, main::@83/n#74 )
k#78 = phi( main::@82/k#79, main::@83/k#80 )
hiscore#68 = phi( main::@82/hiscore#69, main::@83/hiscore#70 )
peephole#67 = phi( main::@82/peephole#69, main::@83/peephole#70 )
z#118 = phi( main::@82/z#120, main::@83/z#121 )
y#65 = phi( main::@82/y#68, main::@83/y#69 )
rem8u#77 = phi( main::@82/rem8u#80, main::@83/rem8u#81 )
score#104 = phi( main::@82/score#105, main::@83/score#106 )
tu#27 = phi( main::@82/tu#31, main::@83/tu#32 )
j#16 = phi( main::@82/j#4, main::@83/j#5 )
main::$49 = j#16 < 5
if(main::$49) goto main::@22
to:main::@23
main::@22: scope:[main] from main::@21
n#76 = phi( main::@21/n#72 )
k#82 = phi( main::@21/k#78 )
hiscore#72 = phi( main::@21/hiscore#68 )
peephole#73 = phi( main::@21/peephole#67 )
z#124 = phi( main::@21/z#118 )
y#73 = phi( main::@21/y#65 )
rem8u#85 = phi( main::@21/rem8u#77 )
score#108 = phi( main::@21/score#104 )
tu#38 = phi( main::@21/tu#27 )
j#17 = phi( main::@21/j#16 )
chrout::petscii = ducknumber[j#17]
call chrout
to:main::@83
main::@83: scope:[main] from main::@22
n#74 = phi( main::@22/n#76 )
k#80 = phi( main::@22/k#82 )
hiscore#70 = phi( main::@22/hiscore#72 )
peephole#70 = phi( main::@22/peephole#73 )
z#121 = phi( main::@22/z#124 )
y#69 = phi( main::@22/y#73 )
rem8u#81 = phi( main::@22/rem8u#85 )
score#106 = phi( main::@22/score#108 )
tu#32 = phi( main::@22/tu#38 )
j#18 = phi( main::@22/j#17 )
j#5 = ++ j#18
to:main::@21
main::@23: scope:[main] from main::@21 main::@95
n#71 = phi( main::@21/n#72, main::@95/n#36 )
k#77 = phi( main::@21/k#78, main::@95/k#38 )
hiscore#67 = phi( main::@21/hiscore#68, main::@95/hiscore#28 )
peephole#65 = phi( main::@21/peephole#67, main::@95/peephole#68 )
z#116 = phi( main::@21/z#118, main::@95/z#10 )
y#63 = phi( main::@21/y#65, main::@95/y#66 )
rem8u#75 = phi( main::@21/rem8u#77, main::@95/rem8u#78 )
score#103 = phi( main::@21/score#104, main::@95/score#101 )
tu#23 = phi( main::@21/tu#27, main::@95/tu#9 )
chrout::petscii = home
call chrout
to:main::@84
main::@84: scope:[main] from main::@23
n#70 = phi( main::@23/n#71 )
k#75 = phi( main::@23/k#77 )
hiscore#65 = phi( main::@23/hiscore#67 )
peephole#63 = phi( main::@23/peephole#65 )
z#114 = phi( main::@23/z#116 )
y#61 = phi( main::@23/y#63 )
rem8u#73 = phi( main::@23/rem8u#75 )
score#102 = phi( main::@23/score#103 )
tu#18 = phi( main::@23/tu#23 )
chrout::petscii = green
call chrout
to:main::@85
main::@85: scope:[main] from main::@84
n#69 = phi( main::@84/n#70 )
k#72 = phi( main::@84/k#75 )
hiscore#62 = phi( main::@84/hiscore#65 )
peephole#61 = phi( main::@84/peephole#63 )
z#112 = phi( main::@84/z#114 )
y#59 = phi( main::@84/y#61 )
rem8u#70 = phi( main::@84/rem8u#73 )
score#100 = phi( main::@84/score#102 )
tu#13 = phi( main::@84/tu#18 )
chrout::petscii = reverse_on
call chrout
to:main::@86
main::@86: scope:[main] from main::@85
n#64 = phi( main::@85/n#69 )
k#66 = phi( main::@85/k#72 )
hiscore#56 = phi( main::@85/hiscore#62 )
peephole#58 = phi( main::@85/peephole#61 )
z#109 = phi( main::@85/z#112 )
y#56 = phi( main::@85/y#59 )
rem8u#63 = phi( main::@85/rem8u#70 )
score#97 = phi( main::@85/score#100 )
tu#6 = phi( main::@85/tu#13 )
*((char *)$d3) = $f
main::$54 = tu#6 < $a
if(main::$54) goto main::@24
to:main::@47
main::@24: scope:[main] from main::@86
n#58 = phi( main::@86/n#64 )
k#60 = phi( main::@86/k#66 )
hiscore#50 = phi( main::@86/hiscore#56 )
peephole#55 = phi( main::@86/peephole#58 )
z#106 = phi( main::@86/z#109 )
y#53 = phi( main::@86/y#56 )
rem8u#55 = phi( main::@86/rem8u#63 )
score#93 = phi( main::@86/score#97 )
tu#7 = phi( main::@86/tu#6 )
main::$57 = $30 + tu#7
chrout::petscii = main::$57
call chrout
to:main::@87
main::@87: scope:[main] from main::@24
n#52 = phi( main::@24/n#58 )
k#54 = phi( main::@24/k#60 )
hiscore#44 = phi( main::@24/hiscore#50 )
peephole#52 = phi( main::@24/peephole#55 )
z#102 = phi( main::@24/z#106 )
y#49 = phi( main::@24/y#53 )
rem8u#48 = phi( main::@24/rem8u#55 )
score#85 = phi( main::@24/score#93 )
tu#44 = phi( main::@24/tu#7 )
to:main::@25
main::@47: scope:[main] from main::@86
n#65 = phi( main::@86/n#64 )
k#67 = phi( main::@86/k#66 )
hiscore#57 = phi( main::@86/hiscore#56 )
peephole#59 = phi( main::@86/peephole#58 )
z#110 = phi( main::@86/z#109 )
y#57 = phi( main::@86/y#56 )
rem8u#64 = phi( main::@86/rem8u#63 )
score#98 = phi( main::@86/score#97 )
tu#59 = phi( main::@86/tu#6 )
chrout::petscii = $31
call chrout
to:main::@88
main::@88: scope:[main] from main::@47
n#59 = phi( main::@47/n#65 )
k#61 = phi( main::@47/k#67 )
hiscore#51 = phi( main::@47/hiscore#57 )
peephole#56 = phi( main::@47/peephole#59 )
z#107 = phi( main::@47/z#110 )
y#54 = phi( main::@47/y#57 )
rem8u#56 = phi( main::@47/rem8u#64 )
score#94 = phi( main::@47/score#98 )
tu#52 = phi( main::@47/tu#59 )
chrout::petscii = $30
call chrout
to:main::@89
main::@89: scope:[main] from main::@88
n#53 = phi( main::@88/n#59 )
k#55 = phi( main::@88/k#61 )
hiscore#45 = phi( main::@88/hiscore#51 )
peephole#53 = phi( main::@88/peephole#56 )
z#103 = phi( main::@88/z#107 )
y#50 = phi( main::@88/y#54 )
rem8u#49 = phi( main::@88/rem8u#56 )
score#86 = phi( main::@88/score#94 )
tu#45 = phi( main::@88/tu#52 )
to:main::@25
main::@25: scope:[main] from main::@87 main::@89 main::@91
n#49 = phi( main::@87/n#52, main::@89/n#53, main::@91/n#44 )
k#51 = phi( main::@87/k#54, main::@89/k#55, main::@91/k#46 )
hiscore#41 = phi( main::@87/hiscore#44, main::@89/hiscore#45, main::@91/hiscore#36 )
peephole#50 = phi( main::@87/peephole#52, main::@89/peephole#53, main::@91/peephole#46 )
z#99 = phi( main::@87/z#102, main::@89/z#103, main::@91/z#89 )
y#47 = phi( main::@87/y#49, main::@89/y#50, main::@91/y#43 )
rem8u#44 = phi( main::@87/rem8u#48, main::@89/rem8u#49, main::@91/rem8u#37 )
score#78 = phi( main::@87/score#85, main::@89/score#86, main::@91/score#62 )
tu#39 = phi( main::@87/tu#44, main::@89/tu#45, main::@91/tu#28 )
random::k#1 = 0
random::n#1 = $ff
call random
to:main::@90
main::@90: scope:[main] from main::@25
n#46 = phi( main::@25/n#49 )
k#48 = phi( main::@25/k#51 )
hiscore#38 = phi( main::@25/hiscore#41 )
peephole#48 = phi( main::@25/peephole#50 )
z#94 = phi( main::@25/z#99 )
y#45 = phi( main::@25/y#47 )
rem8u#40 = phi( main::@25/rem8u#44 )
score#70 = phi( main::@25/score#78 )
tu#33 = phi( main::@25/tu#39 )
duck#0 = m
random::k#2 = 0
random::n#2 = $ff
call random
to:main::@91
main::@91: scope:[main] from main::@90
n#44 = phi( main::@90/n#46 )
k#46 = phi( main::@90/k#48 )
hiscore#36 = phi( main::@90/hiscore#38 )
peephole#46 = phi( main::@90/peephole#48 )
z#89 = phi( main::@90/z#94 )
y#43 = phi( main::@90/y#45 )
rem8u#37 = phi( main::@90/rem8u#40 )
score#62 = phi( main::@90/score#70 )
tu#28 = phi( main::@90/tu#33 )
duck#6 = phi( main::@90/duck#0 )
main::$61 = m + $1e15
main::$62 = main::$61 + duck#6
duck#1 = main::$62
main::$63 = duck#1 > $1fe3
main::$64 = *((char *)duck#1) == brick
main::$65 = main::$63 || main::$64
main::$66 = duck#1 + 1
main::$67 = *((char *)main::$66) == brick
main::$68 = main::$65 || main::$67
main::$69 = duck#1 + $16
main::$70 = *((char *)main::$69) == brick
main::$71 = main::$68 || main::$70
main::$72 = duck#1 + $17
main::$73 = *((char *)main::$72) == brick
main::$74 = main::$71 || main::$73
if(main::$74) goto main::@25
to:main::@26
main::@26: scope:[main] from main::@91
n#42 = phi( main::@91/n#44 )
k#44 = phi( main::@91/k#46 )
hiscore#34 = phi( main::@91/hiscore#36 )
peephole#42 = phi( main::@91/peephole#46 )
duck#37 = phi( main::@91/duck#1 )
z#84 = phi( main::@91/z#89 )
y#40 = phi( main::@91/y#43 )
rem8u#34 = phi( main::@91/rem8u#37 )
score#53 = phi( main::@91/score#62 )
tu#24 = phi( main::@91/tu#28 )
time#2 = 0
call chrono_restart
to:main::@92
main::@92: scope:[main] from main::@26
n#41 = phi( main::@26/n#42 )
k#43 = phi( main::@26/k#44 )
hiscore#33 = phi( main::@26/hiscore#34 )
peephole#40 = phi( main::@26/peephole#42 )
duck#31 = phi( main::@26/duck#37 )
z#78 = phi( main::@26/z#84 )
y#36 = phi( main::@26/y#40 )
rem8u#32 = phi( main::@26/rem8u#34 )
score#44 = phi( main::@26/score#53 )
tu#20 = phi( main::@26/tu#24 )
time#18 = phi( main::@26/time#2 )
to:main::@27
main::@27: scope:[main] from main::@100 main::@92
n#39 = phi( main::@100/n#40, main::@92/n#41 )
k#41 = phi( main::@100/k#42, main::@92/k#43 )
hiscore#31 = phi( main::@100/hiscore#32, main::@92/hiscore#33 )
peephole#37 = phi( main::@100/peephole#39, main::@92/peephole#40 )
duck#25 = phi( main::@100/duck#30, main::@92/duck#31 )
z#71 = phi( main::@100/z#14, main::@92/z#78 )
y#31 = phi( main::@100/y#35, main::@92/y#36 )
rem8u#28 = phi( main::@100/rem8u#31, main::@92/rem8u#32 )
score#33 = phi( main::@100/score#43, main::@92/score#44 )
tu#14 = phi( main::@100/tu#19, main::@92/tu#20 )
time#11 = phi( main::@100/time#17, main::@92/time#18 )
main::$76 = time#11 < $a
if(main::$76) goto main::@28
to:main::@29
main::@28: scope:[main] from main::@27
k#76 = phi( main::@27/k#41 )
hiscore#66 = phi( main::@27/hiscore#31 )
tu#73 = phi( main::@27/tu#14 )
z#100 = phi( main::@27/z#71 )
score#87 = phi( main::@27/score#33 )
duck#43 = phi( main::@27/duck#25 )
peephole#35 = phi( main::@27/peephole#37 )
y#26 = phi( main::@27/y#31 )
time#19 = phi( main::@27/time#11 )
rem8u#25 = phi( main::@27/rem8u#28 )
call read_chrono
to:main::@93
main::@93: scope:[main] from main::@28
k#74 = phi( main::@28/k#76 )
hiscore#64 = phi( main::@28/hiscore#66 )
tu#69 = phi( main::@28/tu#73 )
z#96 = phi( main::@28/z#100 )
score#80 = phi( main::@28/score#87 )
duck#39 = phi( main::@28/duck#43 )
peephole#32 = phi( main::@28/peephole#35 )
y#18 = phi( main::@28/y#26 )
time#12 = phi( main::@28/time#1 )
rem8u#18 = phi( main::@28/rem8u#6 )
rem8u#7 = rem8u#18
time#3 = time#12
m = *((char *)$911f)
*((char *)$9122) = $7f
n#2 = *((char *)$9120)
*((char *)$9122) = $ff
main::$78 = $10 & m
main::$79 = main::$78 == 0
main::$80 = ! main::$79
if(main::$80) goto main::@30
to:main::@38
main::@29: scope:[main] from main::@27
time#60 = phi( main::@27/time#11 )
n#38 = phi( main::@27/n#39 )
k#40 = phi( main::@27/k#41 )
peephole#74 = phi( main::@27/peephole#37 )
y#74 = phi( main::@27/y#31 )
rem8u#86 = phi( main::@27/rem8u#28 )
hiscore#30 = phi( main::@27/hiscore#31 )
duck#18 = phi( main::@27/duck#25 )
z#59 = phi( main::@27/z#71 )
score#19 = phi( main::@27/score#33 )
tu#8 = phi( main::@27/tu#14 )
tu#1 = ++ tu#8
main::$147 = score#19 - $a
score#4 = main::$147
call write_score
to:main::@94
main::@94: scope:[main] from main::@29
time#59 = phi( main::@29/time#60 )
n#37 = phi( main::@29/n#38 )
k#39 = phi( main::@29/k#40 )
peephole#71 = phi( main::@29/peephole#74 )
y#70 = phi( main::@29/y#74 )
rem8u#82 = phi( main::@29/rem8u#86 )
hiscore#29 = phi( main::@29/hiscore#30 )
tu#15 = phi( main::@29/tu#1 )
duck#13 = phi( main::@29/duck#18 )
z#45 = phi( main::@29/z#59 )
score#20 = phi( main::@29/score#1 )
score#5 = score#20
*((char *)$900d) = $82
wait::n#0 = $14
call wait
to:main::@95
main::@95: scope:[main] from main::@94
time#58 = phi( main::@94/time#59 )
n#36 = phi( main::@94/n#37 )
k#38 = phi( main::@94/k#39 )
peephole#68 = phi( main::@94/peephole#71 )
y#66 = phi( main::@94/y#70 )
rem8u#78 = phi( main::@94/rem8u#82 )
hiscore#28 = phi( main::@94/hiscore#29 )
score#101 = phi( main::@94/score#5 )
tu#9 = phi( main::@94/tu#15 )
duck#7 = phi( main::@94/duck#13 )
z#30 = phi( main::@94/z#5 )
z#10 = z#30
*((char *)$900d) = 0
main::$150 = duck#7 + c
*((char *)main::$150) = 0
main::$151 = duck#7 + 1
main::$152 = main::$151 + c
*((char *)main::$152) = 0
main::$153 = duck#7 + $16
main::$154 = main::$153 + c
*((char *)main::$154) = 0
main::$155 = duck#7 + $17
main::$156 = main::$155 + c
*((char *)main::$156) = 0
main::$157 = tu#9 < $b
if(main::$157) goto main::@23
to:main::@45
main::@30: scope:[main] from main::@38 main::@93
k#68 = phi( main::@38/k#73, main::@93/k#74 )
hiscore#58 = phi( main::@38/hiscore#63, main::@93/hiscore#64 )
rem8u#65 = phi( main::@38/rem8u#71, main::@93/rem8u#7 )
tu#60 = phi( main::@38/tu#68, main::@93/tu#69 )
z#90 = phi( main::@38/z#95, main::@93/z#96 )
time#36 = phi( main::@38/time#40, main::@93/time#3 )
score#71 = phi( main::@38/score#79, main::@93/score#80 )
duck#32 = phi( main::@38/duck#38, main::@93/duck#39 )
peephole#26 = phi( main::@38/peephole#31, main::@93/peephole#32 )
y#19 = phi( main::@38/y#0, main::@93/y#18 )
n#9 = phi( main::@38/n#14, main::@93/n#2 )
main::$81 = $80 & n#9
main::$82 = main::$81 == 0
main::$83 = ! main::$82
if(main::$83) goto main::@31
to:main::@39
main::@38: scope:[main] from main::@93
k#73 = phi( main::@93/k#74 )
hiscore#63 = phi( main::@93/hiscore#64 )
rem8u#71 = phi( main::@93/rem8u#7 )
tu#68 = phi( main::@93/tu#69 )
z#95 = phi( main::@93/z#96 )
time#40 = phi( main::@93/time#3 )
score#79 = phi( main::@93/score#80 )
duck#38 = phi( main::@93/duck#39 )
peephole#31 = phi( main::@93/peephole#32 )
n#14 = phi( main::@93/n#2 )
y#9 = phi( main::@93/y#18 )
y#0 = -- y#9
to:main::@30
main::@31: scope:[main] from main::@30 main::@39
n#60 = phi( main::@30/n#9, main::@39/n#66 )
k#62 = phi( main::@30/k#68, main::@39/k#69 )
hiscore#52 = phi( main::@30/hiscore#58, main::@39/hiscore#59 )
rem8u#57 = phi( main::@30/rem8u#65, main::@39/rem8u#66 )
tu#53 = phi( main::@30/tu#60, main::@39/tu#61 )
z#85 = phi( main::@30/z#90, main::@39/z#91 )
time#31 = phi( main::@30/time#36, main::@39/time#37 )
score#63 = phi( main::@30/score#71, main::@39/score#72 )
duck#26 = phi( main::@30/duck#32, main::@39/duck#33 )
peephole#21 = phi( main::@30/peephole#26, main::@39/peephole#27 )
y#20 = phi( main::@30/y#19, main::@39/y#1 )
main::$84 = 4 & m
main::$85 = main::$84 == 0
main::$86 = ! main::$85
if(main::$86) goto main::@32
to:main::@40
main::@39: scope:[main] from main::@30
n#66 = phi( main::@30/n#9 )
k#69 = phi( main::@30/k#68 )
hiscore#59 = phi( main::@30/hiscore#58 )
rem8u#66 = phi( main::@30/rem8u#65 )
tu#61 = phi( main::@30/tu#60 )
z#91 = phi( main::@30/z#90 )
time#37 = phi( main::@30/time#36 )
score#72 = phi( main::@30/score#71 )
duck#33 = phi( main::@30/duck#32 )
peephole#27 = phi( main::@30/peephole#26 )
y#10 = phi( main::@30/y#19 )
y#1 = ++ y#10
to:main::@31
main::@32: scope:[main] from main::@31 main::@40
n#54 = phi( main::@31/n#60, main::@40/n#61 )
k#56 = phi( main::@31/k#62, main::@40/k#63 )
hiscore#46 = phi( main::@31/hiscore#52, main::@40/hiscore#53 )
rem8u#50 = phi( main::@31/rem8u#57, main::@40/rem8u#58 )
tu#46 = phi( main::@31/tu#53, main::@40/tu#54 )
z#79 = phi( main::@31/z#85, main::@40/z#86 )
time#27 = phi( main::@31/time#31, main::@40/time#32 )
score#54 = phi( main::@31/score#63, main::@40/score#64 )
duck#19 = phi( main::@31/duck#26, main::@40/duck#27 )
peephole#16 = phi( main::@31/peephole#21, main::@40/peephole#22 )
y#21 = phi( main::@31/y#20, main::@40/y#2 )
main::$88 = 8 & m
main::$89 = main::$88 == 0
main::$90 = ! main::$89
if(main::$90) goto main::@33
to:main::@41
main::@40: scope:[main] from main::@31
n#61 = phi( main::@31/n#60 )
k#63 = phi( main::@31/k#62 )
hiscore#53 = phi( main::@31/hiscore#52 )
rem8u#58 = phi( main::@31/rem8u#57 )
tu#54 = phi( main::@31/tu#53 )
z#86 = phi( main::@31/z#85 )
time#32 = phi( main::@31/time#31 )
score#64 = phi( main::@31/score#63 )
duck#27 = phi( main::@31/duck#26 )
peephole#22 = phi( main::@31/peephole#21 )
y#11 = phi( main::@31/y#20 )
main::$87 = y#11 - $16
y#2 = main::$87
to:main::@32
main::@33: scope:[main] from main::@32 main::@41
n#50 = phi( main::@32/n#54, main::@41/n#55 )
k#52 = phi( main::@32/k#56, main::@41/k#57 )
hiscore#42 = phi( main::@32/hiscore#46, main::@41/hiscore#47 )
rem8u#45 = phi( main::@32/rem8u#50, main::@41/rem8u#51 )
tu#40 = phi( main::@32/tu#46, main::@41/tu#47 )
z#72 = phi( main::@32/z#79, main::@41/z#80 )
time#23 = phi( main::@32/time#27, main::@41/time#28 )
score#45 = phi( main::@32/score#54, main::@41/score#55 )
duck#14 = phi( main::@32/duck#19, main::@41/duck#20 )
peephole#12 = phi( main::@32/peephole#16, main::@41/peephole#17 )
y#22 = phi( main::@32/y#21, main::@41/y#3 )
main::$92 = $20 & m
main::$93 = main::$92 == 0
main::$94 = ! main::$93
if(main::$94) goto main::@34
to:main::@42
main::@41: scope:[main] from main::@32
n#55 = phi( main::@32/n#54 )
k#57 = phi( main::@32/k#56 )
hiscore#47 = phi( main::@32/hiscore#46 )
rem8u#51 = phi( main::@32/rem8u#50 )
tu#47 = phi( main::@32/tu#46 )
z#80 = phi( main::@32/z#79 )
time#28 = phi( main::@32/time#27 )
score#55 = phi( main::@32/score#54 )
duck#20 = phi( main::@32/duck#19 )
peephole#17 = phi( main::@32/peephole#16 )
y#12 = phi( main::@32/y#21 )
main::$91 = y#12 + $16
y#3 = main::$91
to:main::@33
main::@34: scope:[main] from main::@33 main::@36
n#47 = phi( main::@33/n#50, main::@36/n#51 )
k#49 = phi( main::@33/k#52, main::@36/k#53 )
hiscore#39 = phi( main::@33/hiscore#42, main::@36/hiscore#43 )
rem8u#41 = phi( main::@33/rem8u#45, main::@36/rem8u#46 )
score#73 = phi( main::@33/score#45, main::@36/score#81 )
tu#34 = phi( main::@33/tu#40, main::@36/tu#41 )
time#33 = phi( main::@33/time#23, main::@36/time#38 )
duck#21 = phi( main::@33/duck#14, main::@36/duck#28 )
z#62 = phi( main::@33/z#72, main::@36/z#73 )
peephole#13 = phi( main::@33/peephole#12, main::@36/peephole#18 )
y#13 = phi( main::@33/y#22, main::@36/y#23 )
main::$103 = *((char *)y#13) != brick
main::$104 = y#13 + 1
main::$105 = *((char *)main::$104) != brick
main::$106 = main::$103 && main::$105
main::$107 = y#13 + $16
main::$108 = *((char *)main::$107) != brick
main::$109 = main::$106 && main::$108
main::$110 = y#13 + $17
main::$111 = *((char *)main::$110) != brick
main::$112 = main::$109 && main::$111
main::$113 = y#13 > $1e16
main::$114 = main::$112 && main::$113
main::$115 = y#13 < $1fe3
main::$116 = main::$114 && main::$115
main::$117 = ! main::$116
if(main::$117) goto main::@37
to:main::@44
main::@42: scope:[main] from main::@33
n#68 = phi( main::@33/n#50 )
k#71 = phi( main::@33/k#52 )
hiscore#61 = phi( main::@33/hiscore#42 )
rem8u#68 = phi( main::@33/rem8u#45 )
tu#63 = phi( main::@33/tu#40 )
y#38 = phi( main::@33/y#22 )
z#61 = phi( main::@33/z#72 )
time#20 = phi( main::@33/time#23 )
score#34 = phi( main::@33/score#45 )
duck#8 = phi( main::@33/duck#14 )
peephole#6 = phi( main::@33/peephole#12 )
*((char *)$900d) = $82
main::$95 = peephole#6 != duck#8
if(main::$95) goto main::@35
to:main::@43
main::@35: scope:[main] from main::@42
n#67 = phi( main::@42/n#68 )
k#70 = phi( main::@42/k#71 )
hiscore#60 = phi( main::@42/hiscore#61 )
rem8u#67 = phi( main::@42/rem8u#68 )
tu#62 = phi( main::@42/tu#63 )
time#45 = phi( main::@42/time#20 )
duck#44 = phi( main::@42/duck#8 )
peephole#33 = phi( main::@42/peephole#6 )
y#37 = phi( main::@42/y#38 )
z#60 = phi( main::@42/z#61 )
score#21 = phi( main::@42/score#34 )
main::$100 = score#21 - $a
score#6 = main::$100
call write_score
to:main::@96
main::@96: scope:[main] from main::@35
n#62 = phi( main::@35/n#67 )
k#64 = phi( main::@35/k#70 )
hiscore#54 = phi( main::@35/hiscore#60 )
rem8u#59 = phi( main::@35/rem8u#67 )
tu#55 = phi( main::@35/tu#62 )
time#43 = phi( main::@35/time#45 )
duck#40 = phi( main::@35/duck#44 )
peephole#28 = phi( main::@35/peephole#33 )
y#32 = phi( main::@35/y#37 )
z#46 = phi( main::@35/z#60 )
score#22 = phi( main::@35/score#1 )
score#7 = score#22
wait::n#1 = $a
call wait
to:main::@97
main::@97: scope:[main] from main::@96
n#56 = phi( main::@96/n#62 )
k#58 = phi( main::@96/k#64 )
hiscore#48 = phi( main::@96/hiscore#54 )
rem8u#52 = phi( main::@96/rem8u#59 )
score#88 = phi( main::@96/score#7 )
tu#48 = phi( main::@96/tu#55 )
time#41 = phi( main::@96/time#43 )
duck#34 = phi( main::@96/duck#40 )
peephole#23 = phi( main::@96/peephole#28 )
y#27 = phi( main::@96/y#32 )
z#31 = phi( main::@96/z#5 )
z#11 = z#31
to:main::@36
main::@43: scope:[main] from main::@42
n#63 = phi( main::@42/n#68 )
k#65 = phi( main::@42/k#71 )
hiscore#55 = phi( main::@42/hiscore#61 )
rem8u#60 = phi( main::@42/rem8u#68 )
tu#56 = phi( main::@42/tu#63 )
duck#41 = phi( main::@42/duck#8 )
peephole#29 = phi( main::@42/peephole#6 )
y#33 = phi( main::@42/y#38 )
z#47 = phi( main::@42/z#61 )
score#23 = phi( main::@42/score#34 )
time#13 = phi( main::@42/time#20 )
main::$96 = $c - time#13
main::$97 = main::$96 * $a
main::$98 = score#23 + main::$97
score#8 = main::$98
wait::n#2 = $a
call wait
to:main::@98
main::@98: scope:[main] from main::@43
n#57 = phi( main::@43/n#63 )
k#59 = phi( main::@43/k#65 )
hiscore#49 = phi( main::@43/hiscore#55 )
rem8u#53 = phi( main::@43/rem8u#60 )
score#89 = phi( main::@43/score#8 )
tu#49 = phi( main::@43/tu#56 )
duck#35 = phi( main::@43/duck#41 )
peephole#24 = phi( main::@43/peephole#29 )
y#28 = phi( main::@43/y#33 )
z#32 = phi( main::@43/z#5 )
z#12 = z#32
time#4 = $a
to:main::@36
main::@36: scope:[main] from main::@97 main::@98
n#51 = phi( main::@97/n#56, main::@98/n#57 )
k#53 = phi( main::@97/k#58, main::@98/k#59 )
hiscore#43 = phi( main::@97/hiscore#48, main::@98/hiscore#49 )
rem8u#46 = phi( main::@97/rem8u#52, main::@98/rem8u#53 )
score#81 = phi( main::@97/score#88, main::@98/score#89 )
tu#41 = phi( main::@97/tu#48, main::@98/tu#49 )
time#38 = phi( main::@97/time#41, main::@98/time#4 )
duck#28 = phi( main::@97/duck#34, main::@98/duck#35 )
z#73 = phi( main::@97/z#11, main::@98/z#12 )
peephole#18 = phi( main::@97/peephole#23, main::@98/peephole#24 )
y#23 = phi( main::@97/y#27, main::@98/y#28 )
*((char *)$900d) = 0
to:main::@34
main::@37: scope:[main] from main::@34 main::@44
n#45 = phi( main::@34/n#47, main::@44/n#48 )
k#47 = phi( main::@34/k#49, main::@44/k#50 )
hiscore#37 = phi( main::@34/hiscore#39, main::@44/hiscore#40 )
rem8u#38 = phi( main::@34/rem8u#41, main::@44/rem8u#42 )
score#65 = phi( main::@34/score#73, main::@44/score#74 )
tu#29 = phi( main::@34/tu#34, main::@44/tu#35 )
time#29 = phi( main::@34/time#33, main::@44/time#34 )
duck#15 = phi( main::@34/duck#21, main::@44/duck#22 )
z#48 = phi( main::@34/z#62, main::@44/z#63 )
peephole#7 = phi( main::@34/peephole#13, main::@44/peephole#1 )
y#4 = peephole#7
*((char *)peephole#7) = $fd
main::$125 = peephole#7 + c
*((char *)main::$125) = 1
main::$126 = peephole#7 + 1
*((char *)main::$126) = $ed
main::$127 = peephole#7 + 1
main::$128 = main::$127 + c
*((char *)main::$128) = 1
main::$129 = peephole#7 + $16
*((char *)main::$129) = $ee
main::$130 = peephole#7 + $16
main::$131 = main::$130 + c
*((char *)main::$131) = 1
main::$132 = peephole#7 + $17
*((char *)main::$132) = $f0
main::$133 = peephole#7 + $17
main::$134 = main::$133 + c
*((char *)main::$134) = 1
wait::n#3 = 5
call wait
to:main::@99
main::@99: scope:[main] from main::@37
n#43 = phi( main::@37/n#45 )
k#45 = phi( main::@37/k#47 )
hiscore#35 = phi( main::@37/hiscore#37 )
peephole#43 = phi( main::@37/peephole#7 )
y#41 = phi( main::@37/y#4 )
rem8u#35 = phi( main::@37/rem8u#38 )
score#56 = phi( main::@37/score#65 )
tu#25 = phi( main::@37/tu#29 )
time#24 = phi( main::@37/time#29 )
duck#9 = phi( main::@37/duck#15 )
z#33 = phi( main::@37/z#5 )
z#13 = z#33
*((char *)duck#9) = 0
main::$136 = duck#9 + c
*((char *)main::$136) = 7
main::$137 = duck#9 + 1
*((char *)main::$137) = 1
main::$138 = duck#9 + 1
main::$139 = main::$138 + c
*((char *)main::$139) = 7
main::$140 = duck#9 + $16
*((char *)main::$140) = 2
main::$141 = duck#9 + $16
main::$142 = main::$141 + c
*((char *)main::$142) = 7
main::$143 = duck#9 + $17
*((char *)main::$143) = 3
main::$144 = duck#9 + $17
main::$145 = main::$144 + c
*((char *)main::$145) = 7
wait::n#4 = 5
call wait
to:main::@100
main::@100: scope:[main] from main::@99
n#40 = phi( main::@99/n#43 )
k#42 = phi( main::@99/k#45 )
hiscore#32 = phi( main::@99/hiscore#35 )
peephole#39 = phi( main::@99/peephole#43 )
duck#30 = phi( main::@99/duck#9 )
y#35 = phi( main::@99/y#41 )
rem8u#31 = phi( main::@99/rem8u#35 )
score#43 = phi( main::@99/score#56 )
tu#19 = phi( main::@99/tu#25 )
time#17 = phi( main::@99/time#24 )
z#34 = phi( main::@99/z#5 )
z#14 = z#34
to:main::@27
main::@44: scope:[main] from main::@34
n#48 = phi( main::@34/n#47 )
k#50 = phi( main::@34/k#49 )
hiscore#40 = phi( main::@34/hiscore#39 )
rem8u#42 = phi( main::@34/rem8u#41 )
score#74 = phi( main::@34/score#73 )
tu#35 = phi( main::@34/tu#34 )
time#34 = phi( main::@34/time#33 )
duck#22 = phi( main::@34/duck#21 )
z#63 = phi( main::@34/z#62 )
y#14 = phi( main::@34/y#13 )
peephole#8 = phi( main::@34/peephole#13 )
main::$118 = peephole#8 + c
*((char *)main::$118) = 0
main::$119 = peephole#8 + c
main::$120 = main::$119 + 1
*((char *)main::$120) = 0
main::$121 = peephole#8 + c
main::$122 = main::$121 + $16
*((char *)main::$122) = 0
main::$123 = peephole#8 + c
main::$124 = main::$123 + $17
*((char *)main::$124) = 0
peephole#1 = y#14
to:main::@37
main::@45: scope:[main] from main::@95
y#77 = phi( main::@95/y#66 )
rem8u#91 = phi( main::@95/rem8u#78 )
time#57 = phi( main::@95/time#58 )
duck#58 = phi( main::@95/duck#7 )
tu#85 = phi( main::@95/tu#9 )
peephole#66 = phi( main::@95/peephole#68 )
n#35 = phi( main::@95/n#36 )
k#37 = phi( main::@95/k#38 )
hiscore#27 = phi( main::@95/hiscore#28 )
score#99 = phi( main::@95/score#101 )
z#49 = phi( main::@95/z#10 )
clear_screen::n#2 = 4
clear_screen::m#2 = 0
call clear_screen
to:main::@101
main::@101: scope:[main] from main::@45
y#75 = phi( main::@45/y#77 )
rem8u#89 = phi( main::@45/rem8u#91 )
time#56 = phi( main::@45/time#57 )
duck#57 = phi( main::@45/duck#58 )
tu#84 = phi( main::@45/tu#85 )
peephole#64 = phi( main::@45/peephole#66 )
n#34 = phi( main::@45/n#35 )
k#36 = phi( main::@45/k#37 )
hiscore#26 = phi( main::@45/hiscore#27 )
score#95 = phi( main::@45/score#99 )
z#35 = phi( main::@45/z#2 )
z#15 = z#35
*((char *)$9005) = $f0
chrout::petscii = lower
call chrout
to:main::@102
main::@102: scope:[main] from main::@101
y#71 = phi( main::@101/y#75 )
rem8u#87 = phi( main::@101/rem8u#89 )
time#55 = phi( main::@101/time#56 )
duck#56 = phi( main::@101/duck#57 )
tu#83 = phi( main::@101/tu#84 )
peephole#62 = phi( main::@101/peephole#64 )
n#33 = phi( main::@101/n#34 )
k#35 = phi( main::@101/k#36 )
z#122 = phi( main::@101/z#15 )
hiscore#24 = phi( main::@101/hiscore#26 )
score#90 = phi( main::@101/score#95 )
textcolor::color#3 = 7
call textcolor
textcolor::return#5 = textcolor::return#1
to:main::@103
main::@103: scope:[main] from main::@102
y#67 = phi( main::@102/y#71 )
rem8u#83 = phi( main::@102/rem8u#87 )
time#54 = phi( main::@102/time#55 )
duck#55 = phi( main::@102/duck#56 )
tu#82 = phi( main::@102/tu#83 )
peephole#60 = phi( main::@102/peephole#62 )
n#32 = phi( main::@102/n#33 )
k#34 = phi( main::@102/k#35 )
z#119 = phi( main::@102/z#122 )
hiscore#22 = phi( main::@102/hiscore#24 )
score#82 = phi( main::@102/score#90 )
cputs::s#4 = game_over
call cputs
to:main::@104
main::@104: scope:[main] from main::@103
y#64 = phi( main::@103/y#67 )
rem8u#79 = phi( main::@103/rem8u#83 )
time#53 = phi( main::@103/time#54 )
duck#54 = phi( main::@103/duck#55 )
tu#80 = phi( main::@103/tu#82 )
peephole#57 = phi( main::@103/peephole#60 )
n#31 = phi( main::@103/n#32 )
k#33 = phi( main::@103/k#34 )
z#117 = phi( main::@103/z#119 )
hiscore#20 = phi( main::@103/hiscore#22 )
score#75 = phi( main::@103/score#82 )
textcolor::color#4 = 2
call textcolor
textcolor::return#6 = textcolor::return#1
to:main::@105
main::@105: scope:[main] from main::@104
y#62 = phi( main::@104/y#64 )
rem8u#76 = phi( main::@104/rem8u#79 )
time#52 = phi( main::@104/time#53 )
duck#53 = phi( main::@104/duck#54 )
tu#78 = phi( main::@104/tu#80 )
peephole#54 = phi( main::@104/peephole#57 )
n#30 = phi( main::@104/n#31 )
k#32 = phi( main::@104/k#33 )
z#115 = phi( main::@104/z#117 )
hiscore#18 = phi( main::@104/hiscore#20 )
score#66 = phi( main::@104/score#75 )
cputs::s#5 = your_score
call cputs
to:main::@106
main::@106: scope:[main] from main::@105
y#60 = phi( main::@105/y#62 )
rem8u#74 = phi( main::@105/rem8u#76 )
time#51 = phi( main::@105/time#52 )
duck#52 = phi( main::@105/duck#53 )
tu#76 = phi( main::@105/tu#78 )
peephole#51 = phi( main::@105/peephole#54 )
n#29 = phi( main::@105/n#30 )
k#31 = phi( main::@105/k#32 )
z#113 = phi( main::@105/z#115 )
hiscore#16 = phi( main::@105/hiscore#18 )
score#57 = phi( main::@105/score#66 )
cputs::s#6 = buffer
call cputs
to:main::@107
main::@107: scope:[main] from main::@106
y#58 = phi( main::@106/y#60 )
rem8u#72 = phi( main::@106/rem8u#74 )
time#50 = phi( main::@106/time#51 )
duck#51 = phi( main::@106/duck#52 )
tu#74 = phi( main::@106/tu#76 )
peephole#49 = phi( main::@106/peephole#51 )
n#28 = phi( main::@106/n#29 )
k#30 = phi( main::@106/k#31 )
z#111 = phi( main::@106/z#113 )
hiscore#13 = phi( main::@106/hiscore#16 )
score#46 = phi( main::@106/score#57 )
textcolor::color#5 = 3
call textcolor
textcolor::return#7 = textcolor::return#1
to:main::@108
main::@108: scope:[main] from main::@107
y#55 = phi( main::@107/y#58 )
rem8u#69 = phi( main::@107/rem8u#72 )
time#49 = phi( main::@107/time#50 )
duck#50 = phi( main::@107/duck#51 )
tu#70 = phi( main::@107/tu#74 )
peephole#47 = phi( main::@107/peephole#49 )
n#27 = phi( main::@107/n#28 )
k#29 = phi( main::@107/k#30 )
z#108 = phi( main::@107/z#111 )
hiscore#10 = phi( main::@107/hiscore#13 )
score#35 = phi( main::@107/score#46 )
cputs::s#7 = high_score
call cputs
to:main::@109
main::@109: scope:[main] from main::@108
y#51 = phi( main::@108/y#55 )
rem8u#61 = phi( main::@108/rem8u#69 )
time#47 = phi( main::@108/time#49 )
duck#48 = phi( main::@108/duck#50 )
tu#64 = phi( main::@108/tu#70 )
peephole#44 = phi( main::@108/peephole#47 )
n#25 = phi( main::@108/n#27 )
k#27 = phi( main::@108/k#29 )
z#104 = phi( main::@108/z#108 )
hiscore#5 = phi( main::@108/hiscore#10 )
score#24 = phi( main::@108/score#35 )
main::$167 = score#24 > hiscore#5
main::$168 = ! main::$167
if(main::$168) goto main::@48
to:main::@46
main::@48: scope:[main] from main::@109 main::@46
y#48 = phi( main::@109/y#51, main::@46/y#52 )
rem8u#54 = phi( main::@109/rem8u#61, main::@46/rem8u#62 )
time#46 = phi( main::@109/time#47, main::@46/time#48 )
duck#47 = phi( main::@109/duck#48, main::@46/duck#49 )
tu#57 = phi( main::@109/tu#64, main::@46/tu#65 )
score#96 = phi( main::@109/score#24, main::@46/score#25 )
peephole#41 = phi( main::@109/peephole#44, main::@46/peephole#45 )
n#24 = phi( main::@109/n#25, main::@46/n#26 )
k#26 = phi( main::@109/k#27, main::@46/k#28 )
z#101 = phi( main::@109/z#104, main::@46/z#105 )
hiscore#6 = phi( main::@109/hiscore#5, main::@46/hiscore#0 )
utoa::value#2 = hiscore#6
utoa::buffer#6 = buffer
utoa::radix#1 = $a
call utoa
to:main::@110
main::@110: scope:[main] from main::@48
hiscore#25 = phi( main::@48/hiscore#6 )
y#46 = phi( main::@48/y#48 )
rem8u#47 = phi( main::@48/rem8u#54 )
time#44 = phi( main::@48/time#46 )
duck#46 = phi( main::@48/duck#47 )
tu#50 = phi( main::@48/tu#57 )
score#91 = phi( main::@48/score#96 )
peephole#38 = phi( main::@48/peephole#41 )
n#23 = phi( main::@48/n#24 )
k#25 = phi( main::@48/k#26 )
z#97 = phi( main::@48/z#101 )
cputs::s#8 = buffer
call cputs
to:main::@111
main::@111: scope:[main] from main::@110
hiscore#23 = phi( main::@110/hiscore#25 )
y#44 = phi( main::@110/y#46 )
rem8u#43 = phi( main::@110/rem8u#47 )
time#42 = phi( main::@110/time#44 )
duck#45 = phi( main::@110/duck#46 )
tu#42 = phi( main::@110/tu#50 )
score#83 = phi( main::@110/score#91 )
peephole#36 = phi( main::@110/peephole#38 )
n#22 = phi( main::@110/n#23 )
k#24 = phi( main::@110/k#25 )
z#92 = phi( main::@110/z#97 )
textcolor::color#6 = 1
call textcolor
textcolor::return#8 = textcolor::return#1
to:main::@112
main::@112: scope:[main] from main::@111
hiscore#21 = phi( main::@111/hiscore#23 )
y#42 = phi( main::@111/y#44 )
rem8u#39 = phi( main::@111/rem8u#43 )
time#39 = phi( main::@111/time#42 )
duck#42 = phi( main::@111/duck#45 )
tu#36 = phi( main::@111/tu#42 )
score#76 = phi( main::@111/score#83 )
peephole#34 = phi( main::@111/peephole#36 )
n#21 = phi( main::@111/n#22 )
k#23 = phi( main::@111/k#24 )
z#87 = phi( main::@111/z#92 )
cputs::s#9 = play_again
call cputs
to:main::@113
main::@113: scope:[main] from main::@112
hiscore#19 = phi( main::@112/hiscore#21 )
y#39 = phi( main::@112/y#42 )
rem8u#36 = phi( main::@112/rem8u#39 )
time#35 = phi( main::@112/time#39 )
duck#36 = phi( main::@112/duck#42 )
tu#30 = phi( main::@112/tu#36 )
score#67 = phi( main::@112/score#76 )
peephole#30 = phi( main::@112/peephole#34 )
n#20 = phi( main::@112/n#21 )
k#22 = phi( main::@112/k#23 )
z#81 = phi( main::@112/z#87 )
to:main::@49
main::@46: scope:[main] from main::@109
y#52 = phi( main::@109/y#51 )
rem8u#62 = phi( main::@109/rem8u#61 )
time#48 = phi( main::@109/time#47 )
duck#49 = phi( main::@109/duck#48 )
tu#65 = phi( main::@109/tu#64 )
peephole#45 = phi( main::@109/peephole#44 )
n#26 = phi( main::@109/n#25 )
k#28 = phi( main::@109/k#27 )
z#105 = phi( main::@109/z#104 )
score#25 = phi( main::@109/score#24 )
hiscore#0 = score#25
to:main::@48
main::@49: scope:[main] from main::@113 main::@49
hiscore#17 = phi( main::@113/hiscore#19, main::@49/hiscore#17 )
y#34 = phi( main::@113/y#39, main::@49/y#34 )
rem8u#33 = phi( main::@113/rem8u#36, main::@49/rem8u#33 )
time#30 = phi( main::@113/time#35, main::@49/time#30 )
duck#29 = phi( main::@113/duck#36, main::@49/duck#29 )
tu#26 = phi( main::@113/tu#30, main::@49/tu#26 )
score#58 = phi( main::@113/score#67, main::@49/score#58 )
peephole#25 = phi( main::@113/peephole#30, main::@49/peephole#25 )
n#19 = phi( main::@113/n#20, main::@49/n#19 )
k#19 = phi( main::@113/k#22, main::@49/k#19 )
z#74 = phi( main::@113/z#81, main::@49/z#74 )
j#6 = *((char *)$c5)
main::$173 = j#6 != $b
main::$174 = j#6 != $1c
main::$175 = main::$173 && main::$174
if(main::$175) goto main::@49
to:main::@50
main::@50: scope:[main] from main::@49
hiscore#14 = phi( main::@49/hiscore#17 )
y#29 = phi( main::@49/y#34 )
rem8u#29 = phi( main::@49/rem8u#33 )
time#25 = phi( main::@49/time#30 )
duck#23 = phi( main::@49/duck#29 )
tu#21 = phi( main::@49/tu#26 )
score#47 = phi( main::@49/score#58 )
peephole#19 = phi( main::@49/peephole#25 )
n#17 = phi( main::@49/n#19 )
k#15 = phi( main::@49/k#19 )
z#56 = phi( main::@49/z#74 )
j#19 = phi( main::@49/j#6 )
main::$176 = j#19 == $b
if(main::$176) goto main::@3
to:main::@51
main::@51: scope:[main] from main::@50
hiscore#11 = phi( main::@50/hiscore#14 )
y#24 = phi( main::@50/y#29 )
rem8u#26 = phi( main::@50/rem8u#29 )
time#21 = phi( main::@50/time#25 )
duck#16 = phi( main::@50/duck#23 )
j#24 = phi( main::@50/j#19 )
tu#16 = phi( main::@50/tu#21 )
score#36 = phi( main::@50/score#47 )
peephole#14 = phi( main::@50/peephole#19 )
n#15 = phi( main::@50/n#17 )
k#12 = phi( main::@50/k#15 )
z#50 = phi( main::@50/z#56 )
asm { jsr$FD22 }
to:main::@return
main::@return: scope:[main] from main::@51
hiscore#7 = phi( main::@51/hiscore#11 )
y#15 = phi( main::@51/y#24 )
rem8u#19 = phi( main::@51/rem8u#26 )
time#14 = phi( main::@51/time#21 )
duck#10 = phi( main::@51/duck#16 )
j#20 = phi( main::@51/j#24 )
tu#10 = phi( main::@51/tu#16 )
score#26 = phi( main::@51/score#36 )
peephole#9 = phi( main::@51/peephole#14 )
n#10 = phi( main::@51/n#15 )
k#8 = phi( main::@51/k#12 )
z#36 = phi( main::@51/z#50 )
z#16 = z#36
k#2 = k#8
n#3 = n#10
peephole#2 = peephole#9
score#9 = score#26
tu#2 = tu#10
j#7 = j#20
duck#2 = duck#10
time#5 = time#14
rem8u#8 = rem8u#19
y#5 = y#15
hiscore#1 = hiscore#7
return
to:@return
void __start()
__start: scope:[__start] from
to:__start::__init1
__start::__init1: scope:[__start] from __start
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = DEFAULT_SCREEN
conio_line_color = COLORRAM
conio_textcolor = LIGHT_BLUE
conio_scroll_enable = 1
rem8u#9 = 0
j#8 = 0
k#3 = 0
l = 0
m = 0
n#4 = 0
tu#3 = 0
duck#3 = 0
peephole#3 = 0
y#6 = 0
z#17 = 0
time#6 = 0
score#10 = 0
hiscore#2 = 0
call conio_c64_init
to:__start::@2
__start::@2: scope:[__start] from __start::__init1
hiscore#15 = phi( __start::__init1/hiscore#2 )
y#30 = phi( __start::__init1/y#6 )
rem8u#30 = phi( __start::__init1/rem8u#9 )
time#26 = phi( __start::__init1/time#6 )
duck#24 = phi( __start::__init1/duck#3 )
j#26 = phi( __start::__init1/j#8 )
tu#22 = phi( __start::__init1/tu#3 )
score#48 = phi( __start::__init1/score#10 )
peephole#20 = phi( __start::__init1/peephole#3 )
n#18 = phi( __start::__init1/n#4 )
k#16 = phi( __start::__init1/k#3 )
z#64 = phi( __start::__init1/z#17 )
to:__start::@1
__start::@1: scope:[__start] from __start::@2
hiscore#12 = phi( __start::@2/hiscore#15 )
y#25 = phi( __start::@2/y#30 )
rem8u#27 = phi( __start::@2/rem8u#30 )
time#22 = phi( __start::@2/time#26 )
duck#17 = phi( __start::@2/duck#24 )
j#25 = phi( __start::@2/j#26 )
tu#17 = phi( __start::@2/tu#22 )
score#37 = phi( __start::@2/score#48 )
peephole#15 = phi( __start::@2/peephole#20 )
n#16 = phi( __start::@2/n#18 )
k#13 = phi( __start::@2/k#16 )
z#51 = phi( __start::@2/z#64 )
call main
to:__start::@3
__start::@3: scope:[__start] from __start::@1
hiscore#8 = phi( __start::@1/hiscore#1 )
y#16 = phi( __start::@1/y#5 )
rem8u#20 = phi( __start::@1/rem8u#8 )
time#15 = phi( __start::@1/time#5 )
duck#11 = phi( __start::@1/duck#2 )
j#21 = phi( __start::@1/j#7 )
tu#11 = phi( __start::@1/tu#2 )
score#27 = phi( __start::@1/score#9 )
peephole#10 = phi( __start::@1/peephole#2 )
n#11 = phi( __start::@1/n#3 )
k#9 = phi( __start::@1/k#2 )
z#37 = phi( __start::@1/z#16 )
z#18 = z#37
k#4 = k#9
n#5 = n#11
peephole#4 = peephole#10
score#11 = score#27
tu#4 = tu#11
j#9 = j#21
duck#4 = duck#11
time#7 = time#15
rem8u#10 = rem8u#20
y#7 = y#16
hiscore#3 = hiscore#8
to:__start::@return
__start::@return: scope:[__start] from __start::@3
hiscore#9 = phi( __start::@3/hiscore#3 )
score#28 = phi( __start::@3/score#11 )
time#16 = phi( __start::@3/time#7 )
z#38 = phi( __start::@3/z#18 )
y#17 = phi( __start::@3/y#7 )
peephole#11 = phi( __start::@3/peephole#4 )
duck#12 = phi( __start::@3/duck#4 )
tu#12 = phi( __start::@3/tu#4 )
n#12 = phi( __start::@3/n#5 )
k#10 = phi( __start::@3/k#4 )
j#22 = phi( __start::@3/j#9 )
rem8u#21 = phi( __start::@3/rem8u#10 )
rem8u#11 = rem8u#21
j#10 = j#22
k#5 = k#10
n#6 = n#12
tu#5 = tu#12
duck#5 = duck#12
peephole#5 = peephole#11
y#8 = y#17
z#19 = z#38
time#8 = time#16
score#12 = score#28
hiscore#4 = hiscore#9
return
to:@return
SYMBOL TABLE SSA
__constant char BINARY = 2
__constant char * const COLORRAM = (char *)$d800
__constant char DECIMAL = $a
__constant char * const DEFAULT_SCREEN = (char *)$400
__constant char DIGITS[] = "0123456789abcdef"z
__constant char HEXADECIMAL = $10
__constant const char LIGHT_BLUE = $e
__constant char OCTAL = 8
__constant char RADIX::BINARY = 2
__constant char RADIX::DECIMAL = $a
__constant char RADIX::HEXADECIMAL = $10
__constant char RADIX::OCTAL = 8
__constant unsigned int RADIX_BINARY_VALUES[] = { $8000, $4000, $2000, $1000, $800, $400, $200, $100, $80, $40, $20, $10, 8, 4, 2 }
__constant unsigned int RADIX_DECIMAL_VALUES[] = { $2710, $3e8, $64, $a }
__constant unsigned int RADIX_HEXADECIMAL_VALUES[] = { $1000, $100, $10 }
__constant unsigned int RADIX_OCTAL_VALUES[] = { $8000, $1000, $200, $40, 8 }
__constant char SIZEOF_UNSIGNED_INT = 2
void __start()
__constant const char brick = $e6
__constant char buffer[] = { 0, 0, 0, 0 }
__constant const unsigned int c = $7800
__constant const char chrono[] = { $54, $4d, $3a, $39 }
void chrono_restart()
void chrout(volatile char petscii)
__loadstore volatile char chrout::petscii
void clear_screen(char n , char m)
bool clear_screen::$2
number clear_screen::$3
number clear_screen::$4
number clear_screen::$5
char clear_screen::m
char clear_screen::m#0
char clear_screen::m#1
char clear_screen::m#2
char clear_screen::m#3
char clear_screen::m#4
char clear_screen::m#5
char clear_screen::n
char clear_screen::n#0
char clear_screen::n#1
char clear_screen::n#2
char clear_screen::n#3
char clear_screen::n#4
char clear_screen::n#5
void conio_c64_init()
bool conio_c64_init::$0
bool conio_c64_init::$1
__constant char * const conio_c64_init::BASIC_CURSOR_LINE = (char *)$d6
char conio_c64_init::line
char conio_c64_init::line#0
char conio_c64_init::line#1
char conio_c64_init::line#2
__loadstore char conio_cursor_x
__loadstore char conio_cursor_y
__loadstore char *conio_line_color
__loadstore char *conio_line_text
__loadstore char conio_scroll_enable
__loadstore char conio_textcolor
void cputc(char c)
bool cputc::$0
bool cputc::$1
bool cputc::$2
char cputc::c
char cputc::c#0
char cputc::c#1
char cputc::c#2
void cputln()
void cputs(const char *s)
char cputs::$0
bool cputs::$2
char cputs::c
char cputs::c#0
char cputs::c#1
char cputs::c#2
const char *cputs::s
const char *cputs::s#0
const char *cputs::s#1
const char *cputs::s#10
const char *cputs::s#11
const char *cputs::s#12
const char *cputs::s#13
const char *cputs::s#2
const char *cputs::s#3
const char *cputs::s#4
const char *cputs::s#5
const char *cputs::s#6
const char *cputs::s#7
const char *cputs::s#8
const char *cputs::s#9
void cscroll()
bool cscroll::$0
bool cscroll::$1
bool cscroll::$7
unsigned int div16u8u(unsigned int dividend , char divisor)
char div16u8u::$0
char div16u8u::$2
unsigned int div16u8u::dividend
unsigned int div16u8u::dividend#0
unsigned int div16u8u::dividend#1
unsigned int div16u8u::dividend#2
char div16u8u::divisor
char div16u8u::divisor#0
char div16u8u::divisor#1
char div16u8u::divisor#2
unsigned int div16u8u::quotient
unsigned int div16u8u::quotient#0
char div16u8u::quotient_hi
char div16u8u::quotient_hi#0
char div16u8u::quotient_hi#1
char div16u8u::quotient_lo
char div16u8u::quotient_lo#0
unsigned int div16u8u::return
unsigned int div16u8u::return#0
unsigned int div16u8u::return#1
unsigned int div16u8u::return#2
unsigned int div16u8u::return#3
unsigned int div16u8u::return#4
char divr8u(char dividend , char divisor , char rem)
char divr8u::$0
number divr8u::$1
bool divr8u::$10
bool divr8u::$2
bool divr8u::$3
number divr8u::$4
char divr8u::$5
char divr8u::$6
bool divr8u::$7
bool divr8u::$8
char divr8u::$9
char divr8u::dividend
char divr8u::dividend#0
char divr8u::dividend#1
char divr8u::dividend#2
char divr8u::dividend#3
char divr8u::dividend#4
char divr8u::dividend#5
char divr8u::dividend#6
char divr8u::dividend#7
char divr8u::dividend#8
char divr8u::divisor
char divr8u::divisor#0
char divr8u::divisor#1
char divr8u::divisor#2
char divr8u::divisor#3
char divr8u::divisor#4
char divr8u::divisor#5
char divr8u::divisor#6
char divr8u::divisor#7
char divr8u::i
char divr8u::i#0
char divr8u::i#1
char divr8u::i#2
char divr8u::i#3
char divr8u::i#4
char divr8u::i#5
char divr8u::i#6
char divr8u::quotient
char divr8u::quotient#0
char divr8u::quotient#1
char divr8u::quotient#2
char divr8u::quotient#3
char divr8u::quotient#4
char divr8u::quotient#5
char divr8u::quotient#6
char divr8u::quotient#7
char divr8u::quotient#8
char divr8u::rem
char divr8u::rem#0
char divr8u::rem#1
char divr8u::rem#10
char divr8u::rem#11
char divr8u::rem#2
char divr8u::rem#3
char divr8u::rem#4
char divr8u::rem#5
char divr8u::rem#6
char divr8u::rem#7
char divr8u::rem#8
char divr8u::rem#9
char divr8u::return
char divr8u::return#0
char divr8u::return#1
char divr8u::return#2
char divr8u::return#3
char divr8u::return#4
char divr8u::return#5
char divr8u::return#6
__constant const char down = $11
unsigned int duck
unsigned int duck#0
unsigned int duck#1
unsigned int duck#10
unsigned int duck#11
unsigned int duck#12
unsigned int duck#13
unsigned int duck#14
unsigned int duck#15
unsigned int duck#16
unsigned int duck#17
unsigned int duck#18
unsigned int duck#19
unsigned int duck#2
unsigned int duck#20
unsigned int duck#21
unsigned int duck#22
unsigned int duck#23
unsigned int duck#24
unsigned int duck#25
unsigned int duck#26
unsigned int duck#27
unsigned int duck#28
unsigned int duck#29
unsigned int duck#3
unsigned int duck#30
unsigned int duck#31
unsigned int duck#32
unsigned int duck#33
unsigned int duck#34
unsigned int duck#35
unsigned int duck#36
unsigned int duck#37
unsigned int duck#38
unsigned int duck#39
unsigned int duck#4
unsigned int duck#40
unsigned int duck#41
unsigned int duck#42
unsigned int duck#43
unsigned int duck#44
unsigned int duck#45
unsigned int duck#46
unsigned int duck#47
unsigned int duck#48
unsigned int duck#49
unsigned int duck#5
unsigned int duck#50
unsigned int duck#51
unsigned int duck#52
unsigned int duck#53
unsigned int duck#54
unsigned int duck#55
unsigned int duck#56
unsigned int duck#57
unsigned int duck#58
unsigned int duck#6
unsigned int duck#7
unsigned int duck#8
unsigned int duck#9
__constant const char duck_udg[] = { $e, $1b, $3f, $1f, $f, 7, $f, $1f, 0, 0, 0, 0, 0, $c0, $70, $bc, $1f, $1d, $1e, $f, 3, 1, 1, 3, $ce, $1e, $7c, $f8, $e0, $40, $40, $e0, 0, 0, 0, 0, 0, 0, 0, 0 }
__constant const char ducknumber[] = { $44, $55, $43, $4b, $3a }
__constant const char foot[] = "PRESS: 1,3,5,7 or 9
"
__constant const char game_over[] = "
GAME OVER"
void gotoxy(char x , char y)
bool gotoxy::$0
bool gotoxy::$1
bool gotoxy::$2
bool gotoxy::$3
char *gotoxy::$5
char *gotoxy::$6
unsigned int gotoxy::$7
unsigned int gotoxy::line_offset
unsigned int gotoxy::line_offset#0
char gotoxy::x
char gotoxy::x#0
char gotoxy::x#1
char gotoxy::x#2
char gotoxy::x#3
char gotoxy::x#4
char gotoxy::x#5
char gotoxy::x#6
char gotoxy::x#7
char gotoxy::y
char gotoxy::y#0
char gotoxy::y#1
char gotoxy::y#2
char gotoxy::y#3
char gotoxy::y#4
char gotoxy::y#5
char gotoxy::y#6
char gotoxy::y#7
__constant const char green = $1e
__constant const char high_score[] = "
Hi-Score: "
unsigned int hiscore
unsigned int hiscore#0
unsigned int hiscore#1
unsigned int hiscore#10
unsigned int hiscore#100
unsigned int hiscore#101
unsigned int hiscore#102
unsigned int hiscore#103
unsigned int hiscore#104
unsigned int hiscore#105
unsigned int hiscore#106
unsigned int hiscore#107
unsigned int hiscore#108
unsigned int hiscore#109
unsigned int hiscore#11
unsigned int hiscore#110
unsigned int hiscore#111
unsigned int hiscore#112
unsigned int hiscore#113
unsigned int hiscore#114
unsigned int hiscore#115
unsigned int hiscore#116
unsigned int hiscore#117
unsigned int hiscore#118
unsigned int hiscore#119
unsigned int hiscore#12
unsigned int hiscore#120
unsigned int hiscore#121
unsigned int hiscore#122
unsigned int hiscore#13
unsigned int hiscore#14
unsigned int hiscore#15
unsigned int hiscore#16
unsigned int hiscore#17
unsigned int hiscore#18
unsigned int hiscore#19
unsigned int hiscore#2
unsigned int hiscore#20
unsigned int hiscore#21
unsigned int hiscore#22
unsigned int hiscore#23
unsigned int hiscore#24
unsigned int hiscore#25
unsigned int hiscore#26
unsigned int hiscore#27
unsigned int hiscore#28
unsigned int hiscore#29
unsigned int hiscore#3
unsigned int hiscore#30
unsigned int hiscore#31
unsigned int hiscore#32
unsigned int hiscore#33
unsigned int hiscore#34
unsigned int hiscore#35
unsigned int hiscore#36
unsigned int hiscore#37
unsigned int hiscore#38
unsigned int hiscore#39
unsigned int hiscore#4
unsigned int hiscore#40
unsigned int hiscore#41
unsigned int hiscore#42
unsigned int hiscore#43
unsigned int hiscore#44
unsigned int hiscore#45
unsigned int hiscore#46
unsigned int hiscore#47
unsigned int hiscore#48
unsigned int hiscore#49
unsigned int hiscore#5
unsigned int hiscore#50
unsigned int hiscore#51
unsigned int hiscore#52
unsigned int hiscore#53
unsigned int hiscore#54
unsigned int hiscore#55
unsigned int hiscore#56
unsigned int hiscore#57
unsigned int hiscore#58
unsigned int hiscore#59
unsigned int hiscore#6
unsigned int hiscore#60
unsigned int hiscore#61
unsigned int hiscore#62
unsigned int hiscore#63
unsigned int hiscore#64
unsigned int hiscore#65
unsigned int hiscore#66
unsigned int hiscore#67
unsigned int hiscore#68
unsigned int hiscore#69
unsigned int hiscore#7
unsigned int hiscore#70
unsigned int hiscore#71
unsigned int hiscore#72
unsigned int hiscore#73
unsigned int hiscore#74
unsigned int hiscore#75
unsigned int hiscore#76
unsigned int hiscore#77
unsigned int hiscore#78
unsigned int hiscore#79
unsigned int hiscore#8
unsigned int hiscore#80
unsigned int hiscore#81
unsigned int hiscore#82
unsigned int hiscore#83
unsigned int hiscore#84
unsigned int hiscore#85
unsigned int hiscore#86
unsigned int hiscore#87
unsigned int hiscore#88
unsigned int hiscore#89
unsigned int hiscore#9
unsigned int hiscore#90
unsigned int hiscore#91
unsigned int hiscore#92
unsigned int hiscore#93
unsigned int hiscore#94
unsigned int hiscore#95
unsigned int hiscore#96
unsigned int hiscore#97
unsigned int hiscore#98
unsigned int hiscore#99
__constant const char home = $13
__constant const char intro[] = "
DIFFICULTY
----------
"
char j
char j#0
char j#1
char j#10
char j#11
char j#12
char j#13
char j#14
char j#15
char j#16
char j#17
char j#18
char j#19
char j#2
char j#20
char j#21
char j#22
char j#23
char j#24
char j#25
char j#26
char j#3
char j#4
char j#5
char j#6
char j#7
char j#8
char j#9
char k
char k#0
char k#1
char k#10
char k#100
char k#101
char k#102
char k#103
char k#104
char k#105
char k#11
char k#12
char k#13
char k#14
char k#15
char k#16
char k#17
char k#18
char k#19
char k#2
char k#20
char k#21
char k#22
char k#23
char k#24
char k#25
char k#26
char k#27
char k#28
char k#29
char k#3
char k#30
char k#31
char k#32
char k#33
char k#34
char k#35
char k#36
char k#37
char k#38
char k#39
char k#4
char k#40
char k#41
char k#42
char k#43
char k#44
char k#45
char k#46
char k#47
char k#48
char k#49
char k#5
char k#50
char k#51
char k#52
char k#53
char k#54
char k#55
char k#56
char k#57
char k#58
char k#59
char k#6
char k#60
char k#61
char k#62
char k#63
char k#64
char k#65
char k#66
char k#67
char k#68
char k#69
char k#7
char k#70
char k#71
char k#72
char k#73
char k#74
char k#75
char k#76
char k#77
char k#78
char k#79
char k#8
char k#80
char k#81
char k#82
char k#83
char k#84
char k#85
char k#86
char k#87
char k#88
char k#89
char k#9
char k#90
char k#91
char k#92
char k#93
char k#94
char k#95
char k#96
char k#97
char k#98
char k#99
__loadstore volatile char l
__constant const char levels[] = "1.EASIEST
3.EASY
5.MEDIUM
7.HARD
9.EXPERT
"
__constant const char lock = 8
__constant const char lower = $e
__loadstore volatile char m
void main()
number main::$100
bool main::$103
number main::$104
bool main::$105
bool main::$106
number main::$107
bool main::$108
bool main::$109
bool main::$11
number main::$110
bool main::$111
bool main::$112
bool main::$113
bool main::$114
bool main::$115
bool main::$116
bool main::$117
unsigned int main::$118
unsigned int main::$119
number main::$120
unsigned int main::$121
number main::$122
unsigned int main::$123
number main::$124
unsigned int main::$125
number main::$126
number main::$127
number main::$128
number main::$129
number main::$130
number main::$131
number main::$132
number main::$133
number main::$134
unsigned int main::$136
number main::$137
number main::$138
number main::$139
number main::$140
number main::$141
number main::$142
number main::$143
number main::$144
number main::$145
number main::$147
unsigned int main::$150
number main::$151
number main::$152
number main::$153
number main::$154
number main::$155
number main::$156
bool main::$157
bool main::$16
bool main::$167
bool main::$168
bool main::$173
bool main::$174
bool main::$175
bool main::$176
bool main::$18
bool main::$2
bool main::$23
bool main::$24
number main::$25
number main::$26
number main::$27
unsigned int main::$29
number main::$3
bool main::$30
bool main::$31
bool main::$32
unsigned int main::$35
number main::$36
bool main::$37
bool main::$44
bool main::$49
bool main::$54
number main::$57
number main::$61
number main::$62
bool main::$63
bool main::$64
bool main::$65
number main::$66
bool main::$67
bool main::$68
number main::$69
bool main::$70
bool main::$71
number main::$72
bool main::$73
bool main::$74
bool main::$76
number main::$78
bool main::$79
bool main::$80
number main::$81
bool main::$82
bool main::$83
number main::$84
bool main::$85
bool main::$86
number main::$87
number main::$88
bool main::$89
bool main::$90
number main::$91
number main::$92
bool main::$93
bool main::$94
bool main::$95
number main::$96
number main::$97
number main::$98
void * memcpy(void *destination , void *source , unsigned int num)
bool memcpy::$1
char *memcpy::$2
void *memcpy::destination
void *memcpy::destination#0
void *memcpy::destination#1
void *memcpy::destination#2
void *memcpy::destination#3
void *memcpy::destination#4
void *memcpy::destination#5
char *memcpy::dst
char *memcpy::dst#0
char *memcpy::dst#1
char *memcpy::dst#2
char *memcpy::dst#3
unsigned int memcpy::num
unsigned int memcpy::num#0
unsigned int memcpy::num#1
unsigned int memcpy::num#2
void *memcpy::return
void *memcpy::return#0
void *memcpy::return#1
void *memcpy::return#2
void *memcpy::return#3
void *memcpy::return#4
void *memcpy::source
void *memcpy::source#0
void *memcpy::source#1
void *memcpy::source#2
char *memcpy::src
char *memcpy::src#0
char *memcpy::src#1
char *memcpy::src#2
char *memcpy::src#3
char *memcpy::src_end
char *memcpy::src_end#0
char *memcpy::src_end#1
char *memcpy::src_end#2
void * memset(void *str , char c , unsigned int num)
bool memset::$0
bool memset::$1
bool memset::$3
char *memset::$4
char memset::c
char memset::c#0
char memset::c#1
char memset::c#2
char memset::c#3
char memset::c#4
char memset::c#5
char *memset::dst
char *memset::dst#0
char *memset::dst#1
char *memset::dst#2
char *memset::dst#3
char *memset::end
char *memset::end#0
char *memset::end#1
char *memset::end#2
unsigned int memset::num
unsigned int memset::num#0
unsigned int memset::num#1
unsigned int memset::num#2
unsigned int memset::num#3
void *memset::return
void *memset::return#0
void *memset::return#1
void *memset::return#2
void *memset::return#3
void *memset::return#4
void *memset::str
void *memset::str#0
void *memset::str#1
void *memset::str#2
void *memset::str#3
void *memset::str#4
void *memset::str#5
void *memset::str#6
char n
char n#0
char n#1
char n#10
char n#100
char n#101
char n#102
char n#103
char n#104
char n#105
char n#106
char n#107
char n#108
char n#109
char n#11
char n#110
char n#111
char n#112
char n#113
char n#114
char n#115
char n#116
char n#117
char n#118
char n#119
char n#12
char n#120
char n#121
char n#13
char n#14
char n#15
char n#16
char n#17
char n#18
char n#19
char n#2
char n#20
char n#21
char n#22
char n#23
char n#24
char n#25
char n#26
char n#27
char n#28
char n#29
char n#3
char n#30
char n#31
char n#32
char n#33
char n#34
char n#35
char n#36
char n#37
char n#38
char n#39
char n#4
char n#40
char n#41
char n#42
char n#43
char n#44
char n#45
char n#46
char n#47
char n#48
char n#49
char n#5
char n#50
char n#51
char n#52
char n#53
char n#54
char n#55
char n#56
char n#57
char n#58
char n#59
char n#6
char n#60
char n#61
char n#62
char n#63
char n#64
char n#65
char n#66
char n#67
char n#68
char n#69
char n#7
char n#70
char n#71
char n#72
char n#73
char n#74
char n#75
char n#76
char n#77
char n#78
char n#79
char n#8
char n#80
char n#81
char n#82
char n#83
char n#84
char n#85
char n#86
char n#87
char n#88
char n#89
char n#9
char n#90
char n#91
char n#92
char n#93
char n#94
char n#95
char n#96
char n#97
char n#98
char n#99
unsigned int peephole
unsigned int peephole#0
unsigned int peephole#1
unsigned int peephole#10
unsigned int peephole#11
unsigned int peephole#12
unsigned int peephole#13
unsigned int peephole#14
unsigned int peephole#15
unsigned int peephole#16
unsigned int peephole#17
unsigned int peephole#18
unsigned int peephole#19
unsigned int peephole#2
unsigned int peephole#20
unsigned int peephole#21
unsigned int peephole#22
unsigned int peephole#23
unsigned int peephole#24
unsigned int peephole#25
unsigned int peephole#26
unsigned int peephole#27
unsigned int peephole#28
unsigned int peephole#29
unsigned int peephole#3
unsigned int peephole#30
unsigned int peephole#31
unsigned int peephole#32
unsigned int peephole#33
unsigned int peephole#34
unsigned int peephole#35
unsigned int peephole#36
unsigned int peephole#37
unsigned int peephole#38
unsigned int peephole#39
unsigned int peephole#4
unsigned int peephole#40
unsigned int peephole#41
unsigned int peephole#42
unsigned int peephole#43
unsigned int peephole#44
unsigned int peephole#45
unsigned int peephole#46
unsigned int peephole#47
unsigned int peephole#48
unsigned int peephole#49
unsigned int peephole#5
unsigned int peephole#50
unsigned int peephole#51
unsigned int peephole#52
unsigned int peephole#53
unsigned int peephole#54
unsigned int peephole#55
unsigned int peephole#56
unsigned int peephole#57
unsigned int peephole#58
unsigned int peephole#59
unsigned int peephole#6
unsigned int peephole#60
unsigned int peephole#61
unsigned int peephole#62
unsigned int peephole#63
unsigned int peephole#64
unsigned int peephole#65
unsigned int peephole#66
unsigned int peephole#67
unsigned int peephole#68
unsigned int peephole#69
unsigned int peephole#7
unsigned int peephole#70
unsigned int peephole#71
unsigned int peephole#72
unsigned int peephole#73
unsigned int peephole#74
unsigned int peephole#75
unsigned int peephole#76
unsigned int peephole#77
unsigned int peephole#78
unsigned int peephole#79
unsigned int peephole#8
unsigned int peephole#80
unsigned int peephole#81
unsigned int peephole#82
unsigned int peephole#83
unsigned int peephole#84
unsigned int peephole#85
unsigned int peephole#9
__constant const char play_again[] = "
Play Again (Y/N)?"
__constant char points[] = { 0, 0, 0, 0 }
void random(char k , char n)
bool random::$0
bool random::$1
bool random::$2
char random::k
char random::k#0
char random::k#1
char random::k#2
char random::k#3
char random::k#4
char random::n
char random::n#0
char random::n#1
char random::n#2
char random::n#3
char random::n#4
void read_chrono()
number read_chrono::$0
number read_chrono::$1
unsigned int read_chrono::$2
bool read_chrono::$3
bool read_chrono::$4
number read_chrono::$5
__constant const char red = $1c
char rem8u
char rem8u#0
char rem8u#1
char rem8u#10
char rem8u#100
char rem8u#101
char rem8u#102
char rem8u#103
char rem8u#104
char rem8u#105
char rem8u#106
char rem8u#107
char rem8u#108
char rem8u#109
char rem8u#11
char rem8u#110
char rem8u#111
char rem8u#112
char rem8u#113
char rem8u#114
char rem8u#115
char rem8u#116
char rem8u#117
char rem8u#118
char rem8u#119
char rem8u#12
char rem8u#120
char rem8u#121
char rem8u#122
char rem8u#123
char rem8u#124
char rem8u#125
char rem8u#126
char rem8u#127
char rem8u#128
char rem8u#129
char rem8u#13
char rem8u#130
char rem8u#131
char rem8u#132
char rem8u#133
char rem8u#134
char rem8u#135
char rem8u#136
char rem8u#137
char rem8u#138
char rem8u#139
char rem8u#14
char rem8u#15
char rem8u#16
char rem8u#17
char rem8u#18
char rem8u#19
char rem8u#2
char rem8u#20
char rem8u#21
char rem8u#22
char rem8u#23
char rem8u#24
char rem8u#25
char rem8u#26
char rem8u#27
char rem8u#28
char rem8u#29
char rem8u#3
char rem8u#30
char rem8u#31
char rem8u#32
char rem8u#33
char rem8u#34
char rem8u#35
char rem8u#36
char rem8u#37
char rem8u#38
char rem8u#39
char rem8u#4
char rem8u#40
char rem8u#41
char rem8u#42
char rem8u#43
char rem8u#44
char rem8u#45
char rem8u#46
char rem8u#47
char rem8u#48
char rem8u#49
char rem8u#5
char rem8u#50
char rem8u#51
char rem8u#52
char rem8u#53
char rem8u#54
char rem8u#55
char rem8u#56
char rem8u#57
char rem8u#58
char rem8u#59
char rem8u#6
char rem8u#60
char rem8u#61
char rem8u#62
char rem8u#63
char rem8u#64
char rem8u#65
char rem8u#66
char rem8u#67
char rem8u#68
char rem8u#69
char rem8u#7
char rem8u#70
char rem8u#71
char rem8u#72
char rem8u#73
char rem8u#74
char rem8u#75
char rem8u#76
char rem8u#77
char rem8u#78
char rem8u#79
char rem8u#8
char rem8u#80
char rem8u#81
char rem8u#82
char rem8u#83
char rem8u#84
char rem8u#85
char rem8u#86
char rem8u#87
char rem8u#88
char rem8u#89
char rem8u#9
char rem8u#90
char rem8u#91
char rem8u#92
char rem8u#93
char rem8u#94
char rem8u#95
char rem8u#96
char rem8u#97
char rem8u#98
char rem8u#99
__constant const char reverse_on = $12
__constant const char right = $1d
unsigned int score
unsigned int score#0
unsigned int score#1
unsigned int score#10
unsigned int score#100
unsigned int score#101
unsigned int score#102
unsigned int score#103
unsigned int score#104
unsigned int score#105
unsigned int score#106
unsigned int score#107
unsigned int score#108
unsigned int score#11
unsigned int score#12
unsigned int score#13
unsigned int score#14
unsigned int score#15
unsigned int score#16
unsigned int score#17
unsigned int score#18
unsigned int score#19
unsigned int score#2
unsigned int score#20
unsigned int score#21
unsigned int score#22
unsigned int score#23
unsigned int score#24
unsigned int score#25
unsigned int score#26
unsigned int score#27
unsigned int score#28
unsigned int score#29
unsigned int score#3
unsigned int score#30
unsigned int score#31
unsigned int score#32
unsigned int score#33
unsigned int score#34
unsigned int score#35
unsigned int score#36
unsigned int score#37
unsigned int score#38
unsigned int score#39
unsigned int score#4
unsigned int score#40
unsigned int score#41
unsigned int score#42
unsigned int score#43
unsigned int score#44
unsigned int score#45
unsigned int score#46
unsigned int score#47
unsigned int score#48
unsigned int score#49
unsigned int score#5
unsigned int score#50
unsigned int score#51
unsigned int score#52
unsigned int score#53
unsigned int score#54
unsigned int score#55
unsigned int score#56
unsigned int score#57
unsigned int score#58
unsigned int score#59
unsigned int score#6
unsigned int score#60
unsigned int score#61
unsigned int score#62
unsigned int score#63
unsigned int score#64
unsigned int score#65
unsigned int score#66
unsigned int score#67
unsigned int score#68
unsigned int score#69
unsigned int score#7
unsigned int score#70
unsigned int score#71
unsigned int score#72
unsigned int score#73
unsigned int score#74
unsigned int score#75
unsigned int score#76
unsigned int score#77
unsigned int score#78
unsigned int score#79
unsigned int score#8
unsigned int score#80
unsigned int score#81
unsigned int score#82
unsigned int score#83
unsigned int score#84
unsigned int score#85
unsigned int score#86
unsigned int score#87
unsigned int score#88
unsigned int score#89
unsigned int score#9
unsigned int score#90
unsigned int score#91
unsigned int score#92
unsigned int score#93
unsigned int score#94
unsigned int score#95
unsigned int score#96
unsigned int score#97
unsigned int score#98
unsigned int score#99
char textcolor(char color)
char textcolor::color
char textcolor::color#0
char textcolor::color#1
char textcolor::color#2
char textcolor::color#3
char textcolor::color#4
char textcolor::color#5
char textcolor::color#6
char textcolor::color#7
char textcolor::old
char textcolor::old#0
char textcolor::return
char textcolor::return#0
char textcolor::return#1
char textcolor::return#2
char textcolor::return#3
char textcolor::return#4
char textcolor::return#5
char textcolor::return#6
char textcolor::return#7
char textcolor::return#8
char textcolor::return#9
unsigned int time
unsigned int time#0
unsigned int time#1
unsigned int time#10
unsigned int time#11
unsigned int time#12
unsigned int time#13
unsigned int time#14
unsigned int time#15
unsigned int time#16
unsigned int time#17
unsigned int time#18
unsigned int time#19
unsigned int time#2
unsigned int time#20
unsigned int time#21
unsigned int time#22
unsigned int time#23
unsigned int time#24
unsigned int time#25
unsigned int time#26
unsigned int time#27
unsigned int time#28
unsigned int time#29
unsigned int time#3
unsigned int time#30
unsigned int time#31
unsigned int time#32
unsigned int time#33
unsigned int time#34
unsigned int time#35
unsigned int time#36
unsigned int time#37
unsigned int time#38
unsigned int time#39
unsigned int time#4
unsigned int time#40
unsigned int time#41
unsigned int time#42
unsigned int time#43
unsigned int time#44
unsigned int time#45
unsigned int time#46
unsigned int time#47
unsigned int time#48
unsigned int time#49
unsigned int time#5
unsigned int time#50
unsigned int time#51
unsigned int time#52
unsigned int time#53
unsigned int time#54
unsigned int time#55
unsigned int time#56
unsigned int time#57
unsigned int time#58
unsigned int time#59
unsigned int time#6
unsigned int time#60
unsigned int time#7
unsigned int time#8
unsigned int time#9
unsigned int tu
unsigned int tu#0
unsigned int tu#1
unsigned int tu#10
unsigned int tu#11
unsigned int tu#12
unsigned int tu#13
unsigned int tu#14
unsigned int tu#15
unsigned int tu#16
unsigned int tu#17
unsigned int tu#18
unsigned int tu#19
unsigned int tu#2
unsigned int tu#20
unsigned int tu#21
unsigned int tu#22
unsigned int tu#23
unsigned int tu#24
unsigned int tu#25
unsigned int tu#26
unsigned int tu#27
unsigned int tu#28
unsigned int tu#29
unsigned int tu#3
unsigned int tu#30
unsigned int tu#31
unsigned int tu#32
unsigned int tu#33
unsigned int tu#34
unsigned int tu#35
unsigned int tu#36
unsigned int tu#37
unsigned int tu#38
unsigned int tu#39
unsigned int tu#4
unsigned int tu#40
unsigned int tu#41
unsigned int tu#42
unsigned int tu#43
unsigned int tu#44
unsigned int tu#45
unsigned int tu#46
unsigned int tu#47
unsigned int tu#48
unsigned int tu#49
unsigned int tu#5
unsigned int tu#50
unsigned int tu#51
unsigned int tu#52
unsigned int tu#53
unsigned int tu#54
unsigned int tu#55
unsigned int tu#56
unsigned int tu#57
unsigned int tu#58
unsigned int tu#59
unsigned int tu#6
unsigned int tu#60
unsigned int tu#61
unsigned int tu#62
unsigned int tu#63
unsigned int tu#64
unsigned int tu#65
unsigned int tu#66
unsigned int tu#67
unsigned int tu#68
unsigned int tu#69
unsigned int tu#7
unsigned int tu#70
unsigned int tu#71
unsigned int tu#72
unsigned int tu#73
unsigned int tu#74
unsigned int tu#75
unsigned int tu#76
unsigned int tu#77
unsigned int tu#78
unsigned int tu#79
unsigned int tu#8
unsigned int tu#80
unsigned int tu#81
unsigned int tu#82
unsigned int tu#83
unsigned int tu#84
unsigned int tu#85
unsigned int tu#9
void utoa(unsigned int value , char *buffer , char radix)
bool utoa::$0
bool utoa::$1
char utoa::$10
char utoa::$11
bool utoa::$2
bool utoa::$3
number utoa::$4
bool utoa::$5
bool utoa::$6
bool utoa::$7
bool utoa::$8
unsigned int utoa::$9
char *utoa::buffer
char *utoa::buffer#0
char *utoa::buffer#1
char *utoa::buffer#10
char *utoa::buffer#11
char *utoa::buffer#12
char *utoa::buffer#13
char *utoa::buffer#14
char *utoa::buffer#15
char *utoa::buffer#16
char *utoa::buffer#17
char *utoa::buffer#18
char *utoa::buffer#19
char *utoa::buffer#2
char *utoa::buffer#20
char *utoa::buffer#21
char *utoa::buffer#22
char *utoa::buffer#3
char *utoa::buffer#4
char *utoa::buffer#5
char *utoa::buffer#6
char *utoa::buffer#7
char *utoa::buffer#8
char *utoa::buffer#9
char utoa::digit
char utoa::digit#0
char utoa::digit#1
char utoa::digit#2
char utoa::digit#3
char utoa::digit#4
char utoa::digit#5
char utoa::digit#6
unsigned int utoa::digit_value
unsigned int utoa::digit_value#0
unsigned int utoa::digit_value#1
unsigned int *utoa::digit_values
unsigned int *utoa::digit_values#0
unsigned int *utoa::digit_values#1
unsigned int *utoa::digit_values#10
unsigned int *utoa::digit_values#2
unsigned int *utoa::digit_values#3
unsigned int *utoa::digit_values#4
unsigned int *utoa::digit_values#5
unsigned int *utoa::digit_values#6
unsigned int *utoa::digit_values#7
unsigned int *utoa::digit_values#8
unsigned int *utoa::digit_values#9
char utoa::max_digits
char utoa::max_digits#0
char utoa::max_digits#1
char utoa::max_digits#10
char utoa::max_digits#2
char utoa::max_digits#3
char utoa::max_digits#4
char utoa::max_digits#5
char utoa::max_digits#6
char utoa::max_digits#7
char utoa::max_digits#8
char utoa::max_digits#9
char utoa::radix
char utoa::radix#0
char utoa::radix#1
char utoa::radix#2
char utoa::radix#3
char utoa::radix#4
char utoa::radix#5
char utoa::started
char utoa::started#0
char utoa::started#1
char utoa::started#2
char utoa::started#3
char utoa::started#4
unsigned int utoa::value
unsigned int utoa::value#0
unsigned int utoa::value#1
unsigned int utoa::value#10
unsigned int utoa::value#11
unsigned int utoa::value#12
unsigned int utoa::value#13
unsigned int utoa::value#14
unsigned int utoa::value#15
unsigned int utoa::value#16
unsigned int utoa::value#2
unsigned int utoa::value#3
unsigned int utoa::value#4
unsigned int utoa::value#5
unsigned int utoa::value#6
unsigned int utoa::value#7
unsigned int utoa::value#8
unsigned int utoa::value#9
unsigned int utoa_append(char *buffer , unsigned int value , unsigned int sub)
bool utoa_append::$0
char *utoa_append::buffer
char *utoa_append::buffer#0
char *utoa_append::buffer#1
char *utoa_append::buffer#2
char *utoa_append::buffer#3
char *utoa_append::buffer#4
char utoa_append::digit
char utoa_append::digit#0
char utoa_append::digit#1
char utoa_append::digit#2
char utoa_append::digit#3
char utoa_append::digit#4
unsigned int utoa_append::return
unsigned int utoa_append::return#0
unsigned int utoa_append::return#1
unsigned int utoa_append::return#2
unsigned int utoa_append::return#3
unsigned int utoa_append::return#4
unsigned int utoa_append::sub
unsigned int utoa_append::sub#0
unsigned int utoa_append::sub#1
unsigned int utoa_append::sub#2
unsigned int utoa_append::sub#3
unsigned int utoa_append::value
unsigned int utoa_append::value#0
unsigned int utoa_append::value#1
unsigned int utoa_append::value#2
unsigned int utoa_append::value#3
unsigned int utoa_append::value#4
unsigned int utoa_append::value#5
void wait(char n)
bool wait::$0
bool wait::$1
char wait::n
char wait::n#0
char wait::n#1
char wait::n#10
char wait::n#2
char wait::n#3
char wait::n#4
char wait::n#5
char wait::n#6
char wait::n#7
char wait::n#8
char wait::n#9
void write_score()
bool write_score::$0
bool write_score::$1
bool write_score::$10
bool write_score::$3
bool write_score::$4
bool write_score::$5
bool write_score::$6
bool write_score::$9
unsigned int y
unsigned int y#0
unsigned int y#1
unsigned int y#10
unsigned int y#100
unsigned int y#101
unsigned int y#102
unsigned int y#103
unsigned int y#104
unsigned int y#105
unsigned int y#106
unsigned int y#107
unsigned int y#108
unsigned int y#109
unsigned int y#11
unsigned int y#110
unsigned int y#111
unsigned int y#112
unsigned int y#113
unsigned int y#114
unsigned int y#115
unsigned int y#116
unsigned int y#117
unsigned int y#118
unsigned int y#119
unsigned int y#12
unsigned int y#120
unsigned int y#121
unsigned int y#122
unsigned int y#123
unsigned int y#124
unsigned int y#125
unsigned int y#126
unsigned int y#13
unsigned int y#14
unsigned int y#15
unsigned int y#16
unsigned int y#17
unsigned int y#18
unsigned int y#19
unsigned int y#2
unsigned int y#20
unsigned int y#21
unsigned int y#22
unsigned int y#23
unsigned int y#24
unsigned int y#25
unsigned int y#26
unsigned int y#27
unsigned int y#28
unsigned int y#29
unsigned int y#3
unsigned int y#30
unsigned int y#31
unsigned int y#32
unsigned int y#33
unsigned int y#34
unsigned int y#35
unsigned int y#36
unsigned int y#37
unsigned int y#38
unsigned int y#39
unsigned int y#4
unsigned int y#40
unsigned int y#41
unsigned int y#42
unsigned int y#43
unsigned int y#44
unsigned int y#45
unsigned int y#46
unsigned int y#47
unsigned int y#48
unsigned int y#49
unsigned int y#5
unsigned int y#50
unsigned int y#51
unsigned int y#52
unsigned int y#53
unsigned int y#54
unsigned int y#55
unsigned int y#56
unsigned int y#57
unsigned int y#58
unsigned int y#59
unsigned int y#6
unsigned int y#60
unsigned int y#61
unsigned int y#62
unsigned int y#63
unsigned int y#64
unsigned int y#65
unsigned int y#66
unsigned int y#67
unsigned int y#68
unsigned int y#69
unsigned int y#7
unsigned int y#70
unsigned int y#71
unsigned int y#72
unsigned int y#73
unsigned int y#74
unsigned int y#75
unsigned int y#76
unsigned int y#77
unsigned int y#78
unsigned int y#79
unsigned int y#8
unsigned int y#80
unsigned int y#81
unsigned int y#82
unsigned int y#83
unsigned int y#84
unsigned int y#85
unsigned int y#86
unsigned int y#87
unsigned int y#88
unsigned int y#89
unsigned int y#9
unsigned int y#90
unsigned int y#91
unsigned int y#92
unsigned int y#93
unsigned int y#94
unsigned int y#95
unsigned int y#96
unsigned int y#97
unsigned int y#98
unsigned int y#99
__constant const char yellow = $9e
__constant const char your_score[] = "
Your Score: "
unsigned int z
unsigned int z#0
unsigned int z#1
unsigned int z#10
unsigned int z#100
unsigned int z#101
unsigned int z#102
unsigned int z#103
unsigned int z#104
unsigned int z#105
unsigned int z#106
unsigned int z#107
unsigned int z#108
unsigned int z#109
unsigned int z#11
unsigned int z#110
unsigned int z#111
unsigned int z#112
unsigned int z#113
unsigned int z#114
unsigned int z#115
unsigned int z#116
unsigned int z#117
unsigned int z#118
unsigned int z#119
unsigned int z#12
unsigned int z#120
unsigned int z#121
unsigned int z#122
unsigned int z#123
unsigned int z#124
unsigned int z#125
unsigned int z#126
unsigned int z#127
unsigned int z#128
unsigned int z#129
unsigned int z#13
unsigned int z#130
unsigned int z#131
unsigned int z#132
unsigned int z#133
unsigned int z#134
unsigned int z#135
unsigned int z#136
unsigned int z#14
unsigned int z#15
unsigned int z#16
unsigned int z#17
unsigned int z#18
unsigned int z#19
unsigned int z#2
unsigned int z#20
unsigned int z#21
unsigned int z#22
unsigned int z#23
unsigned int z#24
unsigned int z#25
unsigned int z#26
unsigned int z#27
unsigned int z#28
unsigned int z#29
unsigned int z#3
unsigned int z#30
unsigned int z#31
unsigned int z#32
unsigned int z#33
unsigned int z#34
unsigned int z#35
unsigned int z#36
unsigned int z#37
unsigned int z#38
unsigned int z#39
unsigned int z#4
unsigned int z#40
unsigned int z#41
unsigned int z#42
unsigned int z#43
unsigned int z#44
unsigned int z#45
unsigned int z#46
unsigned int z#47
unsigned int z#48
unsigned int z#49
unsigned int z#5
unsigned int z#50
unsigned int z#51
unsigned int z#52
unsigned int z#53
unsigned int z#54
unsigned int z#55
unsigned int z#56
unsigned int z#57
unsigned int z#58
unsigned int z#59
unsigned int z#6
unsigned int z#60
unsigned int z#61
unsigned int z#62
unsigned int z#63
unsigned int z#64
unsigned int z#65
unsigned int z#66
unsigned int z#67
unsigned int z#68
unsigned int z#69
unsigned int z#7
unsigned int z#70
unsigned int z#71
unsigned int z#72
unsigned int z#73
unsigned int z#74
unsigned int z#75
unsigned int z#76
unsigned int z#77
unsigned int z#78
unsigned int z#79
unsigned int z#8
unsigned int z#80
unsigned int z#81
unsigned int z#82
unsigned int z#83
unsigned int z#84
unsigned int z#85
unsigned int z#86
unsigned int z#87
unsigned int z#88
unsigned int z#89
unsigned int z#9
unsigned int z#90
unsigned int z#91
unsigned int z#92
unsigned int z#93
unsigned int z#94
unsigned int z#95
unsigned int z#96
unsigned int z#97
unsigned int z#98
unsigned int z#99
Adding number conversion cast (unumber) 0 in memset::$0 = memset::num#2 > 0
Adding number conversion cast (unumber) 5 in utoa::max_digits#1 = 5
Adding number conversion cast (unumber) 4 in utoa::max_digits#2 = 4
Adding number conversion cast (unumber) 6 in utoa::max_digits#3 = 6
Adding number conversion cast (unumber) $10 in utoa::max_digits#4 = $10
Adding number conversion cast (unumber) 0 in *utoa::buffer#2 = 0
Adding number conversion cast (unumber) 1 in utoa::$4 = utoa::max_digits#5 - 1
Adding number conversion cast (unumber) utoa::$4 in utoa::$4 = utoa::max_digits#5 - (unumber)1
Adding number conversion cast (unumber) 0 in *utoa::buffer#3 = 0
Adding number conversion cast (unumber) 1 in utoa::started#1 = 1
Adding number conversion cast (unumber) $19 in gotoxy::$0 = gotoxy::y#4 > $19
Adding number conversion cast (unumber) $28 in gotoxy::$2 = gotoxy::x#4 >= $28
Adding number conversion cast (unumber) 0 in gotoxy::y#0 = 0
Adding number conversion cast (unumber) $28 in gotoxy::line_offset#0 = gotoxy::$7 * $28
Adding number conversion cast (unumber) 0 in gotoxy::x#0 = 0
Adding number conversion cast (unumber) $28 in cputc::$1 = conio_cursor_x == $28
Adding number conversion cast (unumber) $28 in conio_line_text = conio_line_text + $28
Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_color + $28
Adding number conversion cast (unumber) 0 in conio_cursor_x = 0
Adding number conversion cast (unumber) 0 in cputs::$2 = 0 != cputs::$0
Adding number conversion cast (unumber) $19 in cscroll::$0 = conio_cursor_y == $19
Adding number conversion cast (unumber) 0 in cscroll::$7 = 0 != conio_scroll_enable
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#0 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)COLORRAM+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#1 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)DEFAULT_SCREEN+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#0 = $28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)COLORRAM+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)COLORRAM+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#1 = $28
Adding number conversion cast (unumber) $28 in conio_line_text = conio_line_text - $28
Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_color - $28
Adding number conversion cast (unumber) 0 in gotoxy::x#1 = 0
Adding number conversion cast (unumber) 0 in gotoxy::y#1 = 0
Adding number conversion cast (unumber) $19 in conio_c64_init::$0 = conio_c64_init::line#0 >= $19
Adding number conversion cast (unumber) 0 in gotoxy::x#2 = 0
Adding number conversion cast (unumber) $19-1 in conio_c64_init::line#1 = $19-1
Adding number conversion cast (unumber) 1 in divr8u::$0 = divr8u::rem#5 << 1
Adding number conversion cast (unumber) $80 in divr8u::$1 = divr8u::dividend#3 & $80
Adding number conversion cast (unumber) divr8u::$1 in divr8u::$1 = divr8u::dividend#3 & (unumber)$80
Adding number conversion cast (unumber) 0 in divr8u::$2 = divr8u::$1 != 0
Adding number conversion cast (unumber) 1 in divr8u::$5 = divr8u::dividend#4 << 1
Adding number conversion cast (unumber) 1 in divr8u::$6 = divr8u::quotient#3 << 1
Adding number conversion cast (unumber) 1 in divr8u::$4 = divr8u::rem#7 | 1
Adding number conversion cast (unumber) divr8u::$4 in divr8u::$4 = divr8u::rem#7 | (unumber)1
Adding number conversion cast (unumber) 0 in divr8u::rem#3 = 0
Adding number conversion cast (unumber) 0 in z#0 = 0
Adding number conversion cast (unumber) $1fa in clear_screen::$2 = z#20 < $1fa
Adding number conversion cast (unumber) $1e00 in clear_screen::$3 = $1e00 + z#21
Adding number conversion cast (unumber) clear_screen::$3 in clear_screen::$3 = (unumber)$1e00 + z#21
Adding number conversion cast (unumber) clear_screen::$4 in clear_screen::$4 = clear_screen::$3 + c
Adding number conversion cast (unumber) $1e00 in clear_screen::$5 = $1e00 + z#21
Adding number conversion cast (unumber) clear_screen::$5 in clear_screen::$5 = (unumber)$1e00 + z#21
Adding number conversion cast (unumber) 0 in gotoxy::x#3 = 0
Adding number conversion cast (unumber) 0 in gotoxy::y#3 = 0
Adding number conversion cast (unumber) $fde8 in write_score::$0 = score#13 > $fde8
Adding number conversion cast (unumber) 0 in m = 0
Adding number conversion cast (unumber) 0 in score#0 = 0
Adding number conversion cast (unumber) 4 in write_score::$9 = m < 4
Adding number conversion cast (unumber) $a in utoa::radix#0 = $a
Adding number conversion cast (unumber) 9 in write_score::$3 = score#15 > 9
Adding number conversion cast (unumber) $63 in write_score::$5 = score#16 > $63
Adding number conversion cast (unumber) 0 in points[2] = buffer[0]
Adding number conversion cast (unumber) 2 in points[2] = buffer[(unumber)0]
Adding number conversion cast (unumber) 1 in points[3] = buffer[1]
Adding number conversion cast (unumber) 3 in points[3] = buffer[(unumber)1]
Adding number conversion cast (unumber) 4 in *((char *)$d3) = 4
Adding number conversion cast (unumber) 0 in m = 0
Adding number conversion cast (unumber) 0 in points[1] = buffer[0]
Adding number conversion cast (unumber) 1 in points[1] = buffer[(unumber)0]
Adding number conversion cast (unumber) 1 in points[2] = buffer[1]
Adding number conversion cast (unumber) 2 in points[2] = buffer[(unumber)1]
Adding number conversion cast (unumber) 2 in points[3] = buffer[2]
Adding number conversion cast (unumber) 3 in points[3] = buffer[(unumber)2]
Adding number conversion cast (unumber) 4 in write_score::$10 = m < 4
Adding number conversion cast (unumber) 0 in m = 0
Adding number conversion cast (unumber) 0 in z#3 = 0
Adding number conversion cast (unumber) $21c in wait::$1 = z#23 < $21c
Adding number conversion cast (unumber) $100 in read_chrono::$0 = m * $100
Adding number conversion cast (unumber) read_chrono::$0 in read_chrono::$0 = m * (unumber)$100
Adding number conversion cast (unumber) read_chrono::$1 in read_chrono::$1 = read_chrono::$0 + l
Adding number conversion cast (unumber) $3c in div16u8u::divisor#0 = $3c
Adding number conversion cast (unumber) 7 in *((char *)$1e15+c) = 7
Adding number conversion cast (unumber) $1e15 in *((char *)$1e15+c) = ((unumber)) 7
Adding number conversion cast (unumber) $b9 in *((char *)$1e15) = $b9
Adding number conversion cast (unumber) $a in read_chrono::$3 = time#0 < $a
Adding number conversion cast (unumber) $b9 in read_chrono::$5 = $b9 - time#9
Adding number conversion cast (unumber) read_chrono::$5 in read_chrono::$5 = (unumber)$b9 - time#9
Adding number conversion cast (unumber) 8 in *((char *)$900f) = 8
Adding number conversion cast (unumber) 0 in m = 0
Adding number conversion cast (unumber) $28 in main::$2 = m < $28
Adding number conversion cast (unumber) $1c00 in main::$3 = $1c00 + m
Adding number conversion cast (unumber) main::$3 in main::$3 = (unumber)$1c00 + m
Adding number conversion cast (unumber) $20 in clear_screen::n#0 = $20
Adding number conversion cast (unumber) 0 in clear_screen::m#0 = 0
Adding number conversion cast (unumber) 7 in textcolor::color#0 = 7
Adding number conversion cast (unumber) 1 in textcolor::color#1 = 1
Adding number conversion cast (unumber) 2 in textcolor::color#2 = 2
Adding number conversion cast (unumber) 5 in main::$11 = l > 5
Adding number conversion cast (unumber) 4 in clear_screen::n#1 = 4
Adding number conversion cast (unumber) 0 in clear_screen::m#1 = 0
Adding number conversion cast (unumber) $ff in *((char *)$9005) = $ff
Adding number conversion cast (unumber) 1 in k#0 = 1
Adding number conversion cast (unumber) $16 in main::$16 = k#6 < $16
Adding number conversion cast (unumber) 2 in n#0 = 2
Adding number conversion cast (unumber) 2 in *((char *)$1ff9+c) = 2
Adding number conversion cast (unumber) $1ff9 in *((char *)$1ff9+c) = ((unumber)) 2
Adding number conversion cast (unumber) 1 in z#8 = 1
Adding number conversion cast (unumber) 1 in main::$23 = l > 1
Adding number conversion cast (unumber) $16 in main::$18 = n#7 < $16
Adding number conversion cast (unumber) $1f1f in peephole#0 = $1f1f
Adding number conversion cast (unumber) $f in *((char *)$900e) = $f
Adding number conversion cast (unumber) 0 in score#2 = 0
Adding number conversion cast (unumber) 1 in tu#0 = 1
Adding number conversion cast (unumber) $50 in chrout::petscii = $50
Adding number conversion cast (unumber) $54 in chrout::petscii = $54
Adding number conversion cast (unumber) $53 in chrout::petscii = $53
Adding number conversion cast (unumber) $3a in chrout::petscii = $3a
Adding number conversion cast (unumber) $12 in *((char *)$d3) = $12
Adding number conversion cast (unumber) 0 in j#0 = 0
Adding number conversion cast (unumber) 7 in main::$25 = 7 - l
Adding number conversion cast (unumber) main::$25 in main::$25 = (unumber)7 - l
Adding number conversion cast (unumber) 3 in main::$26 = 3 * l
Adding number conversion cast (unumber) main::$26 in main::$26 = (unumber)3 * l
Adding number conversion cast (unumber) $1a in main::$27 = $1a - main::$26
Adding number conversion cast (unumber) main::$27 in main::$27 = (unumber)$1a - main::$26
Adding number conversion cast (unumber) $1f9 in main::$30 = main::$29 > $1f9
Adding number conversion cast (unumber) 1 in j#1 = 1
Adding number conversion cast (unumber) 1 in main::$36 = main::$35 + 1
Adding number conversion cast (unumber) main::$36 in main::$36 = main::$35 + (unumber)1
Adding number conversion cast (unumber) $1fa in main::$37 = z#9 < $1fa
Adding number conversion cast (unumber) 4 in main::$44 = j#13 < 4
Adding number conversion cast (unumber) $a in *((char *)$d3) = $a
Adding number conversion cast (unumber) 0 in j#4 = 0
Adding number conversion cast (unumber) 5 in main::$49 = j#16 < 5
Adding number conversion cast (unumber) $f in *((char *)$d3) = $f
Adding number conversion cast (unumber) $a in main::$54 = tu#6 < $a
Adding number conversion cast (unumber) $30 in main::$57 = $30 + tu#7
Adding number conversion cast (unumber) main::$57 in main::$57 = (unumber)$30 + tu#7
Adding number conversion cast (unumber) $31 in chrout::petscii = $31
Adding number conversion cast (unumber) $30 in chrout::petscii = $30
Adding number conversion cast (unumber) 0 in random::k#1 = 0
Adding number conversion cast (unumber) $ff in random::n#1 = $ff
Adding number conversion cast (unumber) 0 in random::k#2 = 0
Adding number conversion cast (unumber) $ff in random::n#2 = $ff
Adding number conversion cast (unumber) $1e15 in main::$61 = m + $1e15
Adding number conversion cast (unumber) main::$61 in main::$61 = m + (unumber)$1e15
Adding number conversion cast (unumber) main::$62 in main::$62 = main::$61 + duck#6
Adding number conversion cast (unumber) $1fe3 in main::$63 = duck#1 > $1fe3
Adding number conversion cast (unumber) 1 in main::$66 = duck#1 + 1
Adding number conversion cast (unumber) main::$66 in main::$66 = duck#1 + (unumber)1
Adding number conversion cast (unumber) $16 in main::$69 = duck#1 + $16
Adding number conversion cast (unumber) main::$69 in main::$69 = duck#1 + (unumber)$16
Adding number conversion cast (unumber) $17 in main::$72 = duck#1 + $17
Adding number conversion cast (unumber) main::$72 in main::$72 = duck#1 + (unumber)$17
Adding number conversion cast (unumber) 0 in time#2 = 0
Adding number conversion cast (unumber) $a in main::$76 = time#11 < $a
Adding number conversion cast (unumber) $7f in *((char *)$9122) = $7f
Adding number conversion cast (unumber) $ff in *((char *)$9122) = $ff
Adding number conversion cast (unumber) $10 in main::$78 = $10 & m
Adding number conversion cast (unumber) main::$78 in main::$78 = (unumber)$10 & m
Adding number conversion cast (unumber) 0 in main::$79 = main::$78 == 0
Adding number conversion cast (unumber) $a in main::$147 = score#19 - $a
Adding number conversion cast (unumber) main::$147 in main::$147 = score#19 - (unumber)$a
Adding number conversion cast (unumber) $82 in *((char *)$900d) = $82
Adding number conversion cast (unumber) $14 in wait::n#0 = $14
Adding number conversion cast (unumber) 0 in *((char *)$900d) = 0
Adding number conversion cast (unumber) 0 in *((char *)main::$150) = 0
Adding number conversion cast (unumber) 1 in main::$151 = duck#7 + 1
Adding number conversion cast (unumber) main::$151 in main::$151 = duck#7 + (unumber)1
Adding number conversion cast (unumber) main::$152 in main::$152 = main::$151 + c
Adding number conversion cast (unumber) 0 in *((char *)main::$152) = 0
Adding number conversion cast (unumber) $16 in main::$153 = duck#7 + $16
Adding number conversion cast (unumber) main::$153 in main::$153 = duck#7 + (unumber)$16
Adding number conversion cast (unumber) main::$154 in main::$154 = main::$153 + c
Adding number conversion cast (unumber) 0 in *((char *)main::$154) = 0
Adding number conversion cast (unumber) $17 in main::$155 = duck#7 + $17
Adding number conversion cast (unumber) main::$155 in main::$155 = duck#7 + (unumber)$17
Adding number conversion cast (unumber) main::$156 in main::$156 = main::$155 + c
Adding number conversion cast (unumber) 0 in *((char *)main::$156) = 0
Adding number conversion cast (unumber) $b in main::$157 = tu#9 < $b
Adding number conversion cast (unumber) $80 in main::$81 = $80 & n#9
Adding number conversion cast (unumber) main::$81 in main::$81 = (unumber)$80 & n#9
Adding number conversion cast (unumber) 0 in main::$82 = main::$81 == 0
Adding number conversion cast (unumber) 4 in main::$84 = 4 & m
Adding number conversion cast (unumber) main::$84 in main::$84 = (unumber)4 & m
Adding number conversion cast (unumber) 0 in main::$85 = main::$84 == 0
Adding number conversion cast (unumber) 8 in main::$88 = 8 & m
Adding number conversion cast (unumber) main::$88 in main::$88 = (unumber)8 & m
Adding number conversion cast (unumber) 0 in main::$89 = main::$88 == 0
Adding number conversion cast (unumber) $16 in main::$87 = y#11 - $16
Adding number conversion cast (unumber) main::$87 in main::$87 = y#11 - (unumber)$16
Adding number conversion cast (unumber) $20 in main::$92 = $20 & m
Adding number conversion cast (unumber) main::$92 in main::$92 = (unumber)$20 & m
Adding number conversion cast (unumber) 0 in main::$93 = main::$92 == 0
Adding number conversion cast (unumber) $16 in main::$91 = y#12 + $16
Adding number conversion cast (unumber) main::$91 in main::$91 = y#12 + (unumber)$16
Adding number conversion cast (unumber) 1 in main::$104 = y#13 + 1
Adding number conversion cast (unumber) main::$104 in main::$104 = y#13 + (unumber)1
Adding number conversion cast (unumber) $16 in main::$107 = y#13 + $16
Adding number conversion cast (unumber) main::$107 in main::$107 = y#13 + (unumber)$16
Adding number conversion cast (unumber) $17 in main::$110 = y#13 + $17
Adding number conversion cast (unumber) main::$110 in main::$110 = y#13 + (unumber)$17
Adding number conversion cast (unumber) $1e16 in main::$113 = y#13 > $1e16
Adding number conversion cast (unumber) $1fe3 in main::$115 = y#13 < $1fe3
Adding number conversion cast (unumber) $82 in *((char *)$900d) = $82
Adding number conversion cast (unumber) $a in main::$100 = score#21 - $a
Adding number conversion cast (unumber) main::$100 in main::$100 = score#21 - (unumber)$a
Adding number conversion cast (unumber) $a in wait::n#1 = $a
Adding number conversion cast (unumber) $c in main::$96 = $c - time#13
Adding number conversion cast (unumber) main::$96 in main::$96 = (unumber)$c - time#13
Adding number conversion cast (unumber) $a in main::$97 = main::$96 * $a
Adding number conversion cast (unumber) main::$97 in main::$97 = main::$96 * (unumber)$a
Adding number conversion cast (unumber) main::$98 in main::$98 = score#23 + main::$97
Adding number conversion cast (unumber) $a in wait::n#2 = $a
Adding number conversion cast (unumber) $a in time#4 = $a
Adding number conversion cast (unumber) 0 in *((char *)$900d) = 0
Adding number conversion cast (unumber) $fd in *((char *)peephole#7) = $fd
Adding number conversion cast (unumber) 1 in *((char *)main::$125) = 1
Adding number conversion cast (unumber) 1 in main::$126 = peephole#7 + 1
Adding number conversion cast (unumber) main::$126 in main::$126 = peephole#7 + (unumber)1
Adding number conversion cast (unumber) $ed in *((char *)main::$126) = $ed
Adding number conversion cast (unumber) 1 in main::$127 = peephole#7 + 1
Adding number conversion cast (unumber) main::$127 in main::$127 = peephole#7 + (unumber)1
Adding number conversion cast (unumber) main::$128 in main::$128 = main::$127 + c
Adding number conversion cast (unumber) 1 in *((char *)main::$128) = 1
Adding number conversion cast (unumber) $16 in main::$129 = peephole#7 + $16
Adding number conversion cast (unumber) main::$129 in main::$129 = peephole#7 + (unumber)$16
Adding number conversion cast (unumber) $ee in *((char *)main::$129) = $ee
Adding number conversion cast (unumber) $16 in main::$130 = peephole#7 + $16
Adding number conversion cast (unumber) main::$130 in main::$130 = peephole#7 + (unumber)$16
Adding number conversion cast (unumber) main::$131 in main::$131 = main::$130 + c
Adding number conversion cast (unumber) 1 in *((char *)main::$131) = 1
Adding number conversion cast (unumber) $17 in main::$132 = peephole#7 + $17
Adding number conversion cast (unumber) main::$132 in main::$132 = peephole#7 + (unumber)$17
Adding number conversion cast (unumber) $f0 in *((char *)main::$132) = $f0
Adding number conversion cast (unumber) $17 in main::$133 = peephole#7 + $17
Adding number conversion cast (unumber) main::$133 in main::$133 = peephole#7 + (unumber)$17
Adding number conversion cast (unumber) main::$134 in main::$134 = main::$133 + c
Adding number conversion cast (unumber) 1 in *((char *)main::$134) = 1
Adding number conversion cast (unumber) 5 in wait::n#3 = 5
Adding number conversion cast (unumber) 0 in *((char *)duck#9) = 0
Adding number conversion cast (unumber) 7 in *((char *)main::$136) = 7
Adding number conversion cast (unumber) 1 in main::$137 = duck#9 + 1
Adding number conversion cast (unumber) main::$137 in main::$137 = duck#9 + (unumber)1
Adding number conversion cast (unumber) 1 in *((char *)main::$137) = 1
Adding number conversion cast (unumber) 1 in main::$138 = duck#9 + 1
Adding number conversion cast (unumber) main::$138 in main::$138 = duck#9 + (unumber)1
Adding number conversion cast (unumber) main::$139 in main::$139 = main::$138 + c
Adding number conversion cast (unumber) 7 in *((char *)main::$139) = 7
Adding number conversion cast (unumber) $16 in main::$140 = duck#9 + $16
Adding number conversion cast (unumber) main::$140 in main::$140 = duck#9 + (unumber)$16
Adding number conversion cast (unumber) 2 in *((char *)main::$140) = 2
Adding number conversion cast (unumber) $16 in main::$141 = duck#9 + $16
Adding number conversion cast (unumber) main::$141 in main::$141 = duck#9 + (unumber)$16
Adding number conversion cast (unumber) main::$142 in main::$142 = main::$141 + c
Adding number conversion cast (unumber) 7 in *((char *)main::$142) = 7
Adding number conversion cast (unumber) $17 in main::$143 = duck#9 + $17
Adding number conversion cast (unumber) main::$143 in main::$143 = duck#9 + (unumber)$17
Adding number conversion cast (unumber) 3 in *((char *)main::$143) = 3
Adding number conversion cast (unumber) $17 in main::$144 = duck#9 + $17
Adding number conversion cast (unumber) main::$144 in main::$144 = duck#9 + (unumber)$17
Adding number conversion cast (unumber) main::$145 in main::$145 = main::$144 + c
Adding number conversion cast (unumber) 7 in *((char *)main::$145) = 7
Adding number conversion cast (unumber) 5 in wait::n#4 = 5
Adding number conversion cast (unumber) 0 in *((char *)main::$118) = 0
Adding number conversion cast (unumber) 1 in main::$120 = main::$119 + 1
Adding number conversion cast (unumber) main::$120 in main::$120 = main::$119 + (unumber)1
Adding number conversion cast (unumber) 0 in *((char *)main::$120) = 0
Adding number conversion cast (unumber) $16 in main::$122 = main::$121 + $16
Adding number conversion cast (unumber) main::$122 in main::$122 = main::$121 + (unumber)$16
Adding number conversion cast (unumber) 0 in *((char *)main::$122) = 0
Adding number conversion cast (unumber) $17 in main::$124 = main::$123 + $17
Adding number conversion cast (unumber) main::$124 in main::$124 = main::$123 + (unumber)$17
Adding number conversion cast (unumber) 0 in *((char *)main::$124) = 0
Adding number conversion cast (unumber) 4 in clear_screen::n#2 = 4
Adding number conversion cast (unumber) 0 in clear_screen::m#2 = 0
Adding number conversion cast (unumber) $f0 in *((char *)$9005) = $f0
Adding number conversion cast (unumber) 7 in textcolor::color#3 = 7
Adding number conversion cast (unumber) 2 in textcolor::color#4 = 2
Adding number conversion cast (unumber) 3 in textcolor::color#5 = 3
Adding number conversion cast (unumber) $a in utoa::radix#1 = $a
Adding number conversion cast (unumber) 1 in textcolor::color#6 = 1
Adding number conversion cast (unumber) $b in main::$173 = j#6 != $b
Adding number conversion cast (unumber) $1c in main::$174 = j#6 != $1c
Adding number conversion cast (unumber) $b in main::$176 = j#19 == $b
Successful SSA optimization PassNAddNumberTypeConversions
Inlining cast memcpy::src#0 = (char *)memcpy::source#2
Inlining cast memcpy::dst#0 = (char *)memcpy::destination#2
Inlining cast memset::dst#0 = (char *)memset::str#3
Inlining cast utoa::max_digits#1 = (unumber)5
Inlining cast utoa::max_digits#2 = (unumber)4
Inlining cast utoa::max_digits#3 = (unumber)6
Inlining cast utoa::max_digits#4 = (unumber)$10
Inlining cast *utoa::buffer#2 = (unumber)0
Inlining cast *utoa::buffer#3 = (unumber)0
Inlining cast utoa::started#1 = (unumber)1
Inlining cast gotoxy::y#0 = (unumber)0
Inlining cast gotoxy::x#0 = (unumber)0
Inlining cast conio_cursor_x = (unumber)0
Inlining cast memcpy::num#0 = (unumber)$19*$28-$28
Inlining cast memcpy::num#1 = (unumber)$19*$28-$28
Inlining cast memset::num#0 = (unumber)$28
Inlining cast memset::num#1 = (unumber)$28
Inlining cast gotoxy::x#1 = (unumber)0
Inlining cast gotoxy::y#1 = (unumber)0
Inlining cast gotoxy::x#2 = (unumber)0
Inlining cast conio_c64_init::line#1 = (unumber)$19-1
Inlining cast divr8u::rem#3 = (unumber)0
Inlining cast z#0 = (unumber)0
Inlining cast gotoxy::x#3 = (unumber)0
Inlining cast gotoxy::y#3 = (unumber)0
Inlining cast m = (unumber)0
Inlining cast score#0 = (unumber)0
Inlining cast utoa::radix#0 = (unumber)$a
Inlining cast *((char *)$d3) = (unumber)4
Inlining cast m = (unumber)0
Inlining cast m = (unumber)0
Inlining cast z#3 = (unumber)0
Inlining cast div16u8u::divisor#0 = (unumber)$3c
Inlining cast *((char *)(unumber)$1e15+c) = (unumber)7
Inlining cast *((char *)$1e15) = (unumber)$b9
Inlining cast *((char *)$900f) = (unumber)8
Inlining cast m = (unumber)0
Inlining cast clear_screen::n#0 = (unumber)$20
Inlining cast clear_screen::m#0 = (unumber)0
Inlining cast textcolor::color#0 = (unumber)7
Inlining cast textcolor::color#1 = (unumber)1
Inlining cast textcolor::color#2 = (unumber)2
Inlining cast clear_screen::n#1 = (unumber)4
Inlining cast clear_screen::m#1 = (unumber)0
Inlining cast *((char *)$9005) = (unumber)$ff
Inlining cast k#0 = (unumber)1
Inlining cast n#0 = (unumber)2
Inlining cast *((char *)(unumber)$1ff9+c) = (unumber)2
Inlining cast z#8 = (unumber)1
Inlining cast peephole#0 = (unumber)$1f1f
Inlining cast *((char *)$900e) = (unumber)$f
Inlining cast score#2 = (unumber)0
Inlining cast tu#0 = (unumber)1
Inlining cast chrout::petscii = (unumber)$50
Inlining cast chrout::petscii = (unumber)$54
Inlining cast chrout::petscii = (unumber)$53
Inlining cast chrout::petscii = (unumber)$3a
Inlining cast *((char *)$d3) = (unumber)$12
Inlining cast j#0 = (unumber)0
Inlining cast j#1 = (unumber)1
Inlining cast *((char *)$d3) = (unumber)$a
Inlining cast j#4 = (unumber)0
Inlining cast *((char *)$d3) = (unumber)$f
Inlining cast chrout::petscii = (unumber)$31
Inlining cast chrout::petscii = (unumber)$30
Inlining cast random::k#1 = (unumber)0
Inlining cast random::n#1 = (unumber)$ff
Inlining cast random::k#2 = (unumber)0
Inlining cast random::n#2 = (unumber)$ff
Inlining cast time#2 = (unumber)0
Inlining cast *((char *)$9122) = (unumber)$7f
Inlining cast *((char *)$9122) = (unumber)$ff
Inlining cast *((char *)$900d) = (unumber)$82
Inlining cast wait::n#0 = (unumber)$14
Inlining cast *((char *)$900d) = (unumber)0
Inlining cast *((char *)main::$150) = (unumber)0
Inlining cast *((char *)main::$152) = (unumber)0
Inlining cast *((char *)main::$154) = (unumber)0
Inlining cast *((char *)main::$156) = (unumber)0
Inlining cast *((char *)$900d) = (unumber)$82
Inlining cast wait::n#1 = (unumber)$a
Inlining cast wait::n#2 = (unumber)$a
Inlining cast time#4 = (unumber)$a
Inlining cast *((char *)$900d) = (unumber)0
Inlining cast *((char *)peephole#7) = (unumber)$fd
Inlining cast *((char *)main::$125) = (unumber)1
Inlining cast *((char *)main::$126) = (unumber)$ed
Inlining cast *((char *)main::$128) = (unumber)1
Inlining cast *((char *)main::$129) = (unumber)$ee
Inlining cast *((char *)main::$131) = (unumber)1
Inlining cast *((char *)main::$132) = (unumber)$f0
Inlining cast *((char *)main::$134) = (unumber)1
Inlining cast wait::n#3 = (unumber)5
Inlining cast *((char *)duck#9) = (unumber)0
Inlining cast *((char *)main::$136) = (unumber)7
Inlining cast *((char *)main::$137) = (unumber)1
Inlining cast *((char *)main::$139) = (unumber)7
Inlining cast *((char *)main::$140) = (unumber)2
Inlining cast *((char *)main::$142) = (unumber)7
Inlining cast *((char *)main::$143) = (unumber)3
Inlining cast *((char *)main::$145) = (unumber)7
Inlining cast wait::n#4 = (unumber)5
Inlining cast *((char *)main::$118) = (unumber)0
Inlining cast *((char *)main::$120) = (unumber)0
Inlining cast *((char *)main::$122) = (unumber)0
Inlining cast *((char *)main::$124) = (unumber)0
Inlining cast clear_screen::n#2 = (unumber)4
Inlining cast clear_screen::m#2 = (unumber)0
Inlining cast *((char *)$9005) = (unumber)$f0
Inlining cast textcolor::color#3 = (unumber)7
Inlining cast textcolor::color#4 = (unumber)2
Inlining cast textcolor::color#5 = (unumber)3
Inlining cast utoa::radix#1 = (unumber)$a
Inlining cast textcolor::color#6 = (unumber)1
Successful SSA optimization Pass2InlineCast
Simplifying constant pointer cast (char *) 55296
Simplifying constant pointer cast (char *) 1024
Simplifying constant pointer cast (char *) 214
Simplifying constant integer cast 0
Simplifying constant integer cast 5
Simplifying constant integer cast 4
Simplifying constant integer cast 6
Simplifying constant integer cast $10
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast $19
Simplifying constant integer cast $28
Simplifying constant integer cast 0
Simplifying constant integer cast $28
Simplifying constant integer cast 0
Simplifying constant integer cast $28
Simplifying constant integer cast $28
Simplifying constant integer cast $28
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast $19
Simplifying constant integer cast 0
Simplifying constant integer cast $28
Simplifying constant integer cast $28
Simplifying constant integer cast $28
Simplifying constant integer cast $28
Simplifying constant integer cast $28
Simplifying constant integer cast $28
Simplifying constant integer cast $28
Simplifying constant integer cast $28
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast $19
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast $80
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast $1fa
Simplifying constant integer cast $1e00
Simplifying constant integer cast $1e00
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant pointer cast (char *) 37140
Simplifying constant integer cast $fde8
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 4
Simplifying constant integer cast $a
Simplifying constant integer cast 9
Simplifying constant integer cast $63
Simplifying constant integer cast 0
Simplifying constant integer cast 2
Simplifying constant integer cast 1
Simplifying constant integer cast 3
Simplifying constant integer cast 4
Simplifying constant pointer cast (char *) 211
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast 2
Simplifying constant integer cast 2
Simplifying constant integer cast 3
Simplifying constant integer cast 4
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast $21c
Simplifying constant integer cast $100
Simplifying constant integer cast $3c
Simplifying constant integer cast 7
Simplifying constant integer cast $1e15
Simplifying constant integer cast $b9
Simplifying constant pointer cast (char *) 7701
Simplifying constant integer cast $a
Simplifying constant integer cast $b9
Simplifying constant pointer cast (char *) 7701
Simplifying constant integer cast 8
Simplifying constant pointer cast (char *) 36879
Simplifying constant integer cast 0
Simplifying constant integer cast $28
Simplifying constant integer cast $1c00
Simplifying constant integer cast $20
Simplifying constant integer cast 0
Simplifying constant integer cast 7
Simplifying constant integer cast 1
Simplifying constant integer cast 2
Simplifying constant pointer cast (char *) 197
Simplifying constant integer cast 5
Simplifying constant integer cast 4
Simplifying constant integer cast 0
Simplifying constant integer cast $ff
Simplifying constant pointer cast (char *) 36869
Simplifying constant integer cast 1
Simplifying constant integer cast $16
Simplifying constant integer cast 2
Simplifying constant pointer cast (char *) 8185
Simplifying constant integer cast 2
Simplifying constant integer cast $1ff9
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast $16
Simplifying constant integer cast $1f1f
Simplifying constant integer cast $f
Simplifying constant pointer cast (char *) 36878
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast $50
Simplifying constant integer cast $54
Simplifying constant integer cast $53
Simplifying constant integer cast $3a
Simplifying constant integer cast $12
Simplifying constant pointer cast (char *) 211
Simplifying constant integer cast 0
Simplifying constant integer cast 7
Simplifying constant integer cast 3
Simplifying constant integer cast $1a
Simplifying constant integer cast $1f9
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast $1fa
Simplifying constant integer cast 4
Simplifying constant integer cast $a
Simplifying constant pointer cast (char *) 211
Simplifying constant integer cast 0
Simplifying constant integer cast 5
Simplifying constant integer cast $f
Simplifying constant pointer cast (char *) 211
Simplifying constant integer cast $a
Simplifying constant integer cast $30
Simplifying constant integer cast $31
Simplifying constant integer cast $30
Simplifying constant integer cast 0
Simplifying constant integer cast $ff
Simplifying constant integer cast 0
Simplifying constant integer cast $ff
Simplifying constant integer cast $1e15
Simplifying constant integer cast $1fe3
Simplifying constant integer cast 1
Simplifying constant integer cast $16
Simplifying constant integer cast $17
Simplifying constant integer cast 0
Simplifying constant integer cast $a
Simplifying constant pointer cast (char *) 37151
Simplifying constant integer cast $7f
Simplifying constant pointer cast (char *) 37154
Simplifying constant pointer cast (char *) 37152
Simplifying constant integer cast $ff
Simplifying constant pointer cast (char *) 37154
Simplifying constant integer cast $10
Simplifying constant integer cast 0
Simplifying constant integer cast $a
Simplifying constant integer cast $82
Simplifying constant pointer cast (char *) 36877
Simplifying constant integer cast $14
Simplifying constant integer cast 0
Simplifying constant pointer cast (char *) 36877
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast $16
Simplifying constant integer cast 0
Simplifying constant integer cast $17
Simplifying constant integer cast 0
Simplifying constant integer cast $b
Simplifying constant integer cast $80
Simplifying constant integer cast 0
Simplifying constant integer cast 4
Simplifying constant integer cast 0
Simplifying constant integer cast 8
Simplifying constant integer cast 0
Simplifying constant integer cast $16
Simplifying constant integer cast $20
Simplifying constant integer cast 0
Simplifying constant integer cast $16
Simplifying constant integer cast 1
Simplifying constant integer cast $16
Simplifying constant integer cast $17
Simplifying constant integer cast $1e16
Simplifying constant integer cast $1fe3
Simplifying constant integer cast $82
Simplifying constant pointer cast (char *) 36877
Simplifying constant integer cast $a
Simplifying constant integer cast $a
Simplifying constant integer cast $c
Simplifying constant integer cast $a
Simplifying constant integer cast $a
Simplifying constant integer cast $a
Simplifying constant integer cast 0
Simplifying constant pointer cast (char *) 36877
Simplifying constant integer cast $fd
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast $ed
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast $16
Simplifying constant integer cast $ee
Simplifying constant integer cast $16
Simplifying constant integer cast 1
Simplifying constant integer cast $17
Simplifying constant integer cast $f0
Simplifying constant integer cast $17
Simplifying constant integer cast 1
Simplifying constant integer cast 5
Simplifying constant integer cast 0
Simplifying constant integer cast 7
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast 7
Simplifying constant integer cast $16
Simplifying constant integer cast 2
Simplifying constant integer cast $16
Simplifying constant integer cast 7
Simplifying constant integer cast $17
Simplifying constant integer cast 3
Simplifying constant integer cast $17
Simplifying constant integer cast 7
Simplifying constant integer cast 5
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast $16
Simplifying constant integer cast 0
Simplifying constant integer cast $17
Simplifying constant integer cast 0
Simplifying constant integer cast 4
Simplifying constant integer cast 0
Simplifying constant integer cast $f0
Simplifying constant pointer cast (char *) 36869
Simplifying constant integer cast 7
Simplifying constant integer cast 2
Simplifying constant integer cast 3
Simplifying constant integer cast $a
Simplifying constant integer cast 1
Simplifying constant pointer cast (char *) 197
Simplifying constant integer cast $b
Simplifying constant integer cast $1c
Simplifying constant integer cast $b
Successful SSA optimization PassNCastSimplification
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 5
Finalized unsigned number type (char) 4
Finalized unsigned number type (char) 6
Finalized unsigned number type (char) $10
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) $19
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $19
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $19
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) $80
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (unsigned int) $1fa
Finalized unsigned number type (unsigned int) $1e00
Finalized unsigned number type (unsigned int) $1e00
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (unsigned int) $fde8
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 4
Finalized unsigned number type (char) $a
Finalized unsigned number type (char) 9
Finalized unsigned number type (char) $63
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 3
Finalized unsigned number type (char) 4
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) 3
Finalized unsigned number type (char) 4
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (unsigned int) $21c
Finalized unsigned number type (unsigned int) $100
Finalized unsigned number type (char) $3c
Finalized unsigned number type (char) 7
Finalized unsigned number type (unsigned int) $1e15
Finalized unsigned number type (char) $b9
Finalized unsigned number type (char) $a
Finalized unsigned number type (char) $b9
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $28
Finalized unsigned number type (unsigned int) $1c00
Finalized unsigned number type (char) $20
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 7
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) 5
Finalized unsigned number type (char) 4
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $ff
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) $16
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) 2
Finalized unsigned number type (unsigned int) $1ff9
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) $16
Finalized unsigned number type (unsigned int) $1f1f
Finalized unsigned number type (char) $f
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) $50
Finalized unsigned number type (char) $54
Finalized unsigned number type (char) $53
Finalized unsigned number type (char) $3a
Finalized unsigned number type (char) $12
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 7
Finalized unsigned number type (char) 3
Finalized unsigned number type (char) $1a
Finalized unsigned number type (unsigned int) $1f9
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 1
Finalized unsigned number type (unsigned int) $1fa
Finalized unsigned number type (char) 4
Finalized unsigned number type (char) $a
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 5
Finalized unsigned number type (char) $f
Finalized unsigned number type (char) $a
Finalized unsigned number type (char) $30
Finalized unsigned number type (char) $31
Finalized unsigned number type (char) $30
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $ff
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $ff
Finalized unsigned number type (unsigned int) $1e15
Finalized unsigned number type (unsigned int) $1fe3
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) $16
Finalized unsigned number type (char) $17
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $a
Finalized unsigned number type (char) $7f
Finalized unsigned number type (char) $ff
Finalized unsigned number type (char) $10
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $a
Finalized unsigned number type (char) $82
Finalized unsigned number type (char) $14
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $16
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $17
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $b
Finalized unsigned number type (char) $80
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 4
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $16
Finalized unsigned number type (char) $20
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $16
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) $16
Finalized unsigned number type (char) $17
Finalized unsigned number type (unsigned int) $1e16
Finalized unsigned number type (unsigned int) $1fe3
Finalized unsigned number type (char) $82
Finalized unsigned number type (char) $a
Finalized unsigned number type (char) $a
Finalized unsigned number type (char) $c
Finalized unsigned number type (char) $a
Finalized unsigned number type (char) $a
Finalized unsigned number type (char) $a
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $fd
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) $ed
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) $16
Finalized unsigned number type (char) $ee
Finalized unsigned number type (char) $16
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) $17
Finalized unsigned number type (char) $f0
Finalized unsigned number type (char) $17
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 5
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 7
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 7
Finalized unsigned number type (char) $16
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) $16
Finalized unsigned number type (char) 7
Finalized unsigned number type (char) $17
Finalized unsigned number type (char) 3
Finalized unsigned number type (char) $17
Finalized unsigned number type (char) 7
Finalized unsigned number type (char) 5
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $16
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $17
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 4
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $f0
Finalized unsigned number type (char) 7
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) 3
Finalized unsigned number type (char) $a
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) $b
Finalized unsigned number type (char) $1c
Finalized unsigned number type (char) $b
Successful SSA optimization PassNFinalizeNumberTypeConversions
Inferred type updated to char in utoa::$4 = utoa::max_digits#5 - 1
Inferred type updated to char in divr8u::$1 = divr8u::dividend#3 & $80
Inferred type updated to char in divr8u::$4 = divr8u::rem#7 | 1
Inferred type updated to unsigned int in clear_screen::$3 = $1e00 + z#21
Inferred type updated to unsigned int in clear_screen::$4 = clear_screen::$3 + c
Inferred type updated to unsigned int in clear_screen::$5 = $1e00 + z#21
Inferred type updated to unsigned int in read_chrono::$0 = m * $100
Inferred type updated to unsigned int in read_chrono::$1 = read_chrono::$0 + l
Inferred type updated to unsigned int in read_chrono::$5 = $b9 - time#9
Inferred type updated to unsigned int in main::$3 = $1c00 + m
Inferred type updated to char in main::$25 = 7 - l
Inferred type updated to char in main::$26 = 3 * l
Inferred type updated to char in main::$27 = $1a - main::$26
Inferred type updated to unsigned int in main::$36 = main::$35 + 1
Inferred type updated to unsigned int in main::$57 = $30 + tu#7
Inferred type updated to unsigned int in main::$61 = m + $1e15
Inferred type updated to unsigned int in main::$62 = main::$61 + duck#6
Inferred type updated to unsigned int in main::$66 = duck#1 + 1
Inferred type updated to unsigned int in main::$69 = duck#1 + $16
Inferred type updated to unsigned int in main::$72 = duck#1 + $17
Inferred type updated to char in main::$78 = $10 & m
Inferred type updated to unsigned int in main::$147 = score#19 - $a
Inferred type updated to unsigned int in main::$151 = duck#7 + 1
Inferred type updated to unsigned int in main::$152 = main::$151 + c
Inferred type updated to unsigned int in main::$153 = duck#7 + $16
Inferred type updated to unsigned int in main::$154 = main::$153 + c
Inferred type updated to unsigned int in main::$155 = duck#7 + $17
Inferred type updated to unsigned int in main::$156 = main::$155 + c
Inferred type updated to char in main::$81 = $80 & n#9
Inferred type updated to char in main::$84 = 4 & m
Inferred type updated to char in main::$88 = 8 & m
Inferred type updated to unsigned int in main::$87 = y#11 - $16
Inferred type updated to char in main::$92 = $20 & m
Inferred type updated to unsigned int in main::$91 = y#12 + $16
Inferred type updated to unsigned int in main::$104 = y#13 + 1
Inferred type updated to unsigned int in main::$107 = y#13 + $16
Inferred type updated to unsigned int in main::$110 = y#13 + $17
Inferred type updated to unsigned int in main::$100 = score#21 - $a
Inferred type updated to unsigned int in main::$96 = $c - time#13
Inferred type updated to unsigned int in main::$97 = main::$96 * $a
Inferred type updated to unsigned int in main::$98 = score#23 + main::$97
Inferred type updated to unsigned int in main::$126 = peephole#7 + 1
Inferred type updated to unsigned int in main::$127 = peephole#7 + 1
Inferred type updated to unsigned int in main::$128 = main::$127 + c
Inferred type updated to unsigned int in main::$129 = peephole#7 + $16
Inferred type updated to unsigned int in main::$130 = peephole#7 + $16
Inferred type updated to unsigned int in main::$131 = main::$130 + c
Inferred type updated to unsigned int in main::$132 = peephole#7 + $17
Inferred type updated to unsigned int in main::$133 = peephole#7 + $17
Inferred type updated to unsigned int in main::$134 = main::$133 + c
Inferred type updated to unsigned int in main::$137 = duck#9 + 1
Inferred type updated to unsigned int in main::$138 = duck#9 + 1
Inferred type updated to unsigned int in main::$139 = main::$138 + c
Inferred type updated to unsigned int in main::$140 = duck#9 + $16
Inferred type updated to unsigned int in main::$141 = duck#9 + $16
Inferred type updated to unsigned int in main::$142 = main::$141 + c
Inferred type updated to unsigned int in main::$143 = duck#9 + $17
Inferred type updated to unsigned int in main::$144 = duck#9 + $17
Inferred type updated to unsigned int in main::$145 = main::$144 + c
Inferred type updated to unsigned int in main::$120 = main::$119 + 1
Inferred type updated to unsigned int in main::$122 = main::$121 + $16
Inferred type updated to unsigned int in main::$124 = main::$123 + $17
Inversing boolean not [19] memset::$1 = memset::num#2 <= 0 from [18] memset::$0 = memset::num#2 > 0
Inversing boolean not [119] gotoxy::$1 = gotoxy::y#4 <= $19 from [118] gotoxy::$0 = gotoxy::y#4 > $19
Inversing boolean not [123] gotoxy::$3 = gotoxy::x#4 < $28 from [122] gotoxy::$2 = gotoxy::x#4 >= $28
Inversing boolean not [148] cputc::$2 = conio_cursor_x != $28 from [147] cputc::$1 = conio_cursor_x == $28
Inversing boolean not [179] cscroll::$1 = conio_cursor_y != $19 from [178] cscroll::$0 = conio_cursor_y == $19
Inversing boolean not [212] conio_c64_init::$1 = conio_c64_init::line#0 < $19 from [211] conio_c64_init::$0 = conio_c64_init::line#0 >= $19
Inversing boolean not [228] divr8u::$3 = divr8u::$1 == 0 from [227] divr8u::$2 = divr8u::$1 != 0
Inversing boolean not [236] divr8u::$8 = divr8u::rem#6 < divr8u::divisor#2 from [235] divr8u::$7 = divr8u::rem#6 >= divr8u::divisor#2
Inversing boolean not [316] write_score::$1 = score#13 <= $fde8 from [315] write_score::$0 = score#13 > $fde8
Inversing boolean not [334] write_score::$4 = score#15 <= 9 from [333] write_score::$3 = score#15 > 9
Inversing boolean not [338] write_score::$6 = score#16 <= $63 from [337] write_score::$5 = score#16 > $63
Inversing boolean not [401] read_chrono::$4 = time#0 >= $a from [400] read_chrono::$3 = time#0 < $a
Inversing boolean not [494] main::$24 = l <= 1 from [493] main::$23 = l > 1
Inversing boolean not [544] main::$31 = main::$29 <= $1f9 from [543] main::$30 = main::$29 > $1f9
Inversing boolean not [662] main::$80 = main::$78 != 0 from [661] main::$79 = main::$78 == 0
Inversing boolean not [693] main::$83 = main::$81 != 0 from [692] main::$82 = main::$81 == 0
Inversing boolean not [700] main::$86 = main::$84 != 0 from [699] main::$85 = main::$84 == 0
Inversing boolean not [707] main::$90 = main::$88 != 0 from [706] main::$89 = main::$88 == 0
Inversing boolean not [715] main::$94 = main::$92 != 0 from [714] main::$93 = main::$92 == 0
Inversing boolean not [857] main::$168 = score#24 <= hiscore#5 from [856] main::$167 = score#24 > hiscore#5
Successful SSA optimization Pass2UnaryNotSimplification
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
Alias candidate removed (volatile)chrout::petscii = main::$57
Alias memcpy::src#2 = memcpy::src#3
Alias memcpy::dst#2 = memcpy::dst#3
Alias memcpy::src_end#1 = memcpy::src_end#2
Alias memcpy::destination#3 = memcpy::destination#5 memcpy::destination#4 memcpy::return#0 memcpy::return#4 memcpy::return#1
Alias memset::return#0 = memset::str#2 memset::return#4 memset::return#1
Alias memset::str#3 = memset::str#4
Alias memset::num#2 = memset::num#3
Alias memset::c#4 = memset::c#5
Alias memset::c#2 = memset::c#3
Alias memset::dst#2 = memset::dst#3
Alias memset::end#1 = memset::end#2
Alias memset::str#5 = memset::str#6
Alias utoa::value#10 = utoa::value#9 utoa::value#13 utoa::value#14 utoa::value#15 utoa::value#11 utoa::value#16 utoa::value#12
Alias utoa::buffer#11 = utoa::buffer#18 utoa::buffer#22 utoa::buffer#17 utoa::buffer#19 utoa::buffer#14 utoa::buffer#20 utoa::buffer#21 utoa::buffer#7
Alias utoa::radix#2 = utoa::radix#3 utoa::radix#4 utoa::radix#5
Alias utoa::digit#2 = utoa::digit#3 utoa::digit#6 utoa::digit#5
Alias utoa::digit_values#10 = utoa::digit_values#5 utoa::digit_values#6 utoa::digit_values#9
Alias utoa::value#3 = utoa::value#6 utoa::value#4 utoa::value#5
Alias utoa::started#2 = utoa::started#3
Alias utoa::buffer#10 = utoa::buffer#13 utoa::buffer#12 utoa::buffer#8 utoa::buffer#9
Alias utoa::max_digits#10 = utoa::max_digits#8 utoa::max_digits#5 utoa::max_digits#9
Alias utoa::digit_value#0 = utoa::digit_value#1
Alias utoa_append::return#0 = utoa_append::return#3
Alias utoa::value#0 = utoa::$9
Alias utoa_append::digit#2 = utoa_append::digit#4 utoa_append::digit#3
Alias utoa_append::value#2 = utoa_append::value#3 utoa_append::value#4 utoa_append::return#1 utoa_append::return#4 utoa_append::return#2
Alias utoa_append::sub#1 = utoa_append::sub#2
Alias utoa_append::buffer#1 = utoa_append::buffer#4 utoa_append::buffer#2
Alias gotoxy::x#6 = gotoxy::x#7
Alias gotoxy::y#6 = gotoxy::y#7
Alias cputc::c#1 = cputc::c#2
Alias cputs::c#1 = cputs::$0 cputs::c#2
Alias cputs::s#0 = cputs::s#13 cputs::s#12
Alias textcolor::return#0 = textcolor::old#0 textcolor::return#9 textcolor::return#1
Alias divr8u::rem#0 = divr8u::$0 divr8u::rem#7
Alias divr8u::dividend#0 = divr8u::$5 divr8u::dividend#8
Alias divr8u::quotient#1 = divr8u::$6 divr8u::quotient#4
Alias divr8u::dividend#3 = divr8u::dividend#7
Alias divr8u::quotient#6 = divr8u::quotient#7
Alias divr8u::divisor#4 = divr8u::divisor#5
Alias divr8u::i#5 = divr8u::i#6
Alias divr8u::rem#1 = divr8u::$4
Alias divr8u::rem#6 = divr8u::rem#8
Alias divr8u::divisor#2 = divr8u::divisor#3
Alias divr8u::i#3 = divr8u::i#4
Alias divr8u::rem#2 = divr8u::$9
Alias divr8u::rem#11 = divr8u::rem#9
Alias divr8u::return#0 = divr8u::quotient#5 divr8u::quotient#8 divr8u::return#4 divr8u::return#1
Alias rem8u#0 = rem8u#12 rem8u#1
Alias divr8u::dividend#1 = div16u8u::$0
Alias divr8u::return#2 = divr8u::return#5
Alias div16u8u::dividend#1 = div16u8u::dividend#2
Alias div16u8u::divisor#1 = div16u8u::divisor#2
Alias rem8u#13 = rem8u#2
Alias divr8u::dividend#2 = div16u8u::$2
Alias divr8u::return#3 = divr8u::return#6
Alias div16u8u::quotient_hi#0 = div16u8u::quotient_hi#1
Alias rem8u#14 = rem8u#3 rem8u#15 rem8u#4
Alias div16u8u::return#0 = div16u8u::quotient#0 div16u8u::return#3 div16u8u::return#1
Alias z#2 = z#21 z#20 z#65 z#52 z#39 z#22
Alias clear_screen::m#3 = clear_screen::m#4
Alias clear_screen::n#3 = clear_screen::n#4
Alias score#14 = score#39 score#30 score#15 score#31
Alias score#40 = score#49 score#59
Alias score#16 = score#68
Alias score#1 = score#50 score#32 score#41 score#17
Alias wait::n#5 = wait::n#9
Alias z#23 = z#24 z#54
Alias wait::n#10 = wait::n#8 wait::n#7
Alias z#25 = z#40 z#5
Alias div16u8u::dividend#0 = read_chrono::$1
Alias div16u8u::return#2 = div16u8u::return#4
Alias rem8u#16 = rem8u#5 rem8u#24
Alias time#0 = read_chrono::$2 time#9
Alias rem8u#17 = rem8u#6
Alias time#1 = time#10
Alias z#67 = z#75 z#82
Alias rem8u#137 = rem8u#138 rem8u#139
Alias y#124 = y#125 y#126
Alias hiscore#120 = hiscore#121 hiscore#122
Alias n#119 = n#120 n#121
Alias z#55 = z#66
Alias rem8u#135 = rem8u#136
Alias y#122 = y#123
Alias hiscore#118 = hiscore#119
Alias n#117 = n#118
Alias rem8u#127 = rem8u#133 rem8u#134 rem8u#132 rem8u#131 rem8u#130 rem8u#129 rem8u#128
Alias y#114 = y#120 y#121 y#119 y#118 y#117 y#116 y#115
Alias hiscore#110 = hiscore#116 hiscore#117 hiscore#115 hiscore#114 hiscore#113 hiscore#112 hiscore#111
Alias n#109 = n#115 n#116 n#114 n#113 n#112 n#111 n#110
Alias z#26 = z#6 z#98 z#93 z#88 z#83 z#76 z#68
Alias z#42 = z#57
Alias rem8u#113 = rem8u#123 rem8u#126 rem8u#120 rem8u#118 rem8u#116
Alias y#100 = y#110 y#113 y#107 y#105 y#103
Alias hiscore#101 = hiscore#106 hiscore#109 hiscore#103 hiscore#99 hiscore#96
Alias n#100 = n#107 n#108 n#106 n#105 n#103
Alias z#27 = z#7
Alias k#101 = k#20 k#6 k#17 k#98 k#95
Alias rem8u#102 = rem8u#124 rem8u#110 rem8u#121 rem8u#108 rem8u#105
Alias y#108 = y#111 y#97 y#95 y#92 y#89
Alias hiscore#104 = hiscore#107 hiscore#93 hiscore#91 hiscore#88 hiscore#85
Alias n#89 = n#95 n#97 n#92
Alias n#101 = n#13 n#7 n#8 n#104
Alias k#11 = k#21 k#14 k#18 k#7
Alias rem8u#114 = rem8u#125 rem8u#119 rem8u#122 rem8u#117
Alias y#101 = y#112 y#106 y#109 y#104
Alias hiscore#100 = hiscore#108 hiscore#102 hiscore#105 hiscore#97
Alias score#2 = score#92 score#84 score#77 score#69 score#60 score#51
Alias tu#0 = tu#81 tu#79 tu#77 tu#75 tu#71 tu#66
Alias rem8u#100 = rem8u#101 rem8u#99 rem8u#98 rem8u#97 rem8u#95 rem8u#93
Alias y#80 = y#87 y#88 y#86 y#85 y#84 y#82
Alias z#128 = z#135 z#136 z#134 z#133 z#132 z#130
Alias peephole#0 = peephole#85 peephole#84 peephole#83 peephole#82 peephole#80 peephole#78
Alias hiscore#76 = hiscore#83 hiscore#84 hiscore#82 hiscore#81 hiscore#80 hiscore#78
Alias k#86 = k#93 k#94 k#92 k#91 k#90 k#88
Alias n#80 = n#87 n#88 n#86 n#85 n#84 n#82
Alias random::k#0 = main::$25
Alias random::n#0 = main::$27
Alias z#28 = z#43 z#69
Alias rem8u#103 = rem8u#106 rem8u#111
Alias y#90 = y#93 y#98
Alias hiscore#86 = hiscore#89 hiscore#94
Alias k#103 = k#96 k#99
Alias n#90 = n#93 n#98
Alias j#11 = j#23 j#12
Alias z#29 = z#77 z#58 z#70 z#44
Alias rem8u#104 = rem8u#115 rem8u#109 rem8u#112 rem8u#107
Alias y#102 = y#96 y#99 y#94 y#91
Alias hiscore#87 = hiscore#98 hiscore#92 hiscore#95 hiscore#90
Alias k#100 = k#105 k#102 k#104 k#97
Alias n#102 = n#96 n#99 n#94 n#91
Alias z#9 = main::$36
Alias j#13 = j#14 j#15
Alias score#29 = score#61 score#42 score#52
Alias tu#31 = tu#72 tu#58 tu#67 tu#51 tu#43 tu#37
Alias rem8u#80 = rem8u#96 rem8u#92 rem8u#94 rem8u#90 rem8u#88 rem8u#84
Alias y#68 = y#83 y#79 y#81 y#78 y#76 y#72
Alias z#120 = z#131 z#127 z#129 z#126 z#125 z#123
Alias peephole#69 = peephole#81 peephole#77 peephole#79 peephole#76 peephole#75 peephole#72
Alias hiscore#69 = hiscore#79 hiscore#75 hiscore#77 hiscore#74 hiscore#73 hiscore#71
Alias k#79 = k#89 k#85 k#87 k#84 k#83 k#81
Alias n#73 = n#83 n#79 n#81 n#78 n#77 n#75
Alias score#105 = score#3 score#18 score#107
Alias j#16 = j#17 j#18
Alias tu#27 = tu#38 tu#32
Alias score#104 = score#108 score#106
Alias rem8u#77 = rem8u#85 rem8u#81
Alias y#65 = y#73 y#69
Alias z#118 = z#124 z#121
Alias peephole#67 = peephole#73 peephole#70
Alias hiscore#68 = hiscore#72 hiscore#70
Alias k#78 = k#82 k#80
Alias n#72 = n#76 n#74
Alias tu#13 = tu#18 tu#23 tu#6 tu#7 tu#44 tu#59 tu#52 tu#45
Alias score#100 = score#102 score#103 score#97 score#93 score#85 score#98 score#94 score#86
Alias rem8u#48 = rem8u#73 rem8u#75 rem8u#70 rem8u#63 rem8u#55 rem8u#64 rem8u#56 rem8u#49
Alias y#49 = y#61 y#63 y#59 y#56 y#53 y#57 y#54 y#50
Alias z#102 = z#114 z#116 z#112 z#109 z#106 z#110 z#107 z#103
Alias peephole#52 = peephole#63 peephole#65 peephole#61 peephole#58 peephole#55 peephole#59 peephole#56 peephole#53
Alias hiscore#44 = hiscore#65 hiscore#67 hiscore#62 hiscore#56 hiscore#50 hiscore#57 hiscore#51 hiscore#45
Alias k#54 = k#75 k#77 k#72 k#66 k#60 k#67 k#61 k#55
Alias n#52 = n#70 n#71 n#69 n#64 n#58 n#65 n#59 n#53
Alias tu#20 = tu#33 tu#39 tu#28 tu#24
Alias score#44 = score#70 score#78 score#62 score#53
Alias rem8u#32 = rem8u#40 rem8u#44 rem8u#37 rem8u#34
Alias y#36 = y#45 y#47 y#43 y#40
Alias z#78 = z#94 z#99 z#89 z#84
Alias peephole#40 = peephole#48 peephole#50 peephole#46 peephole#42
Alias hiscore#33 = hiscore#38 hiscore#41 hiscore#36 hiscore#34
Alias k#43 = k#48 k#51 k#46 k#44
Alias n#41 = n#46 n#49 n#44 n#42
Alias duck#0 = duck#6
Alias duck#1 = main::$62 duck#37 duck#31
Alias time#18 = time#2
Alias rem8u#25 = rem8u#28 rem8u#86 rem8u#82 rem8u#78 rem8u#91 rem8u#89 rem8u#87 rem8u#83 rem8u#79 rem8u#76 rem8u#74 rem8u#72 rem8u#69 rem8u#61 rem8u#62
Alias time#11 = time#19 time#60 time#59 time#58 time#57 time#56 time#55 time#54 time#53 time#52 time#51 time#50 time#49 time#47 time#48
Alias y#18 = y#26 y#31 y#74 y#70 y#66 y#9 y#77 y#75 y#71 y#67 y#64 y#62 y#60 y#58 y#55 y#51 y#52
Alias peephole#31 = peephole#35 peephole#37 peephole#32 peephole#74 peephole#71 peephole#68 peephole#66 peephole#64 peephole#62 peephole#60 peephole#57 peephole#54 peephole#51 peephole#49 peephole#47 peephole#44 peephole#45
Alias duck#13 = duck#43 duck#25 duck#39 duck#18 duck#7 duck#38 duck#58 duck#57 duck#56 duck#55 duck#54 duck#53 duck#52 duck#51 duck#50 duck#48 duck#49
Alias score#19 = score#87 score#33 score#80 score#79
Alias z#100 = z#71 z#96 z#59 z#45 z#95
Alias tu#14 = tu#73 tu#69 tu#8 tu#68
Alias hiscore#10 = hiscore#66 hiscore#31 hiscore#64 hiscore#30 hiscore#29 hiscore#28 hiscore#63 hiscore#27 hiscore#26 hiscore#24 hiscore#22 hiscore#20 hiscore#18 hiscore#16 hiscore#13 hiscore#5
Alias k#27 = k#76 k#41 k#74 k#40 k#39 k#38 k#73 k#37 k#36 k#35 k#34 k#33 k#32 k#31 k#30 k#29 k#28
Alias rem8u#18 = rem8u#7 rem8u#71
Alias time#12 = time#3 time#40
Alias n#25 = n#38 n#39 n#37 n#36 n#35 n#34 n#33 n#32 n#31 n#30 n#29 n#28 n#27 n#26
Alias score#4 = main::$147
Alias tu#1 = tu#15 tu#9 tu#85 tu#84 tu#83 tu#82 tu#80 tu#78 tu#76 tu#74 tu#70 tu#64 tu#65
Alias score#101 = score#5 score#20 score#99 score#95 score#90 score#82 score#75 score#66 score#57 score#46 score#35 score#24 score#25 hiscore#0
Alias z#10 = z#30 z#49
Alias n#14 = n#2
Alias y#10 = y#19
Alias peephole#26 = peephole#27
Alias duck#32 = duck#33
Alias score#71 = score#72
Alias time#36 = time#37
Alias z#90 = z#91
Alias tu#60 = tu#61
Alias rem8u#65 = rem8u#66
Alias hiscore#58 = hiscore#59
Alias k#68 = k#69
Alias n#66 = n#9
Alias y#11 = y#20
Alias peephole#21 = peephole#22
Alias duck#26 = duck#27
Alias score#63 = score#64
Alias time#31 = time#32
Alias z#85 = z#86
Alias tu#53 = tu#54
Alias rem8u#57 = rem8u#58
Alias hiscore#52 = hiscore#53
Alias k#62 = k#63
Alias n#60 = n#61
Alias y#2 = main::$87
Alias y#12 = y#21
Alias peephole#16 = peephole#17
Alias duck#19 = duck#20
Alias score#54 = score#55
Alias time#27 = time#28
Alias z#79 = z#80
Alias tu#46 = tu#47
Alias rem8u#50 = rem8u#51
Alias hiscore#46 = hiscore#47
Alias k#56 = k#57
Alias n#54 = n#55
Alias y#3 = main::$91
Alias peephole#12 = peephole#6 peephole#33 peephole#28 peephole#23 peephole#29 peephole#24
Alias duck#14 = duck#8 duck#44 duck#40 duck#34 duck#41 duck#35
Alias score#21 = score#34 score#45 score#23
Alias time#13 = time#20 time#23 time#45 time#43 time#41
Alias z#46 = z#61 z#72 z#60 z#47
Alias y#22 = y#38 y#37 y#32 y#27 y#33 y#28
Alias tu#40 = tu#63 tu#62 tu#55 tu#48 tu#56 tu#49
Alias rem8u#45 = rem8u#68 rem8u#67 rem8u#59 rem8u#52 rem8u#60 rem8u#53
Alias hiscore#42 = hiscore#61 hiscore#60 hiscore#54 hiscore#48 hiscore#55 hiscore#49
Alias k#52 = k#71 k#70 k#64 k#58 k#65 k#59
Alias n#50 = n#68 n#67 n#62 n#56 n#63 n#57
Alias score#6 = main::$100
Alias score#22 = score#7 score#88
Alias z#11 = z#31
Alias score#8 = main::$98 score#89
Alias z#12 = z#32
Alias y#35 = y#4 peephole#7 y#41 peephole#43 peephole#39
Alias duck#15 = duck#9 duck#30
Alias time#17 = time#24 time#29
Alias tu#19 = tu#25 tu#29
Alias score#43 = score#56 score#65
Alias rem8u#31 = rem8u#35 rem8u#38
Alias hiscore#32 = hiscore#35 hiscore#37
Alias k#42 = k#45 k#47
Alias n#40 = n#43 n#45
Alias z#13 = z#33
Alias z#14 = z#34
Alias peephole#13 = peephole#8
Alias y#13 = y#14 peephole#1
Alias z#62 = z#63
Alias duck#21 = duck#22
Alias time#33 = time#34
Alias tu#34 = tu#35
Alias score#73 = score#74
Alias rem8u#41 = rem8u#42
Alias hiscore#39 = hiscore#40
Alias k#49 = k#50
Alias n#47 = n#48
Alias z#104 = z#15 z#35 z#122 z#119 z#117 z#115 z#113 z#111 z#108 z#105
Alias z#101 = z#97 z#92 z#87 z#81
Alias k#22 = k#25 k#26 k#24 k#23
Alias n#20 = n#23 n#24 n#22 n#21
Alias peephole#30 = peephole#38 peephole#41 peephole#36 peephole#34
Alias score#67 = score#91 score#96 score#83 score#76
Alias tu#30 = tu#50 tu#57 tu#42 tu#36
Alias duck#36 = duck#46 duck#47 duck#45 duck#42
Alias time#35 = time#44 time#46 time#42 time#39
Alias rem8u#36 = rem8u#47 rem8u#54 rem8u#43 rem8u#39
Alias y#39 = y#46 y#48 y#44 y#42
Alias hiscore#19 = hiscore#25 hiscore#6 hiscore#23 hiscore#21
Alias j#19 = j#6 j#24 j#20 j#7
Alias z#16 = z#56 z#74 z#50 z#36
Alias k#12 = k#15 k#19 k#8 k#2
Alias n#10 = n#17 n#19 n#15 n#3
Alias peephole#14 = peephole#19 peephole#25 peephole#9 peephole#2
Alias score#26 = score#47 score#58 score#36 score#9
Alias tu#10 = tu#21 tu#26 tu#16 tu#2
Alias duck#10 = duck#23 duck#29 duck#16 duck#2
Alias time#14 = time#25 time#30 time#21 time#5
Alias rem8u#19 = rem8u#29 rem8u#33 rem8u#26 rem8u#8
Alias y#15 = y#29 y#34 y#24 y#5
Alias hiscore#1 = hiscore#14 hiscore#17 hiscore#11 hiscore#7
Alias z#17 = z#64 z#51
Alias k#13 = k#16 k#3
Alias n#16 = n#18 n#4
Alias peephole#15 = peephole#20 peephole#3
Alias score#10 = score#48 score#37
Alias tu#17 = tu#22 tu#3
Alias j#25 = j#26 j#8
Alias duck#17 = duck#24 duck#3
Alias time#22 = time#26 time#6
Alias rem8u#27 = rem8u#30 rem8u#9
Alias y#25 = y#30 y#6
Alias hiscore#12 = hiscore#15 hiscore#2
Alias z#18 = z#37 z#38 z#19
Alias k#10 = k#4 k#9 k#5
Alias n#11 = n#5 n#12 n#6
Alias peephole#10 = peephole#4 peephole#11 peephole#5
Alias score#11 = score#27 score#28 score#12
Alias tu#11 = tu#4 tu#12 tu#5
Alias j#10 = j#9 j#21 j#22
Alias duck#11 = duck#4 duck#12 duck#5
Alias time#15 = time#7 time#16 time#8
Alias rem8u#10 = rem8u#20 rem8u#21 rem8u#11
Alias y#16 = y#7 y#17 y#8
Alias hiscore#3 = hiscore#8 hiscore#9 hiscore#4
Successful SSA optimization Pass2AliasElimination
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
Alias candidate removed (volatile)chrout::petscii = main::$57
Alias utoa::value#10 = utoa::value#8
Alias utoa::buffer#11 = utoa::buffer#16
Alias utoa::digit#2 = utoa::digit#4
Alias utoa::max_digits#10 = utoa::max_digits#6
Alias utoa::digit_values#10 = utoa::digit_values#7
Alias gotoxy::x#4 = gotoxy::x#6
Alias gotoxy::y#5 = gotoxy::y#6
Alias divr8u::dividend#3 = divr8u::dividend#4
Alias divr8u::quotient#3 = divr8u::quotient#6
Alias divr8u::divisor#2 = divr8u::divisor#4 divr8u::divisor#7
Alias divr8u::i#2 = divr8u::i#3 divr8u::i#5
Alias divr8u::dividend#0 = divr8u::dividend#6
Alias score#14 = score#16 score#40
Alias rem8u#16 = rem8u#17
Alias time#0 = time#1
Alias n#14 = n#66 n#60 n#54 n#50 n#51
Alias peephole#12 = peephole#26 peephole#31 peephole#21 peephole#16 peephole#18 peephole#30
Alias duck#13 = duck#32 duck#26 duck#19 duck#14 duck#28 duck#36
Alias score#19 = score#71 score#63 score#54 score#21
Alias time#12 = time#36 time#31 time#27 time#13
Alias z#100 = z#90 z#85 z#79 z#46
Alias tu#14 = tu#60 tu#53 tu#46 tu#40 tu#41
Alias rem8u#18 = rem8u#65 rem8u#57 rem8u#50 rem8u#45 rem8u#46
Alias hiscore#10 = hiscore#58 hiscore#52 hiscore#46 hiscore#42 hiscore#43
Alias k#22 = k#68 k#27 k#62 k#56 k#52 k#53
Alias y#22 = y#23
Alias z#48 = z#62
Alias duck#15 = duck#21
Alias time#17 = time#33
Alias tu#19 = tu#34
Alias score#43 = score#73
Alias rem8u#31 = rem8u#41
Alias hiscore#32 = hiscore#39
Alias k#42 = k#49
Alias n#40 = n#47
Alias z#101 = z#104
Alias n#20 = n#25
Alias score#101 = score#67
Alias tu#1 = tu#30
Alias time#11 = time#35
Alias rem8u#25 = rem8u#36
Alias y#18 = y#39
Successful SSA optimization Pass2AliasElimination
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
Alias candidate removed (volatile)chrout::petscii = main::$57
Alias y#13 = y#22
Alias peephole#12 = peephole#13
Alias duck#13 = duck#15
Alias tu#14 = tu#19
Alias rem8u#18 = rem8u#31
Alias hiscore#10 = hiscore#32
Alias k#22 = k#42
Alias n#14 = n#40
Successful SSA optimization Pass2AliasElimination
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
Alias candidate removed (volatile)chrout::petscii = main::$57
Identical Phi Values memcpy::src_end#1 memcpy::src_end#0
Identical Phi Values memcpy::destination#3 memcpy::destination#2
Identical Phi Values memset::end#1 memset::end#0
Identical Phi Values memset::str#5 memset::str#3
Identical Phi Values memset::c#2 memset::c#4
Identical Phi Values utoa::max_digits#10 utoa::max_digits#7
Identical Phi Values utoa::digit_values#10 utoa::digit_values#8
Identical Phi Values utoa_append::value#5 utoa_append::value#0
Identical Phi Values utoa_append::sub#3 utoa_append::sub#0
Identical Phi Values utoa_append::buffer#3 utoa_append::buffer#0
Identical Phi Values utoa_append::sub#1 utoa_append::sub#3
Identical Phi Values utoa_append::buffer#1 utoa_append::buffer#3
Identical Phi Values cputc::c#1 cputc::c#0
Identical Phi Values divr8u::divisor#2 divr8u::divisor#6
Identical Phi Values div16u8u::dividend#1 div16u8u::dividend#0
Identical Phi Values div16u8u::divisor#1 div16u8u::divisor#0
Identical Phi Values rem8u#22 rem8u#23
Identical Phi Values rem8u#13 rem8u#0
Identical Phi Values rem8u#14 rem8u#0
Identical Phi Values clear_screen::m#3 clear_screen::m#5
Identical Phi Values clear_screen::n#3 clear_screen::n#5
Identical Phi Values random::k#3 random::k#4
Identical Phi Values random::n#3 random::n#4
Identical Phi Values score#14 score#38
Identical Phi Values score#1 score#14
Identical Phi Values wait::n#10 wait::n#5
Identical Phi Values rem8u#23 rem8u#25
Identical Phi Values rem8u#16 rem8u#14
Identical Phi Values z#67 z#17
Identical Phi Values rem8u#137 rem8u#27
Identical Phi Values y#124 y#25
Identical Phi Values hiscore#120 hiscore#12
Identical Phi Values n#119 n#16
Identical Phi Values z#55 z#67
Identical Phi Values rem8u#135 rem8u#137
Identical Phi Values y#122 y#124
Identical Phi Values hiscore#118 hiscore#120
Identical Phi Values n#117 n#119
Identical Phi Values z#26 z#2
Identical Phi Values z#42 z#26
Identical Phi Values rem8u#113 rem8u#127
Identical Phi Values y#100 y#114
Identical Phi Values hiscore#101 hiscore#110
Identical Phi Values n#100 n#109
Identical Phi Values z#27 z#2
Identical Phi Values k#11 k#101
Identical Phi Values rem8u#114 rem8u#102
Identical Phi Values y#101 y#108
Identical Phi Values hiscore#100 hiscore#104
Identical Phi Values z#29 z#28
Identical Phi Values rem8u#104 rem8u#103
Identical Phi Values y#102 y#90
Identical Phi Values hiscore#87 hiscore#86
Identical Phi Values k#100 k#103
Identical Phi Values n#102 n#90
Identical Phi Values score#29 score#2
Identical Phi Values tu#31 tu#0
Identical Phi Values rem8u#80 rem8u#100
Identical Phi Values y#68 y#80
Identical Phi Values z#120 z#128
Identical Phi Values peephole#69 peephole#0
Identical Phi Values hiscore#69 hiscore#76
Identical Phi Values k#79 k#86
Identical Phi Values n#73 n#80
Identical Phi Values score#105 score#1
Identical Phi Values tu#27 tu#31
Identical Phi Values score#104 score#105
Identical Phi Values rem8u#77 rem8u#80
Identical Phi Values y#65 y#68
Identical Phi Values z#118 z#120
Identical Phi Values peephole#67 peephole#69
Identical Phi Values hiscore#68 hiscore#69
Identical Phi Values k#78 k#79
Identical Phi Values n#72 n#73
Identical Phi Values tu#20 tu#13
Identical Phi Values score#44 score#100
Identical Phi Values rem8u#32 rem8u#48
Identical Phi Values y#36 y#49
Identical Phi Values z#78 z#102
Identical Phi Values peephole#40 peephole#52
Identical Phi Values hiscore#33 hiscore#44
Identical Phi Values k#43 k#54
Identical Phi Values n#41 n#52
Identical Phi Values tu#14 tu#20
Identical Phi Values duck#13 duck#1
Identical Phi Values hiscore#10 hiscore#33
Identical Phi Values k#22 k#43
Identical Phi Values rem8u#18 rem8u#16
Identical Phi Values time#12 time#0
Identical Phi Values score#101 score#1
Identical Phi Values z#10 z#25
Identical Phi Values score#22 score#1
Identical Phi Values z#11 z#25
Identical Phi Values z#12 z#25
Identical Phi Values z#13 z#25
Identical Phi Values z#14 z#25
Identical Phi Values z#101 z#2
Identical Phi Values z#16 z#101
Identical Phi Values k#12 k#22
Identical Phi Values n#10 n#20
Identical Phi Values peephole#14 peephole#12
Identical Phi Values score#26 score#101
Identical Phi Values tu#10 tu#1
Identical Phi Values duck#10 duck#13
Identical Phi Values time#14 time#11
Identical Phi Values rem8u#19 rem8u#25
Identical Phi Values y#15 y#18
Identical Phi Values hiscore#1 hiscore#19
Identical Phi Values z#18 z#16
Identical Phi Values k#10 k#12
Identical Phi Values n#11 n#10
Identical Phi Values peephole#10 peephole#14
Identical Phi Values score#11 score#26
Identical Phi Values tu#11 tu#10
Identical Phi Values j#10 j#19
Identical Phi Values duck#11 duck#10
Identical Phi Values time#15 time#14
Identical Phi Values rem8u#10 rem8u#19
Identical Phi Values y#16 y#15
Identical Phi Values hiscore#3 hiscore#1
Successful SSA optimization Pass2IdenticalPhiElimination
Identical Phi Values memset::return#0 memset::str#3
Identical Phi Values wait::n#5 wait::n#6
Identical Phi Values rem8u#102 rem8u#127
Identical Phi Values y#108 y#114
Identical Phi Values hiscore#104 hiscore#110
Identical Phi Values rem8u#103 rem8u#102
Identical Phi Values y#90 y#108
Identical Phi Values hiscore#86 hiscore#104
Identical Phi Values k#103 k#101
Identical Phi Values n#90 n#89
Identical Phi Values score#100 score#38
Identical Phi Values hiscore#44 hiscore#76
Identical Phi Values k#54 k#86
Identical Phi Values z#73 z#25
Successful SSA optimization Pass2IdenticalPhiElimination
Identical Phi Values rem8u#100 rem8u#127
Identical Phi Values y#80 y#114
Identical Phi Values hiscore#76 hiscore#110
Identical Phi Values k#86 k#101
Identical Phi Values n#80 n#89
Successful SSA optimization Pass2IdenticalPhiElimination
Identified duplicate assignment right side [290] clear_screen::$5 = $1e00 + z#2
Identified duplicate assignment right side [770] main::$127 = y#35 + 1
Identified duplicate assignment right side [775] main::$130 = y#35 + $16
Identified duplicate assignment right side [780] main::$133 = y#35 + $17
Identified duplicate assignment right side [792] main::$138 = duck#1 + 1
Identified duplicate assignment right side [797] main::$141 = duck#1 + $16
Identified duplicate assignment right side [802] main::$144 = duck#1 + $17
Identified duplicate assignment right side [812] main::$119 = peephole#12 + c
Identified duplicate assignment right side [815] main::$121 = peephole#12 + c
Identified duplicate assignment right side [818] main::$123 = peephole#12 + c
Successful SSA optimization Pass2DuplicateRValueIdentification
Simple Condition memcpy::$1 [7] if(memcpy::src#2!=memcpy::src_end#0) goto memcpy::@2
Simple Condition memset::$1 [14] if(memset::num#2<=0) goto memset::@1
Simple Condition memset::$3 [21] if(memset::dst#2!=memset::end#0) goto memset::@4
Simple Condition utoa::$0 [29] if(utoa::radix#2==DECIMAL) goto utoa::@1
Simple Condition utoa::$1 [33] if(utoa::radix#2==HEXADECIMAL) goto utoa::@2
Simple Condition utoa::$2 [37] if(utoa::radix#2==OCTAL) goto utoa::@3
Simple Condition utoa::$3 [41] if(utoa::radix#2==BINARY) goto utoa::@4
Simple Condition utoa::$5 [58] if(utoa::digit#2<utoa::$4) goto utoa::@11
Simple Condition utoa_append::$0 [83] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2
Simple Condition gotoxy::$1 [90] if(gotoxy::y#4<=$19) goto gotoxy::@1
Simple Condition gotoxy::$3 [93] if(gotoxy::x#4<$28) goto gotoxy::@2
Simple Condition cputc::$0 [108] if(cputc::c#0=='
') goto cputc::@1
Simple Condition cputc::$2 [114] if(conio_cursor_x!=$28) goto cputc::@return
Simple Condition cputs::$2 [129] if(0!=cputs::c#1) goto cputs::@2
Simple Condition cscroll::$1 [138] if(conio_cursor_y!=$19) goto cscroll::@return
Simple Condition cscroll::$7 [140] if(0!=conio_scroll_enable) goto cscroll::@3
Simple Condition conio_c64_init::$1 [170] if(conio_c64_init::line#0<$19) goto conio_c64_init::@1
Simple Condition divr8u::$3 [184] if(divr8u::$1==0) goto divr8u::@2
Simple Condition divr8u::$8 [189] if(divr8u::rem#6<divr8u::divisor#6) goto divr8u::@3
Simple Condition divr8u::$10 [194] if(divr8u::i#1!=rangelast(0,7)) goto divr8u::@1
Simple Condition clear_screen::$2 [220] if(z#2<$1fa) goto clear_screen::@2
Simple Condition write_score::$1 [245] if(score#13<=$fde8) goto write_score::@1
Simple Condition write_score::$9 [251] if(m<4) goto write_score::@7
Simple Condition write_score::$4 [259] if(score#38<=9) goto write_score::@2
Simple Condition write_score::$6 [261] if(score#38<=$63) goto write_score::@3
Simple Condition write_score::$10 [275] if(m<4) goto write_score::@11
Simple Condition wait::$0 [284] if(m<wait::n#6) goto wait::@2
Simple Condition wait::$1 [288] if(z#23<$21c) goto wait::@4
Simple Condition read_chrono::$4 [306] if(time#0>=$a) goto read_chrono::@return
Simple Condition main::$2 [319] if(m<$28) goto main::@2
Simple Condition main::$11 [347] if(l>5) goto main::@4
Simple Condition main::$16 [362] if(k#101<$16) goto main::@7
Simple Condition main::$24 [374] if(l<=1) goto main::@12
Simple Condition main::$18 [377] if(n#101<$16) goto main::@10
Simple Condition main::$31 [410] if(main::$29<=$1f9) goto main::@14
Simple Condition main::$32 [414] if(j#11<=m) goto main::@16
Simple Condition main::$37 [423] if(z#9<$1fa) goto main::@13
Simple Condition main::$44 [426] if(j#13<4) goto main::@19
Simple Condition main::$49 [440] if(j#16<5) goto main::@22
Simple Condition main::$54 [453] if(tu#13<$a) goto main::@24
Simple Condition main::$76 [488] if(time#11<$a) goto main::@28
Simple Condition main::$80 [497] if(main::$78!=0) goto main::@30
Simple Condition main::$157 [519] if(tu#1<$b) goto main::@23
Simple Condition main::$83 [523] if(main::$81!=0) goto main::@31
Simple Condition main::$86 [528] if(main::$84!=0) goto main::@32
Simple Condition main::$90 [533] if(main::$88!=0) goto main::@33
Simple Condition main::$94 [538] if(main::$92!=0) goto main::@34
Simple Condition main::$95 [559] if(peephole#12!=duck#1) goto main::@35
Simple Condition main::$168 [654] if(score#38<=hiscore#110) goto main::@48
Simple Condition main::$176 [674] if(j#19==$b) goto main::@3
Successful SSA optimization Pass2ConditionalJumpSimplification
Rewriting ! if()-condition to reversed if() [63] utoa::$8 = ! utoa::$7
Rewriting || if()-condition to two if()s [62] utoa::$7 = utoa::started#2 || utoa::$6
Rewriting || if()-condition to two if()s [238] random::$2 = random::$0 || random::$1
Rewriting || if()-condition to two if()s [482] main::$74 = main::$71 || main::$73
Rewriting || if()-condition to two if()s [479] main::$71 = main::$68 || main::$70
Rewriting || if()-condition to two if()s [476] main::$68 = main::$65 || main::$67
Rewriting || if()-condition to two if()s [473] main::$65 = main::$63 || main::$64
Rewriting ! if()-condition to reversed if() [555] main::$117 = ! main::$116
Rewriting && if()-condition to two if()s [554] main::$116 = main::$114 && main::$115
Rewriting && if()-condition to two if()s [552] main::$114 = main::$112 && main::$113
Rewriting && if()-condition to two if()s [550] main::$112 = main::$109 && main::$111
Rewriting && if()-condition to two if()s [547] main::$109 = main::$106 && main::$108
Rewriting && if()-condition to two if()s [544] main::$106 = main::$103 && main::$105
Rewriting && if()-condition to two if()s [671] main::$175 = main::$173 && main::$174
Successful SSA optimization Pass2ConditionalAndOrRewriting
Warning! Adding boolean cast to non-boolean condition utoa::started#2
Constant right-side identified [143] memcpy::num#0 = (unumber)$19*$28-$28
Constant right-side identified [148] memcpy::num#1 = (unumber)$19*$28-$28
Constant right-side identified [175] conio_c64_init::line#1 = (unumber)$19-1
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant utoa::max_digits#0 = 0
Constant utoa::digit_values#0 = (unsigned int *) 0
Constant utoa::max_digits#1 = 5
Constant utoa::digit_values#1 = RADIX_DECIMAL_VALUES
Constant utoa::max_digits#2 = 4
Constant utoa::digit_values#2 = RADIX_HEXADECIMAL_VALUES
Constant utoa::max_digits#3 = 6
Constant utoa::digit_values#3 = RADIX_OCTAL_VALUES
Constant utoa::max_digits#4 = $10
Constant utoa::digit_values#4 = RADIX_BINARY_VALUES
Constant utoa::started#0 = 0
Constant utoa::digit#0 = 0
Constant utoa::started#1 = 1
Constant utoa_append::digit#0 = 0
Constant gotoxy::y#0 = 0
Constant gotoxy::x#0 = 0
Constant cputs::c#0 = 0
Constant memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant memcpy::num#0 = (unumber)$19*$28-$28
Constant memcpy::destination#1 = (void *)COLORRAM
Constant memcpy::source#1 = (void *)COLORRAM+$28
Constant memcpy::num#1 = (unumber)$19*$28-$28
Constant memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant memset::c#0 = ' '
Constant memset::num#0 = $28
Constant memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant memset::num#1 = $28
Constant gotoxy::x#1 = 0
Constant gotoxy::y#1 = 0
Constant gotoxy::x#2 = 0
Constant conio_c64_init::line#1 = (unumber)$19-1
Constant divr8u::quotient#0 = 0
Constant divr8u::i#0 = 0
Constant divr8u::rem#3 = 0
Constant z#0 = 0
Constant gotoxy::x#3 = 0
Constant gotoxy::y#3 = 0
Constant score#0 = 0
Constant utoa::buffer#5 = buffer
Constant utoa::radix#0 = $a
Constant z#3 = 0
Constant div16u8u::divisor#0 = $3c
Constant clear_screen::n#0 = $20
Constant clear_screen::m#0 = 0
Constant textcolor::color#0 = 7
Constant cputs::s#1 = intro
Constant textcolor::color#1 = 1
Constant cputs::s#2 = levels
Constant textcolor::color#2 = 2
Constant cputs::s#3 = foot
Constant clear_screen::n#1 = 4
Constant clear_screen::m#1 = 0
Constant k#0 = 1
Constant n#0 = 2
Constant z#8 = 1
Constant peephole#0 = $1f1f
Constant score#2 = 0
Constant tu#0 = 1
Constant j#0 = 0
Constant j#1 = 1
Constant j#4 = 0
Constant random::k#1 = 0
Constant random::n#1 = $ff
Constant random::k#2 = 0
Constant random::n#2 = $ff
Constant time#18 = 0
Constant wait::n#0 = $14
Constant wait::n#1 = $a
Constant wait::n#2 = $a
Constant time#4 = $a
Constant wait::n#3 = 5
Constant wait::n#4 = 5
Constant clear_screen::n#2 = 4
Constant clear_screen::m#2 = 0
Constant textcolor::color#3 = 7
Constant cputs::s#4 = game_over
Constant textcolor::color#4 = 2
Constant cputs::s#5 = your_score
Constant cputs::s#6 = buffer
Constant textcolor::color#5 = 3
Constant cputs::s#7 = high_score
Constant utoa::buffer#6 = buffer
Constant utoa::radix#1 = $a
Constant cputs::s#8 = buffer
Constant textcolor::color#6 = 1
Constant cputs::s#9 = play_again
Constant rem8u#27 = 0
Constant j#25 = 0
Constant k#13 = 0
Constant n#16 = 0
Constant tu#17 = 0
Constant duck#17 = 0
Constant peephole#15 = 0
Constant y#25 = 0
Constant z#17 = 0
Constant time#22 = 0
Constant score#10 = 0
Constant hiscore#12 = 0
Constant conio_scroll_enable = 1
Successful SSA optimization Pass2ConstantIdentification
Constant divr8u::divisor#0 = div16u8u::divisor#0
Constant divr8u::divisor#1 = div16u8u::divisor#0
Successful SSA optimization Pass2ConstantIdentification
if() condition always true - replacing block destination [140] if(0!=conio_scroll_enable) goto cscroll::@3
Successful SSA optimization Pass2ConstantIfs
Resolved ranged next value [192] divr8u::i#1 = ++ divr8u::i#2 to ++
Resolved ranged comparison value [194] if(divr8u::i#1!=rangelast(0,7)) goto divr8u::@1 to 8
Rewriting conditional comparison [90] if(gotoxy::y#4<=$19) goto gotoxy::@1
Rewriting conditional comparison [259] if(score#38<=9) goto write_score::@2
Rewriting conditional comparison [261] if(score#38<=$63) goto write_score::@3
Rewriting conditional comparison [347] if(l>5) goto main::@4
Rewriting conditional comparison [374] if(l<=1) goto main::@12
Simplifying expression containing zero buffer in [262] points[2] = buffer[0]
Simplifying expression containing zero buffer in [270] points[1] = buffer[0]
Successful SSA optimization PassNSimplifyExpressionWithZero
Removing PHI-reference to removed block (cscroll::@2) in block gotoxy
Removing PHI-reference to removed block (cscroll::@2) in block gotoxy
Removing unused block cscroll::@2
Removing unused block cscroll::@8
Successful SSA optimization Pass2EliminateUnusedBlocks
Eliminating unused variable memcpy::return#2 and assignment [105] memcpy::return#2 = memcpy::destination#2
Eliminating unused variable memcpy::return#3 and assignment [107] memcpy::return#3 = memcpy::destination#2
Eliminating unused variable memset::return#2 and assignment [109] memset::return#2 = memset::str#3
Eliminating unused variable memset::return#3 and assignment [112] memset::return#3 = memset::str#3
2022-01-30 20:41:50 +00:00
Eliminating unused variable - keeping the phi block z#41
Eliminating unused variable textcolor::return#2 and assignment [236] textcolor::return#2 = textcolor::return#0
Eliminating unused variable textcolor::return#3 and assignment [239] textcolor::return#3 = textcolor::return#0
Eliminating unused variable textcolor::return#4 and assignment [242] textcolor::return#4 = textcolor::return#0
Eliminating unused variable textcolor::return#5 and assignment [473] textcolor::return#5 = textcolor::return#0
Eliminating unused variable textcolor::return#6 and assignment [476] textcolor::return#6 = textcolor::return#0
Eliminating unused variable textcolor::return#7 and assignment [480] textcolor::return#7 = textcolor::return#0
Eliminating unused variable textcolor::return#8 and assignment [488] textcolor::return#8 = textcolor::return#0
2022-01-30 20:41:50 +00:00
Eliminating unused constant utoa::max_digits#0
Eliminating unused constant utoa::digit_values#0
Eliminating unused constant gotoxy::x#1
Eliminating unused constant gotoxy::y#1
Eliminating unused constant cputs::c#0
Eliminating unused constant j#25
Eliminating unused constant k#13
Eliminating unused constant tu#17
Eliminating unused constant duck#17
Eliminating unused constant peephole#15
Eliminating unused constant time#22
Eliminating unused constant score#10
Eliminating unused constant conio_scroll_enable
Successful SSA optimization PassNEliminateUnusedVars
Eliminating unused variable textcolor::return#0 and assignment [100] textcolor::return#0 = conio_textcolor
2022-01-30 20:41:50 +00:00
Eliminating unused constant z#17
Successful SSA optimization PassNEliminateUnusedVars
Adding number conversion cast (unumber) 0 in utoa::$12 = 0 != utoa::started#2
Adding number conversion cast (unumber) $19+1 in if(gotoxy::y#4<$19+1) goto gotoxy::@1
Adding number conversion cast (unumber) 1 in if(gotoxy::y#4<(unumber)$19+1) goto gotoxy::@1
Adding number conversion cast (unumber) 8 in if(divr8u::i#1!=8) goto divr8u::@1
Adding number conversion cast (unumber) 9+1 in if(score#38<9+1) goto write_score::@2
Adding number conversion cast (unumber) 1 in if(score#38<(unumber)9+1) goto write_score::@2
Adding number conversion cast (unumber) $63+1 in if(score#38<$63+1) goto write_score::@3
Adding number conversion cast (unumber) 1 in if(score#38<(unumber)$63+1) goto write_score::@3
Adding number conversion cast (unumber) 5+1 in if(l>=5+1) goto main::@4
Adding number conversion cast (unumber) 1 in if(l>=(unumber)5+1) goto main::@4
Adding number conversion cast (unumber) 1+1 in if(l<1+1) goto main::@12
Adding number conversion cast (unumber) 1 in if(l<(unumber)1+1) goto main::@12
Successful SSA optimization PassNAddNumberTypeConversions
Simplifying constant integer cast 0
Simplifying constant integer cast $19+(unumber)1
Simplifying constant integer cast 1
Simplifying constant integer cast 8
Simplifying constant integer cast 9+(unumber)1
Simplifying constant integer cast 1
Simplifying constant integer cast $63+(unumber)1
Simplifying constant integer cast 1
Simplifying constant integer cast 5+(unumber)1
Simplifying constant integer cast 1
Simplifying constant integer cast 1+(unumber)1
Simplifying constant integer cast 1
Successful SSA optimization PassNCastSimplification
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 1
Successful SSA optimization PassNFinalizeNumberTypeConversions
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
Alias candidate removed (volatile)chrout::petscii = main::$57
Alias clear_screen::$5 = clear_screen::$3
Alias main::$127 = main::$126
Alias main::$130 = main::$129
Alias main::$133 = main::$132
Alias main::$138 = main::$137
Alias main::$141 = main::$140
Alias main::$144 = main::$143
Alias main::$119 = main::$118 main::$121 main::$123
Successful SSA optimization Pass2AliasElimination
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
Alias candidate removed (volatile)chrout::petscii = main::$57
Simple Condition utoa::$12 [42] if(0!=utoa::started#2) goto utoa::@14
Simple Condition utoa::$6 [56] if(utoa::value#3>=utoa::digit_value#0) goto utoa::@14
Simple Condition random::$0 [162] if(m<random::k#4) goto random::@1
Condition not simple random::$1 [164] if(random::$1) goto random::@1
2022-01-30 20:41:50 +00:00
Introduced intermediate condition variable random::$3 = m
Simple Condition random::$1 [164] if(random::$3>random::n#4) goto random::@1
Simple Condition main::$63 [342] if(duck#1>$1fe3) goto main::@25
Simple Condition main::$103 [397] if(*((char *)y#13)!=brick) goto main::@122
Simple Condition main::$173 [471] if(j#19!=$b) goto main::@123
Simple Condition main::$73 [475] if(*((char *)main::$72)==brick) goto main::@25
Simple Condition main::$70 [476] if(*((char *)main::$69)==brick) goto main::@25
Simple Condition main::$67 [477] if(*((char *)main::$66)==brick) goto main::@25
Simple Condition main::$64 [478] if(*((char *)duck#1)==brick) goto main::@25
Simple Condition main::$115 [479] if(y#13<$1fe3) goto main::@44
Simple Condition main::$113 [480] if(y#13>$1e16) goto main::@118
Simple Condition main::$111 [481] if(*((char *)main::$110)!=brick) goto main::@119
Simple Condition main::$108 [482] if(*((char *)main::$107)!=brick) goto main::@120
Simple Condition main::$105 [483] if(*((char *)main::$104)!=brick) goto main::@121
Simple Condition main::$174 [484] if(j#19!=$1c) goto main::@49
2022-01-30 20:41:50 +00:00
Successful SSA optimization Pass2ConditionalJumpSimplification
Negating conditional jump and destination [397] if(*((char *)y#13)==brick) goto main::@37
Negating conditional jump and destination [471] if(j#19==$b) goto main::@50
Negating conditional jump and destination [479] if(y#13>=$1fe3) goto main::@37
Negating conditional jump and destination [481] if(*((char *)main::$110)==brick) goto main::@37
Negating conditional jump and destination [483] if(*((char *)main::$104)==brick) goto main::@37
2022-01-30 20:41:50 +00:00
Successful SSA optimization Pass2ConditionalJumpSequenceImprovement
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
Alias candidate removed (volatile)chrout::petscii = main::$57
Inlining Noop Cast [1] memcpy::src#0 = (char *)memcpy::source#2 keeping memcpy::source#2
Inlining Noop Cast [2] memcpy::dst#0 = (char *)memcpy::destination#2 keeping memcpy::destination#2
Inlining Noop Cast [3] memcpy::$2 = (char *)memcpy::source#2 keeping memcpy::source#2
Inlining Noop Cast [13] memset::$4 = (char *)memset::str#3 keeping memset::str#3
Inlining Noop Cast [15] memset::dst#0 = (char *)memset::str#3 keeping memset::str#3
Successful SSA optimization Pass2NopCastInlining
Rewriting multiplication to use shift [38] utoa::$10 = utoa::digit#2 * SIZEOF_UNSIGNED_INT
Rewriting multiplication to use shift and addition[69] gotoxy::line_offset#0 = gotoxy::$7 * $28
Rewriting multiplication to use shift [203] read_chrono::$0 = m * $100
Rewriting multiplication to use shift and addition[279] main::$26 = 3 * l
Rewriting multiplication to use shift and addition[390] main::$97 = main::$96 * $a
2022-01-30 20:41:50 +00:00
Successful SSA optimization Pass2MultiplyToShiftRewriting
Inlining constant with var siblings memcpy::destination#0
Inlining constant with var siblings memcpy::source#0
Inlining constant with var siblings memcpy::num#0
Inlining constant with var siblings memcpy::destination#1
Inlining constant with var siblings memcpy::source#1
Inlining constant with var siblings memcpy::num#1
Inlining constant with var siblings memset::str#0
Inlining constant with var siblings memset::c#0
Inlining constant with var siblings memset::num#0
Inlining constant with var siblings memset::str#1
Inlining constant with var siblings memset::num#1
Inlining constant with var siblings utoa::max_digits#1
Inlining constant with var siblings utoa::digit_values#1
Inlining constant with var siblings utoa::max_digits#2
Inlining constant with var siblings utoa::digit_values#2
Inlining constant with var siblings utoa::max_digits#3
Inlining constant with var siblings utoa::digit_values#3
Inlining constant with var siblings utoa::max_digits#4
Inlining constant with var siblings utoa::digit_values#4
Inlining constant with var siblings utoa::started#0
Inlining constant with var siblings utoa::digit#0
Inlining constant with var siblings utoa::started#1
Inlining constant with var siblings utoa::buffer#5
Inlining constant with var siblings utoa::radix#0
Inlining constant with var siblings utoa::buffer#6
Inlining constant with var siblings utoa::radix#1
Inlining constant with var siblings utoa_append::digit#0
Inlining constant with var siblings gotoxy::y#0
Inlining constant with var siblings gotoxy::x#0
Inlining constant with var siblings gotoxy::x#2
Inlining constant with var siblings gotoxy::x#3
Inlining constant with var siblings gotoxy::y#3
Inlining constant with var siblings cputs::s#1
Inlining constant with var siblings cputs::s#2
Inlining constant with var siblings cputs::s#3
Inlining constant with var siblings cputs::s#4
Inlining constant with var siblings cputs::s#5
Inlining constant with var siblings cputs::s#6
Inlining constant with var siblings cputs::s#7
Inlining constant with var siblings cputs::s#8
Inlining constant with var siblings cputs::s#9
Inlining constant with var siblings textcolor::color#0
Inlining constant with var siblings textcolor::color#1
Inlining constant with var siblings textcolor::color#2
Inlining constant with var siblings textcolor::color#3
Inlining constant with var siblings textcolor::color#4
Inlining constant with var siblings textcolor::color#5
Inlining constant with var siblings textcolor::color#6
Inlining constant with var siblings conio_c64_init::line#1
Inlining constant with var siblings divr8u::quotient#0
Inlining constant with var siblings divr8u::i#0
Inlining constant with var siblings divr8u::rem#3
Inlining constant with var siblings divr8u::divisor#0
Inlining constant with var siblings divr8u::divisor#1
Inlining constant with var siblings clear_screen::n#0
Inlining constant with var siblings clear_screen::m#0
Inlining constant with var siblings clear_screen::n#1
Inlining constant with var siblings clear_screen::m#1
Inlining constant with var siblings clear_screen::n#2
Inlining constant with var siblings clear_screen::m#2
Inlining constant with var siblings random::k#1
Inlining constant with var siblings random::n#1
Inlining constant with var siblings random::k#2
Inlining constant with var siblings random::n#2
Inlining constant with var siblings wait::n#0
Inlining constant with var siblings wait::n#1
Inlining constant with var siblings wait::n#2
Inlining constant with var siblings wait::n#3
Inlining constant with var siblings wait::n#4
Inlining constant with var siblings z#0
Inlining constant with var siblings score#0
Inlining constant with var siblings z#3
Inlining constant with var siblings k#0
Inlining constant with var siblings n#0
Inlining constant with var siblings z#8
Inlining constant with var siblings peephole#0
Inlining constant with var siblings score#2
Inlining constant with var siblings tu#0
Inlining constant with var siblings j#0
Inlining constant with var siblings j#1
Inlining constant with var siblings j#4
Inlining constant with var siblings time#18
Inlining constant with var siblings time#4
Inlining constant with var siblings rem8u#27
Inlining constant with var siblings n#16
Inlining constant with var siblings y#25
Inlining constant with var siblings hiscore#12
Constant inlined cputs::s#5 = your_score
Constant inlined utoa::digit_values#1 = RADIX_DECIMAL_VALUES
Constant inlined cputs::s#6 = buffer
Constant inlined cputs::s#3 = foot
Constant inlined utoa::radix#0 = $a
Constant inlined cputs::s#4 = game_over
Constant inlined utoa::radix#1 = $a
Constant inlined utoa::digit_values#4 = RADIX_BINARY_VALUES
Constant inlined cputs::s#1 = intro
Constant inlined cputs::s#2 = levels
Constant inlined wait::n#4 = 5
Constant inlined utoa::digit_values#2 = RADIX_HEXADECIMAL_VALUES
Constant inlined wait::n#3 = 5
Constant inlined utoa::digit_values#3 = RADIX_OCTAL_VALUES
Constant inlined wait::n#2 = $a
Constant inlined wait::n#1 = $a
Constant inlined wait::n#0 = $14
Constant inlined memset::num#1 = $28
Constant inlined memset::num#0 = $28
Constant inlined divr8u::i#0 = 0
Constant inlined random::n#1 = $ff
Constant inlined time#4 = $a
Constant inlined random::n#2 = $ff
Constant inlined rem8u#27 = 0
Constant inlined clear_screen::m#0 = 0
Constant inlined tu#0 = 1
Constant inlined clear_screen::m#1 = 0
Constant inlined k#0 = 1
Constant inlined clear_screen::m#2 = 0
Constant inlined divr8u::rem#3 = 0
Constant inlined memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant inlined score#2 = 0
Constant inlined textcolor::color#6 = 1
Constant inlined gotoxy::x#3 = 0
Constant inlined utoa::buffer#6 = buffer
Constant inlined time#18 = 0
Constant inlined utoa::buffer#5 = buffer
Constant inlined gotoxy::x#0 = 0
Constant inlined gotoxy::x#2 = 0
Constant inlined utoa::max_digits#1 = 5
Constant inlined utoa::max_digits#2 = 4
Constant inlined utoa::max_digits#3 = 6
Constant inlined y#25 = 0
Constant inlined memset::c#0 = ' '
Constant inlined utoa::max_digits#4 = $10
Constant inlined cputs::s#9 = play_again
Constant inlined cputs::s#7 = high_score
Constant inlined cputs::s#8 = buffer
Constant inlined utoa_append::digit#0 = 0
Constant inlined divr8u::divisor#1 = div16u8u::divisor#0
Constant inlined divr8u::divisor#0 = div16u8u::divisor#0
Constant inlined hiscore#12 = 0
Constant inlined memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant inlined memcpy::destination#1 = (void *)COLORRAM
Constant inlined textcolor::color#3 = 7
Constant inlined textcolor::color#2 = 2
Constant inlined textcolor::color#5 = 3
Constant inlined conio_c64_init::line#1 = (char)$19-1
Constant inlined score#0 = 0
Constant inlined memcpy::source#1 = (void *)COLORRAM+$28
Constant inlined textcolor::color#4 = 2
Constant inlined utoa::digit#0 = 0
Constant inlined textcolor::color#1 = 1
Constant inlined j#0 = 0
Constant inlined textcolor::color#0 = 7
Constant inlined clear_screen::n#0 = $20
Constant inlined j#1 = 1
Constant inlined clear_screen::n#1 = 4
Constant inlined n#0 = 2
Constant inlined j#4 = 0
Constant inlined clear_screen::n#2 = 4
Constant inlined random::k#2 = 0
Constant inlined random::k#1 = 0
Constant inlined memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant inlined memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant inlined z#0 = 0
Constant inlined n#16 = 0
Constant inlined utoa::started#1 = 1
Constant inlined utoa::started#0 = 0
Constant inlined z#3 = 0
Constant inlined z#8 = 1
Constant inlined memcpy::num#1 = (unsigned int)$19*$28-$28
Constant inlined divr8u::quotient#0 = 0
Constant inlined memcpy::num#0 = (unsigned int)$19*$28-$28
Constant inlined gotoxy::y#3 = 0
Constant inlined peephole#0 = $1f1f
Constant inlined gotoxy::y#0 = 0
Successful SSA optimization Pass2ConstantInlining
Consolidated array index constant in *(points+2)
Consolidated array index constant in *(buffer+1)
Consolidated array index constant in *(points+3)
Consolidated array index constant in *(points+1)
Consolidated array index constant in *(buffer+1)
Consolidated array index constant in *(points+2)
Consolidated array index constant in *(buffer+2)
Consolidated array index constant in *(points+3)
Consolidated constant in assignment main::$152
Consolidated constant in assignment main::$154
Consolidated constant in assignment main::$156
Successful SSA optimization Pass2ConstantAdditionElimination
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
Alias candidate removed (volatile)chrout::petscii = main::$57
Alias gotoxy::line_offset#0 = gotoxy::$10
Alias main::$26 = main::$178
Alias main::$97 = main::$181
Successful SSA optimization Pass2AliasElimination
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
Alias candidate removed (volatile)chrout::petscii = main::$57
Identical Phi Values memcpy::num#2 (unsigned int)$19*$28-$28
Identical Phi Values memset::num#2 $28
Identical Phi Values utoa::radix#2 $a
Identical Phi Values utoa::buffer#11 buffer
Identical Phi Values gotoxy::x#4 0
Identical Phi Values divr8u::divisor#6 div16u8u::divisor#0
Identical Phi Values clear_screen::m#5 0
Successful SSA optimization Pass2IdenticalPhiElimination
Identical Phi Values gotoxy::x#5 0
Successful SSA optimization Pass2IdenticalPhiElimination
Constant right-side identified [22] utoa::buffer#0 = ++ buffer
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant utoa::buffer#0 = ++buffer
Successful SSA optimization Pass2ConstantIdentification
if() condition always false - eliminating [9] if($28<=0) goto memset::@1
if() condition always true - replacing block destination [17] if($a==DECIMAL) goto utoa::@1
if() condition always false - eliminating [18] if($a==HEXADECIMAL) goto utoa::@2
if() condition always false - eliminating [19] if($a==OCTAL) goto utoa::@3
if() condition always false - eliminating [20] if($a==BINARY) goto utoa::@4
if() condition always true - replacing block destination [59] if(0<$28) goto gotoxy::@2
2022-01-30 20:41:50 +00:00
Successful SSA optimization Pass2ConstantIfs
Eliminating variable utoa::buffer#1 from unused block utoa::@9
Eliminating variable utoa::buffer#2 from unused block utoa::@9
Removing unused block utoa::@6
Removing PHI-reference to removed block (utoa::@2) in block utoa::@5
Removing PHI-reference to removed block (utoa::@2) in block utoa::@5
Removing unused block utoa::@2
Removing unused block utoa::@7
Removing PHI-reference to removed block (utoa::@3) in block utoa::@5
Removing PHI-reference to removed block (utoa::@3) in block utoa::@5
Removing unused block utoa::@3
Removing unused block utoa::@8
Removing PHI-reference to removed block (utoa::@4) in block utoa::@5
Removing PHI-reference to removed block (utoa::@4) in block utoa::@5
Removing unused block utoa::@4
Removing unused block utoa::@9
Removing unused block gotoxy::@4
Successful SSA optimization Pass2EliminateUnusedBlocks
Eliminating unused constant BINARY
Eliminating unused constant OCTAL
Eliminating unused constant DECIMAL
Eliminating unused constant HEXADECIMAL
Eliminating unused constant utoa::buffer#0
Eliminating unused constant RADIX_BINARY_VALUES
Eliminating unused constant RADIX_OCTAL_VALUES
Eliminating unused constant RADIX_HEXADECIMAL_VALUES
Eliminating unused constant SIZEOF_UNSIGNED_INT
Successful SSA optimization PassNEliminateUnusedVars
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
Alias candidate removed (volatile)chrout::petscii = main::$57
Identical Phi Values utoa::max_digits#7 5
Identical Phi Values utoa::digit_values#8 RADIX_DECIMAL_VALUES
Successful SSA optimization Pass2IdenticalPhiElimination
Constant right-side identified [19] utoa::$4 = 5 - 1
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant utoa::$4 = 5-1
Successful SSA optimization Pass2ConstantIdentification
Constant inlined utoa::$4 = 5-1
Successful SSA optimization Pass2ConstantInlining
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
Alias candidate removed (volatile)chrout::petscii = main::$57
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
Alias candidate removed (volatile)chrout::petscii = main::$57
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) $a
Finalized unsigned number type (char) $10
Finalized unsigned number type (char) $b
Finalized unsigned number type (char) $b
Finalized unsigned number type (char) $19
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $19
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $19
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $19
Finalized unsigned number type (char) 1
Successful SSA optimization PassNFinalizeNumberTypeConversions
Simplifying constant integer cast $19-1
Successful SSA optimization PassNCastSimplification
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
Alias candidate removed (volatile)chrout::petscii = main::$57
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
Alias candidate removed (volatile)chrout::petscii = main::$57
Added new block during phi lifting utoa::@17(between utoa::@16 and utoa::@13)
Added new block during phi lifting gotoxy::@5(between gotoxy and gotoxy::@1)
Added new block during phi lifting conio_c64_init::@4(between conio_c64_init and conio_c64_init::@1)
Added new block during phi lifting divr8u::@7(between divr8u::@3 and divr8u::@1)
Added new block during phi lifting divr8u::@8(between divr8u::@1 and divr8u::@2)
Added new block during phi lifting divr8u::@9(between divr8u::@2 and divr8u::@3)
Added new block during phi lifting write_score::@16(between write_score and write_score::@1)
Added new block during phi lifting main::@124(between main::@50 and main::@3)
Added new block during phi lifting main::@125(between main::@76 and main::@12)
Added new block during phi lifting main::@126(between main::@78 and main::@12)
Added new block during phi lifting main::@127(between main::@78 and main::@13)
Added new block during phi lifting main::@128(between main::@95 and main::@23)
Added new block during phi lifting main::@129(between main::@21 and main::@23)
Fixing phi predecessor for tu#13 to new block ( main::@21 -> main::@129 ) during phi lifting.
Fixing phi predecessor for peephole#52 to new block ( main::@21 -> main::@129 ) during phi lifting.
Added new block during phi lifting main::@130(between main::@93 and main::@30)
Added new block during phi lifting main::@131(between main::@30 and main::@31)
Added new block during phi lifting main::@132(between main::@31 and main::@32)
Added new block during phi lifting main::@133(between main::@32 and main::@33)
Added new block during phi lifting main::@134(between main::@33 and main::@34)
Added new block during phi lifting main::@135(between main::@34 and main::@37)
Added new block during phi lifting main::@136(between main::@109 and main::@48)
Adding NOP phi() at start of __start
Adding NOP phi() at start of __start::@2
Adding NOP phi() at start of __start::@1
Adding NOP phi() at start of __start::@3
Adding NOP phi() at start of conio_c64_init::@2
Adding NOP phi() at start of conio_c64_init::@3
Adding NOP phi() at start of main::@54
Adding NOP phi() at start of main::@55
Adding NOP phi() at start of main::@56
Adding NOP phi() at start of main::@57
Adding NOP phi() at start of main::@58
Adding NOP phi() at start of main::@59
Adding NOP phi() at start of main::@60
Adding NOP phi() at start of main::@5
Adding NOP phi() at start of main::@20
Adding NOP phi() at start of main::@89
Adding NOP phi() at start of main::@25
Adding NOP phi() at start of main::@26
Adding NOP phi() at start of main::@45
Adding NOP phi() at start of main::@102
Adding NOP phi() at start of main::@103
Adding NOP phi() at start of main::@104
Adding NOP phi() at start of main::@105
Adding NOP phi() at start of main::@106
Adding NOP phi() at start of main::@107
Adding NOP phi() at start of main::@108
Adding NOP phi() at start of main::@110
Adding NOP phi() at start of main::@111
Adding NOP phi() at start of main::@112
Adding NOP phi() at start of main::@113
Adding NOP phi() at start of main::@28
Adding NOP phi() at start of main::@87
Adding NOP phi() at start of main::@14
Adding NOP phi() at start of main::@65
Adding NOP phi() at start of gotoxy::@3
Adding NOP phi() at start of clear_screen::@3
Adding NOP phi() at start of clear_screen::@5
Adding NOP phi() at start of write_score::@4
Adding NOP phi() at start of wait::@2
Adding NOP phi() at start of utoa::@1
Adding NOP phi() at start of cputc::@3
Adding NOP phi() at start of cputc::@5
Adding NOP phi() at start of cputc::@1
Adding NOP phi() at start of cputc::@4
Adding NOP phi() at start of cputln::@1
Adding NOP phi() at start of cscroll::@1
Adding NOP phi() at start of cscroll::@3
Adding NOP phi() at start of cscroll::@4
Adding NOP phi() at start of cscroll::@5
Adding NOP phi() at start of memcpy::@3
Adding NOP phi() at start of memset::@1
CALL GRAPH
Calls in [__start] to conio_c64_init:8 main:11
Calls in [conio_c64_init] to gotoxy:20
Calls in [main] to chrout:26 chrout:28 clear_screen:32 textcolor:34 cputs:36 textcolor:38 cputs:40 textcolor:42 cputs:44 clear_screen:50 chrout:53 chrout:55 chrout:57 chrout:62 chrout:66 random:75 chrout:82 chrout:84 chrout:86 chrout:88 chrout:90 chrout:92 write_score:97 chrout:99 chrout:101 chrout:111 chrout:113 chrout:115 chrout:119 chrout:121 random:124 random:126 chrono_restart:138 write_score:150 wait:153 clear_screen:168 chrout:171 textcolor:173 cputs:175 textcolor:177 cputs:179 cputs:181 textcolor:183 cputs:185 utoa:191 cputs:193 textcolor:195 cputs:197 read_chrono:217 wait:252 wait:283 wait:300 write_score:323 wait:325 chrout:337 chrout:340 chrout:344 chrout:351 chrout:358 chrout:362 chrout:367 chrout:372
Calls in [clear_screen] to gotoxy:400 chrout:402
Calls in [cputs] to cputc:422
Calls in [write_score] to utoa:438 chrout:447 chrout:449 chrout:455
Calls in [utoa] to utoa_append:501
Calls in [read_chrono] to div16u8u:510
Calls in [cputc] to cputln:525 cputln:529
Calls in [div16u8u] to divr8u:542 divr8u:549
Calls in [cputln] to cscroll:558
Calls in [cscroll] to memcpy:593 memcpy:595 memset:597 memset:600
Created 78 initial phi equivalence classes
Coalesced [19] gotoxy::y#8 = gotoxy::y#2
Coalesced [23] conio_c64_init::line#3 = conio_c64_init::line#0
Coalesced [58] n#123 = n#109
Coalesced [73] random::k#5 = random::k#0
Coalesced [74] random::n#5 = random::n#0
Coalesced [78] z#146 = z#28
Coalesced [105] rem8u#141 = rem8u#127
Coalesced [106] y#128 = y#114
Coalesced [107] z#149 = z#128
Coalesced [108] n#126 = n#89
Coalesced [139] score#113 = score#38
Coalesced [140] rem8u#144 = rem8u#48
Coalesced [141] y#131 = y#49
Coalesced [142] z#152 = z#102
Coalesced [143] peephole#88 = peephole#52
Coalesced [144] n#129 = n#52
Coalesced [149] score#109 = score#4
Coalesced [152] z#140 = z#100
Coalesced [187] hiscore#125 = score#38
Coalesced [190] utoa::value#17 = utoa::value#2
Coalesced (already) [205] rem8u#140 = rem8u#25
Coalesced (already) [206] y#127 = y#18
Not coalescing [207] hiscore#123 = hiscore#19
Coalesced (already) [208] n#122 = n#20
Not coalescing [209] hiscore#124 = hiscore#110
Coalesced [210] tu#86 = tu#1
Coalesced (already) [211] rem8u#142 = rem8u#25
Coalesced (already) [212] y#129 = y#18
Coalesced [213] z#150 = z#25
Coalesced (already) [214] peephole#86 = peephole#12
Coalesced (already) [215] n#127 = n#20
Coalesced [225] y#132 = y#0
Coalesced [230] y#135 = y#1
Coalesced [235] y#137 = y#2
Coalesced [240] y#139 = y#3
Coalesced (already) [251] z#139 = z#100
Coalesced [253] score#117 = score#8
Coalesced [256] z#154 = z#25
Coalesced [257] time#63 = time#38
Coalesced [258] score#115 = score#81
Coalesced (already) [282] z#138 = z#48
Coalesced (already) [299] z#142 = z#25
Coalesced [301] time#61 = time#17
Coalesced [302] score#112 = score#43
Coalesced [303] rem8u#143 = rem8u#0
Not coalescing [304] y#130 = y#35
Coalesced (already) [305] z#151 = z#25
Coalesced [306] peephole#87 = y#35
Coalesced [307] n#128 = n#14
Not coalescing [319] y#141 = y#13
Coalesced (already) [320] y#140 = peephole#12
Coalesced [322] score#110 = score#6
Coalesced (already) [324] z#141 = z#100
Coalesced [326] time#64 = time#0
Coalesced (already) [327] score#116 = score#38
Coalesced (already) [328] z#153 = z#100
Coalesced (already) [329] time#62 = time#0
Coalesced (already) [330] score#114 = score#19
Coalesced [331] y#138 = y#12
Coalesced [332] y#136 = y#11
Coalesced [333] y#134 = y#10
Coalesced [334] y#133 = y#18
Coalesced [342] j#29 = j#5
Coalesced [346] j#28 = j#3
Coalesced [355] z#147 = z#9
Coalesced (already) [356] z#148 = z#9
Coalesced [360] j#27 = j#2
Coalesced [369] k#106 = k#1
Coalesced [370] n#124 = n#101
Coalesced [374] n#125 = n#1
Coalesced [393] gotoxy::y#9 = gotoxy::y#4
Coalesced [410] z#137 = z#1
Coalesced [415] cputs::s#14 = cputs::s#11
Coalesced [423] cputs::s#15 = cputs::s#0
Coalesced [437] utoa::value#18 = utoa::value#1
Coalesced [459] score#111 = score#13
Coalesced (already) [464] z#143 = z#53
Coalesced [472] z#144 = z#23
Coalesced [474] z#145 = z#4
Coalesced [477] utoa::value#20 = utoa::value#10
Coalesced [489] utoa::value#21 = utoa::value#3
Coalesced [490] utoa::started#6 = utoa::started#2
Coalesced [491] utoa::buffer#24 = utoa::buffer#10
Coalesced [494] utoa::digit#7 = utoa::digit#1
Coalesced (already) [495] utoa::value#19 = utoa::value#7
Coalesced (already) [496] utoa::started#5 = utoa::started#4
Coalesced (already) [497] utoa::buffer#23 = utoa::buffer#15
Coalesced [505] utoa::value#22 = utoa::value#0
Coalesced [506] utoa::buffer#25 = utoa::buffer#4
Coalesced [512] time#0 = div16u8u::return#2
Coalesced [531] utoa_append::value#6 = utoa_append::value#0
Coalesced [538] utoa_append::value#7 = utoa_append::value#1
Coalesced [539] utoa_append::digit#5 = utoa_append::digit#1
Coalesced [541] divr8u::dividend#9 = divr8u::dividend#1
Coalesced [547] divr8u::rem#12 = divr8u::rem#4
Coalesced [548] divr8u::dividend#10 = divr8u::dividend#2
Coalesced [562] divr8u::rem#13 = divr8u::rem#10
Coalesced [563] divr8u::dividend#11 = divr8u::dividend#5
Coalesced [569] divr8u::rem#16 = divr8u::rem#1
Coalesced [576] divr8u::rem#18 = divr8u::rem#2
Coalesced [577] divr8u::return#8 = divr8u::quotient#2
Coalesced [581] rem8u#0 = divr8u::rem#11
Coalesced [583] divr8u::rem#14 = divr8u::rem#11
Coalesced [584] divr8u::dividend#12 = divr8u::dividend#0
Coalesced [585] divr8u::quotient#9 = divr8u::return#0
Coalesced [586] divr8u::i#7 = divr8u::i#1
Coalesced [587] divr8u::rem#17 = divr8u::rem#6
Coalesced [588] divr8u::return#7 = divr8u::quotient#1
Coalesced [589] divr8u::rem#15 = divr8u::rem#0
Coalesced [599] memset::c#6 = memset::c#1
Coalesced [616] memcpy::src#5 = memcpy::src#1
Coalesced [617] memcpy::dst#5 = memcpy::dst#1
Coalesced [627] memset::dst#5 = memset::dst#1
Coalesced down to 38 phi equivalence classes
Culled Empty Block label __start::@2
Culled Empty Block label __start::@3
Culled Empty Block label conio_c64_init::@2
Culled Empty Block label conio_c64_init::@3
Culled Empty Block label main::@60
Culled Empty Block label main::@64
Culled Empty Block label main::@125
Culled Empty Block label main::@129
Culled Empty Block label main::@89
Culled Empty Block label main::@92
Culled Empty Block label main::@46
Culled Empty Block label main::@113
Culled Empty Block label main::@128
Culled Empty Block label main::@98
Culled Empty Block label main::@135
Culled Empty Block label main::@97
Culled Empty Block label main::@134
Culled Empty Block label main::@133
Culled Empty Block label main::@132
Culled Empty Block label main::@131
Culled Empty Block label main::@130
Culled Empty Block label main::@87
Culled Empty Block label main::@14
Culled Empty Block label main::@126
Culled Empty Block label main::@127
Culled Empty Block label main::@65
Culled Empty Block label gotoxy::@3
Culled Empty Block label clear_screen::@5
Culled Empty Block label cputs::@3
Culled Empty Block label write_score::@4
Culled Empty Block label wait::@2
Culled Empty Block label utoa::@1
Culled Empty Block label utoa::@5
Culled Empty Block label utoa::@17
Culled Empty Block label cputc::@5
Culled Empty Block label cputc::@4
Culled Empty Block label cputln::@1
Culled Empty Block label divr8u::@6
Culled Empty Block label divr8u::@7
Culled Empty Block label divr8u::@9
Culled Empty Block label divr8u::@8
Culled Empty Block label cscroll::@1
Culled Empty Block label memcpy::@3
Culled Empty Block label memset::@1
Renumbering block memset::@2 to memset::@1
Renumbering block memset::@3 to memset::@2
Renumbering block memset::@4 to memset::@3
Renumbering block utoa::@10 to utoa::@1
Renumbering block utoa::@11 to utoa::@2
Renumbering block utoa::@12 to utoa::@3
Renumbering block utoa::@13 to utoa::@4
Renumbering block utoa::@14 to utoa::@5
Renumbering block utoa::@15 to utoa::@6
Renumbering block utoa::@16 to utoa::@7
Renumbering block gotoxy::@5 to gotoxy::@3
Renumbering block cscroll::@3 to cscroll::@1
Renumbering block cscroll::@4 to cscroll::@2
Renumbering block cscroll::@5 to cscroll::@3
Renumbering block cscroll::@6 to cscroll::@4
Renumbering block cscroll::@7 to cscroll::@5
Renumbering block conio_c64_init::@4 to conio_c64_init::@2
Renumbering block write_score::@5 to write_score::@4
Renumbering block write_score::@6 to write_score::@5
Renumbering block write_score::@7 to write_score::@6
Renumbering block write_score::@8 to write_score::@7
Renumbering block write_score::@9 to write_score::@8
Renumbering block write_score::@10 to write_score::@9
Renumbering block write_score::@11 to write_score::@10
Renumbering block write_score::@12 to write_score::@11
Renumbering block write_score::@13 to write_score::@12
Renumbering block write_score::@14 to write_score::@13
Renumbering block write_score::@15 to write_score::@14
Renumbering block write_score::@16 to write_score::@15
Renumbering block wait::@3 to wait::@2
Renumbering block wait::@4 to wait::@3
Renumbering block wait::@5 to wait::@4
Renumbering block main::@15 to main::@14
Renumbering block main::@16 to main::@15
Renumbering block main::@17 to main::@16
Renumbering block main::@18 to main::@17
Renumbering block main::@19 to main::@18
Renumbering block main::@20 to main::@19
Renumbering block main::@21 to main::@20
Renumbering block main::@22 to main::@21
Renumbering block main::@23 to main::@22
Renumbering block main::@24 to main::@23
Renumbering block main::@25 to main::@24
Renumbering block main::@26 to main::@25
Renumbering block main::@27 to main::@26
Renumbering block main::@28 to main::@27
Renumbering block main::@29 to main::@28
Renumbering block main::@30 to main::@29
Renumbering block main::@31 to main::@30
Renumbering block main::@32 to main::@31
Renumbering block main::@33 to main::@32
Renumbering block main::@34 to main::@33
Renumbering block main::@35 to main::@34
Renumbering block main::@36 to main::@35
Renumbering block main::@37 to main::@36
Renumbering block main::@38 to main::@37
Renumbering block main::@39 to main::@38
Renumbering block main::@40 to main::@39
Renumbering block main::@41 to main::@40
Renumbering block main::@42 to main::@41
Renumbering block main::@43 to main::@42
Renumbering block main::@44 to main::@43
Renumbering block main::@45 to main::@44
Renumbering block main::@47 to main::@45
Renumbering block main::@48 to main::@46
Renumbering block main::@49 to main::@47
Renumbering block main::@50 to main::@48
Renumbering block main::@51 to main::@49
Renumbering block main::@52 to main::@50
Renumbering block main::@53 to main::@51
Renumbering block main::@54 to main::@52
Renumbering block main::@55 to main::@53
Renumbering block main::@56 to main::@54
Renumbering block main::@57 to main::@55
Renumbering block main::@58 to main::@56
Renumbering block main::@59 to main::@57
Renumbering block main::@61 to main::@58
Renumbering block main::@62 to main::@59
Renumbering block main::@63 to main::@60
Renumbering block main::@66 to main::@61
Renumbering block main::@67 to main::@62
Renumbering block main::@68 to main::@63
Renumbering block main::@69 to main::@64
Renumbering block main::@70 to main::@65
Renumbering block main::@71 to main::@66
Renumbering block main::@72 to main::@67
Renumbering block main::@73 to main::@68
Renumbering block main::@74 to main::@69
Renumbering block main::@75 to main::@70
Renumbering block main::@76 to main::@71
Renumbering block main::@77 to main::@72
Renumbering block main::@78 to main::@73
Renumbering block main::@79 to main::@74
Renumbering block main::@80 to main::@75
Renumbering block main::@81 to main::@76
Renumbering block main::@82 to main::@77
Renumbering block main::@83 to main::@78
Renumbering block main::@84 to main::@79
Renumbering block main::@85 to main::@80
Renumbering block main::@86 to main::@81
Renumbering block main::@88 to main::@82
Renumbering block main::@90 to main::@83
Renumbering block main::@91 to main::@84
Renumbering block main::@93 to main::@85
Renumbering block main::@94 to main::@86
Renumbering block main::@95 to main::@87
Renumbering block main::@96 to main::@88
Renumbering block main::@99 to main::@89
Renumbering block main::@100 to main::@90
Renumbering block main::@101 to main::@91
Renumbering block main::@102 to main::@92
Renumbering block main::@103 to main::@93
Renumbering block main::@104 to main::@94
Renumbering block main::@105 to main::@95
Renumbering block main::@106 to main::@96
Renumbering block main::@107 to main::@97
Renumbering block main::@108 to main::@98
Renumbering block main::@109 to main::@99
Renumbering block main::@110 to main::@100
Renumbering block main::@111 to main::@101
Renumbering block main::@112 to main::@102
Renumbering block main::@114 to main::@103
Renumbering block main::@115 to main::@104
Renumbering block main::@116 to main::@105
Renumbering block main::@117 to main::@106
Renumbering block main::@118 to main::@107
Renumbering block main::@119 to main::@108
Renumbering block main::@120 to main::@109
Renumbering block main::@121 to main::@110
Renumbering block main::@122 to main::@111
Renumbering block main::@123 to main::@112
Renumbering block main::@124 to main::@113
Renumbering block main::@136 to main::@114
Adding NOP phi() at start of __start
Adding NOP phi() at start of __start::@1
Adding NOP phi() at start of conio_c64_init::@2
Adding NOP phi() at start of main::@52
Adding NOP phi() at start of main::@53
Adding NOP phi() at start of main::@54
Adding NOP phi() at start of main::@55
Adding NOP phi() at start of main::@56
Adding NOP phi() at start of main::@57
Adding NOP phi() at start of main::@5
Adding NOP phi() at start of main::@19
Adding NOP phi() at start of main::@24
Adding NOP phi() at start of main::@25
Adding NOP phi() at start of main::@44
Adding NOP phi() at start of main::@92
Adding NOP phi() at start of main::@93
Adding NOP phi() at start of main::@94
Adding NOP phi() at start of main::@95
Adding NOP phi() at start of main::@96
Adding NOP phi() at start of main::@97
Adding NOP phi() at start of main::@98
Adding NOP phi() at start of main::@100
Adding NOP phi() at start of main::@101
Adding NOP phi() at start of main::@102
Adding NOP phi() at start of main::@27
Adding NOP phi() at start of main::@88
Adding NOP phi() at start of gotoxy::@3
Adding NOP phi() at start of clear_screen::@3
Adding NOP phi() at start of write_score::@15
Adding NOP phi() at start of cputc::@3
Adding NOP phi() at start of cputc::@1
Adding NOP phi() at start of utoa_append
Adding NOP phi() at start of cscroll::@1
Adding NOP phi() at start of cscroll::@2
Adding NOP phi() at start of cscroll::@3
FINAL CONTROL FLOW GRAPH
void __start()
__start: scope:[__start] from
[0] phi()
to:__start::__init1
__start::__init1: scope:[__start] from __start
[1] conio_cursor_x = 0
[2] conio_cursor_y = 0
[3] conio_line_text = DEFAULT_SCREEN
[4] conio_line_color = COLORRAM
[5] conio_textcolor = LIGHT_BLUE
[6] l = 0
[7] m = 0
[8] call conio_c64_init
to:__start::@1
__start::@1: scope:[__start] from __start::__init1
[9] phi()
[10] call main
to:__start::@return
__start::@return: scope:[__start] from __start::@1
[11] return
to:@return
void conio_c64_init()
conio_c64_init: scope:[conio_c64_init] from __start::__init1
[12] conio_c64_init::line#0 = *conio_c64_init::BASIC_CURSOR_LINE
[13] if(conio_c64_init::line#0<$19) goto conio_c64_init::@2
to:conio_c64_init::@1
conio_c64_init::@2: scope:[conio_c64_init] from conio_c64_init
[14] phi()
to:conio_c64_init::@1
conio_c64_init::@1: scope:[conio_c64_init] from conio_c64_init conio_c64_init::@2
[15] conio_c64_init::line#2 = phi( conio_c64_init::@2/conio_c64_init::line#0, conio_c64_init/$19-1 )
[16] gotoxy::y#2 = conio_c64_init::line#2
[17] call gotoxy
to:conio_c64_init::@return
conio_c64_init::@return: scope:[conio_c64_init] from conio_c64_init::@1
[18] return
to:@return
void main()
main: scope:[main] from __start::@1
[19] *((char *) 36879) = 8
[20] chrout::petscii = lock
[21] call chrout
to:main::@50
main::@50: scope:[main] from main
[22] chrout::petscii = lower
[23] call chrout
to:main::@51
main::@51: scope:[main] from main::@50
[24] m = 0
to:main::@1
main::@1: scope:[main] from main::@2 main::@51
[25] if(m<$28) goto main::@2
to:main::@3
main::@3: scope:[main] from main::@1 main::@113
[26] n#109 = phi( main::@1/0, main::@113/n#20 )
[26] hiscore#110 = phi( main::@1/0, main::@113/hiscore#123 )
[26] y#114 = phi( main::@1/0, main::@113/y#18 )
[26] rem8u#127 = phi( main::@1/0, main::@113/rem8u#25 )
[27] call clear_screen
to:main::@52
main::@52: scope:[main] from main::@3
[28] phi()
[29] call textcolor
to:main::@53
main::@53: scope:[main] from main::@52
[30] phi()
[31] call cputs
to:main::@54
main::@54: scope:[main] from main::@53
[32] phi()
[33] call textcolor
to:main::@55
main::@55: scope:[main] from main::@54
[34] phi()
[35] call cputs
to:main::@56
main::@56: scope:[main] from main::@55
[36] phi()
[37] call textcolor
to:main::@57
main::@57: scope:[main] from main::@56
[38] phi()
[39] call cputs
to:main::@4
main::@4: scope:[main] from main::@4 main::@57
[40] l = *((char *) 197)
[41] l = ++ l
[42] if(l>=5+1) goto main::@4
to:main::@5
main::@5: scope:[main] from main::@4
[43] phi()
[44] call clear_screen
to:main::@58
main::@58: scope:[main] from main::@5
[45] *((char *) 36869) = $ff
[46] chrout::petscii = reverse_on
[47] call chrout
to:main::@59
main::@59: scope:[main] from main::@58
[48] chrout::petscii = red
[49] call chrout
to:main::@60
main::@60: scope:[main] from main::@59
[50] chrout::petscii = down
[51] call chrout
to:main::@6
main::@6: scope:[main] from main::@60 main::@64
[52] n#89 = phi( main::@60/n#109, main::@64/n#101 )
[52] k#101 = phi( main::@60/1, main::@64/k#1 )
[53] if(k#101<$16) goto main::@7
to:main::@8
main::@8: scope:[main] from main::@6
[54] chrout::petscii = brick
[55] call chrout
to:main::@61
main::@61: scope:[main] from main::@8
[56] *((char *) 8185) = brick
[57] *((char *)$1ff9+c) = 2
[58] chrout::petscii = home
[59] call chrout
to:main::@62
main::@62: scope:[main] from main::@61
[60] if(l<1+1) goto main::@12
to:main::@13
main::@13: scope:[main] from main::@62 main::@73
[61] z#28 = phi( main::@62/1, main::@73/z#9 )
[62] random::k#0 = 7 - l
[63] main::$177 = l << 1
[64] main::$26 = main::$177 + l
[65] random::n#0 = $1a - main::$26
[66] call random
to:main::@71
main::@71: scope:[main] from main::@13
[67] main::$29 = z#28 + m
[68] if(main::$29<=$1f9) goto main::@14
to:main::@12
main::@12: scope:[main] from main::@62 main::@71 main::@73
[69] z#128 = phi( main::@62/1, main::@71/z#28, main::@73/z#9 )
[70] *((char *) 36878) = $f
[71] chrout::petscii = home
[72] call chrout
to:main::@65
main::@65: scope:[main] from main::@12
[73] chrout::petscii = yellow
[74] call chrout
to:main::@66
main::@66: scope:[main] from main::@65
[75] chrout::petscii = $50
[76] call chrout
to:main::@67
main::@67: scope:[main] from main::@66
[77] chrout::petscii = $54
[78] call chrout
to:main::@68
main::@68: scope:[main] from main::@67
[79] chrout::petscii = $53
[80] call chrout
to:main::@69
main::@69: scope:[main] from main::@68
[81] chrout::petscii = $3a
[82] call chrout
to:main::@70
main::@70: scope:[main] from main::@69
[83] *((char *) 211) = $12
to:main::@17
main::@17: scope:[main] from main::@70 main::@74
[84] j#13 = phi( main::@70/0, main::@74/j#3 )
[85] if(j#13<4) goto main::@18
to:main::@19
main::@19: scope:[main] from main::@17
[86] phi()
[87] call write_score
to:main::@75
main::@75: scope:[main] from main::@19
[88] chrout::petscii = home
[89] call chrout
to:main::@76
main::@76: scope:[main] from main::@75
[90] chrout::petscii = green
[91] call chrout
to:main::@77
main::@77: scope:[main] from main::@76
[92] *((char *) 211) = $a
to:main::@20
main::@20: scope:[main] from main::@77 main::@78
[93] j#16 = phi( main::@77/0, main::@78/j#5 )
[94] if(j#16<5) goto main::@21
to:main::@22
main::@22: scope:[main] from main::@20 main::@87
[95] n#52 = phi( main::@20/n#89, main::@87/n#20 )
[95] peephole#52 = phi( main::@20/$1f1f, main::@87/peephole#12 )
[95] z#102 = phi( main::@20/z#128, main::@87/z#25 )
[95] y#49 = phi( main::@20/y#114, main::@87/y#18 )
[95] rem8u#48 = phi( main::@20/rem8u#127, main::@87/rem8u#25 )
[95] tu#13 = phi( main::@20/1, main::@87/tu#1 )
[96] chrout::petscii = home
[97] call chrout
to:main::@79
main::@79: scope:[main] from main::@22
[98] chrout::petscii = green
[99] call chrout
to:main::@80
main::@80: scope:[main] from main::@79
[100] chrout::petscii = reverse_on
[101] call chrout
to:main::@81
main::@81: scope:[main] from main::@80
[102] *((char *) 211) = $f
[103] if(tu#13<$a) goto main::@23
to:main::@45
main::@45: scope:[main] from main::@81
[104] chrout::petscii = $31
[105] call chrout
to:main::@82
main::@82: scope:[main] from main::@45
[106] chrout::petscii = $30
[107] call chrout
to:main::@24
main::@24: scope:[main] from main::@103 main::@104 main::@105 main::@106 main::@23 main::@82 main::@84
[108] phi()
[109] call random
to:main::@83
main::@83: scope:[main] from main::@24
[110] duck#0 = m
[111] call random
to:main::@84
main::@84: scope:[main] from main::@83
[112] main::$61 = m + $1e15
[113] duck#1 = main::$61 + duck#0
[114] main::$66 = duck#1 + 1
[115] main::$69 = duck#1 + $16
[116] main::$72 = duck#1 + $17
[117] if(duck#1>$1fe3) goto main::@24
to:main::@106
main::@106: scope:[main] from main::@84
[118] if(*((char *)duck#1)==brick) goto main::@24
to:main::@105
main::@105: scope:[main] from main::@106
[119] if(*((char *)main::$66)==brick) goto main::@24
to:main::@104
main::@104: scope:[main] from main::@105
[120] if(*((char *)main::$69)==brick) goto main::@24
to:main::@103
main::@103: scope:[main] from main::@104
[121] if(*((char *)main::$72)==brick) goto main::@24
to:main::@25
main::@25: scope:[main] from main::@103
[122] phi()
[123] call chrono_restart
to:main::@26
main::@26: scope:[main] from main::@25 main::@90
[124] n#20 = phi( main::@90/n#14, main::@25/n#52 )
[124] peephole#12 = phi( main::@90/y#35, main::@25/peephole#52 )
[124] z#100 = phi( main::@90/z#25, main::@25/z#102 )
[124] y#18 = phi( main::@90/y#130, main::@25/y#49 )
[124] rem8u#25 = phi( main::@90/divr8u::rem#11, main::@25/rem8u#48 )
[124] score#19 = phi( main::@90/score#43, main::@25/score#38 )
[124] time#11 = phi( main::@90/time#17, main::@25/0 )
[125] if(time#11<$a) goto main::@27
to:main::@28
main::@28: scope:[main] from main::@26
[126] tu#1 = ++ tu#13
[127] score#4 = score#19 - $a
[128] call write_score
to:main::@86
main::@86: scope:[main] from main::@28
[129] *((char *) 36877) = $82
[130] call wait
to:main::@87
main::@87: scope:[main] from main::@86
[131] *((char *) 36877) = 0
[132] main::$150 = duck#1 + c
[133] *((char *)main::$150) = 0
[134] main::$151 = duck#1
[135] main::$152 = main::$151 + 1+c
[136] *((char *)main::$152) = 0
[137] main::$153 = duck#1
[138] main::$154 = main::$153 + $16+c
[139] *((char *)main::$154) = 0
[140] main::$155 = duck#1
[141] main::$156 = main::$155 + $17+c
[142] *((char *)main::$156) = 0
[143] if(tu#1<$b) goto main::@22
to:main::@44
main::@44: scope:[main] from main::@87
[144] phi()
[145] call clear_screen
to:main::@91
main::@91: scope:[main] from main::@44
[146] *((char *) 36869) = $f0
[147] chrout::petscii = lower
[148] call chrout
to:main::@92
main::@92: scope:[main] from main::@91
[149] phi()
[150] call textcolor
to:main::@93
main::@93: scope:[main] from main::@92
[151] phi()
[152] call cputs
to:main::@94
main::@94: scope:[main] from main::@93
[153] phi()
[154] call textcolor
to:main::@95
main::@95: scope:[main] from main::@94
[155] phi()
[156] call cputs
to:main::@96
main::@96: scope:[main] from main::@95
[157] phi()
[158] call cputs
to:main::@97
main::@97: scope:[main] from main::@96
[159] phi()
[160] call textcolor
to:main::@98
main::@98: scope:[main] from main::@97
[161] phi()
[162] call cputs
to:main::@99
main::@99: scope:[main] from main::@98
[163] if(score#38<=hiscore#110) goto main::@114
to:main::@46
main::@114: scope:[main] from main::@99
[164] hiscore#124 = hiscore#110
to:main::@46
main::@46: scope:[main] from main::@114 main::@99
[165] hiscore#19 = phi( main::@114/hiscore#124, main::@99/score#38 )
[166] utoa::value#2 = hiscore#19
[167] call utoa
to:main::@100
main::@100: scope:[main] from main::@46
[168] phi()
[169] call cputs
to:main::@101
main::@101: scope:[main] from main::@100
[170] phi()
[171] call textcolor
to:main::@102
main::@102: scope:[main] from main::@101
[172] phi()
[173] call cputs
to:main::@47
main::@47: scope:[main] from main::@102 main::@112
[174] j#19 = *((char *) 197)
[175] if(j#19==$b) goto main::@48
to:main::@112
main::@112: scope:[main] from main::@47
[176] if(j#19!=$1c) goto main::@47
to:main::@48
main::@48: scope:[main] from main::@112 main::@47
[177] if(j#19==$b) goto main::@113
to:main::@49
main::@49: scope:[main] from main::@48
asm { jsr$FD22 }
to:main::@return
main::@return: scope:[main] from main::@49
[179] return
to:@return
main::@113: scope:[main] from main::@48
[180] hiscore#123 = hiscore#19
to:main::@3
main::@27: scope:[main] from main::@26
[181] phi()
[182] call read_chrono
to:main::@85
main::@85: scope:[main] from main::@27
[183] m = *((char *) 37151)
[184] *((char *) 37154) = $7f
[185] n#14 = *((char *) 37152)
[186] *((char *) 37154) = $ff
[187] main::$78 = $10 & m
[188] if(main::$78!=0) goto main::@29
to:main::@37
main::@37: scope:[main] from main::@85
[189] y#0 = -- y#18
to:main::@29
main::@29: scope:[main] from main::@37 main::@85
[190] y#10 = phi( main::@37/y#0, main::@85/y#18 )
[191] main::$81 = $80 & n#14
[192] if(main::$81!=0) goto main::@30
to:main::@38
main::@38: scope:[main] from main::@29
[193] y#1 = ++ y#10
to:main::@30
main::@30: scope:[main] from main::@29 main::@38
[194] y#11 = phi( main::@29/y#10, main::@38/y#1 )
[195] main::$84 = 4 & m
[196] if(main::$84!=0) goto main::@31
to:main::@39
main::@39: scope:[main] from main::@30
[197] y#2 = y#11 - $16
to:main::@31
main::@31: scope:[main] from main::@30 main::@39
[198] y#12 = phi( main::@30/y#11, main::@39/y#2 )
[199] main::$88 = 8 & m
[200] if(main::$88!=0) goto main::@32
to:main::@40
main::@40: scope:[main] from main::@31
[201] y#3 = y#12 + $16
to:main::@32
main::@32: scope:[main] from main::@31 main::@40
[202] y#13 = phi( main::@31/y#12, main::@40/y#3 )
[203] main::$92 = $20 & m
[204] if(main::$92!=0) goto main::@33
to:main::@41
main::@41: scope:[main] from main::@32
[205] *((char *) 36877) = $82
[206] if(peephole#12!=duck#1) goto main::@34
to:main::@42
main::@42: scope:[main] from main::@41
[207] main::$96 = $c - div16u8u::return#2
[208] main::$179 = main::$96 << 2
[209] main::$180 = main::$179 + main::$96
[210] main::$97 = main::$180 << 1
[211] score#8 = score#19 + main::$97
[212] call wait
to:main::@35
main::@35: scope:[main] from main::@42 main::@88
[213] score#81 = phi( main::@88/score#38, main::@42/score#8 )
[213] time#38 = phi( main::@88/div16u8u::return#2, main::@42/$a )
[214] *((char *) 36877) = 0
to:main::@33
main::@33: scope:[main] from main::@32 main::@35
[215] score#43 = phi( main::@32/score#19, main::@35/score#81 )
[215] time#17 = phi( main::@32/div16u8u::return#2, main::@35/time#38 )
[215] z#48 = phi( main::@32/z#100, main::@35/z#25 )
[216] main::$104 = y#13 + 1
[217] main::$107 = y#13 + $16
[218] main::$110 = y#13 + $17
[219] if(*((char *)y#13)==brick) goto main::@36
to:main::@111
main::@111: scope:[main] from main::@33
[220] if(*((char *)main::$104)==brick) goto main::@36
to:main::@110
main::@110: scope:[main] from main::@111
[221] if(*((char *)main::$107)!=brick) goto main::@109
to:main::@36
main::@36: scope:[main] from main::@107 main::@108 main::@109 main::@110 main::@111 main::@33 main::@43
[222] y#35 = phi( main::@33/peephole#12, main::@43/y#141 )
[223] *((char *)y#35) = $fd
[224] main::$125 = y#35 + c
[225] *((char *)main::$125) = 1
[226] main::$127 = y#35 + 1
[227] *((char *)main::$127) = $ed
[228] main::$128 = main::$127 + c
[229] *((char *)main::$128) = 1
[230] main::$130 = y#35 + $16
[231] *((char *)main::$130) = $ee
[232] main::$131 = main::$130 + c
[233] *((char *)main::$131) = 1
[234] main::$133 = y#35 + $17
[235] *((char *)main::$133) = $f0
[236] main::$134 = main::$133 + c
[237] *((char *)main::$134) = 1
[238] call wait
to:main::@89
main::@89: scope:[main] from main::@36
[239] *((char *)duck#1) = 0
[240] main::$136 = duck#1 + c
[241] *((char *)main::$136) = 7
[242] main::$138 = duck#1 + 1
[243] *((char *)main::$138) = 1
[244] main::$139 = main::$138 + c
[245] *((char *)main::$139) = 7
[246] main::$141 = duck#1 + $16
[247] *((char *)main::$141) = 2
[248] main::$142 = main::$141 + c
[249] *((char *)main::$142) = 7
[250] main::$144 = duck#1 + $17
[251] *((char *)main::$144) = 3
[252] main::$145 = main::$144 + c
[253] *((char *)main::$145) = 7
[254] call wait
to:main::@90
main::@90: scope:[main] from main::@89
[255] y#130 = y#35
to:main::@26
main::@109: scope:[main] from main::@110
[256] if(*((char *)main::$110)==brick) goto main::@36
to:main::@108
main::@108: scope:[main] from main::@109
[257] if(y#13>$1e16) goto main::@107
to:main::@36
main::@107: scope:[main] from main::@108
[258] if(y#13>=$1fe3) goto main::@36
to:main::@43
main::@43: scope:[main] from main::@107
[259] main::$119 = peephole#12 + c
[260] *((char *)main::$119) = 0
[261] main::$120 = main::$119 + 1
[262] *((char *)main::$120) = 0
[263] main::$122 = main::$119 + $16
[264] *((char *)main::$122) = 0
[265] main::$124 = main::$119 + $17
[266] *((char *)main::$124) = 0
[267] y#141 = y#13
to:main::@36
main::@34: scope:[main] from main::@41
[268] score#6 = score#19 - $a
[269] call write_score
to:main::@88
main::@88: scope:[main] from main::@34
[270] phi()
[271] call wait
to:main::@35
main::@23: scope:[main] from main::@81
[272] main::$57 = $30 + tu#13
[273] chrout::petscii = main::$57
[274] call chrout
to:main::@24
main::@21: scope:[main] from main::@20
[275] chrout::petscii = ducknumber[j#16]
[276] call chrout
to:main::@78
main::@78: scope:[main] from main::@21
[277] j#5 = ++ j#16
to:main::@20
main::@18: scope:[main] from main::@17
[278] chrout::petscii = chrono[j#13]
[279] call chrout
to:main::@74
main::@74: scope:[main] from main::@18
[280] j#3 = ++ j#13
to:main::@17
main::@14: scope:[main] from main::@71 main::@72
[281] j#11 = phi( main::@71/1, main::@72/j#2 )
[282] if(j#11<=m) goto main::@15
to:main::@16
main::@16: scope:[main] from main::@14
[283] chrout::petscii = brick
[284] call chrout
to:main::@73
main::@73: scope:[main] from main::@16
[285] main::$35 = z#28 + m
[286] z#9 = main::$35 + 1
[287] if(z#9<$1fa) goto main::@13
to:main::@12
main::@15: scope:[main] from main::@14
[288] chrout::petscii = right
[289] call chrout
to:main::@72
main::@72: scope:[main] from main::@15
[290] j#2 = ++ j#11
to:main::@14
main::@7: scope:[main] from main::@6
[291] chrout::petscii = brick
[292] call chrout
to:main::@9
main::@9: scope:[main] from main::@63 main::@7
[293] n#101 = phi( main::@7/2, main::@63/n#1 )
[294] if(n#101<$16) goto main::@10
to:main::@11
main::@11: scope:[main] from main::@9
[295] chrout::petscii = brick
[296] call chrout
to:main::@64
main::@64: scope:[main] from main::@11
[297] k#1 = ++ k#101
to:main::@6
main::@10: scope:[main] from main::@9
[298] chrout::petscii = right
[299] call chrout
to:main::@63
main::@63: scope:[main] from main::@10
[300] n#1 = ++ n#101
to:main::@9
main::@2: scope:[main] from main::@1
[301] main::$3 = $1c00 + m
[302] *((char *)main::$3) = duck_udg[m]
[303] m = ++ m
to:main::@1
void gotoxy(char x , char y)
gotoxy: scope:[gotoxy] from clear_screen::@3 conio_c64_init::@1
[304] gotoxy::y#4 = phi( clear_screen::@3/0, conio_c64_init::@1/gotoxy::y#2 )
[305] if(gotoxy::y#4<$19+1) goto gotoxy::@3
to:gotoxy::@1
gotoxy::@3: scope:[gotoxy] from gotoxy
[306] phi()
to:gotoxy::@1
gotoxy::@1: scope:[gotoxy] from gotoxy gotoxy::@3
[307] gotoxy::y#5 = phi( gotoxy::@3/gotoxy::y#4, gotoxy/0 )
to:gotoxy::@2
gotoxy::@2: scope:[gotoxy] from gotoxy::@1
[308] conio_cursor_x = 0
[309] conio_cursor_y = gotoxy::y#5
[310] gotoxy::$7 = (unsigned int)gotoxy::y#5
[311] gotoxy::$8 = gotoxy::$7 << 2
[312] gotoxy::$9 = gotoxy::$8 + gotoxy::$7
[313] gotoxy::line_offset#0 = gotoxy::$9 << 3
[314] gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0
[315] conio_line_text = gotoxy::$5
[316] gotoxy::$6 = COLORRAM + gotoxy::line_offset#0
[317] conio_line_color = gotoxy::$6
to:gotoxy::@return
gotoxy::@return: scope:[gotoxy] from gotoxy::@2
[318] return
to:@return
void chrout(volatile char petscii)
chrout: scope:[chrout] from clear_screen::@4 main main::@10 main::@11 main::@12 main::@15 main::@16 main::@18 main::@21 main::@22 main::@23 main::@45 main::@50 main::@58 main::@59 main::@60 main::@61 main::@65 main::@66 main::@67 main::@68 main::@69 main::@7 main::@75 main::@76 main::@79 main::@8 main::@80 main::@82 main::@91 write_score::@10 write_score::@12 write_score::@3
asm { ldapetscii jsr$ffd2 }
to:chrout::@return
chrout::@return: scope:[chrout] from chrout
[320] return
to:@return
void clear_screen(char n , char m)
clear_screen: scope:[clear_screen] from main::@3 main::@44 main::@5
[321] clear_screen::n#5 = phi( main::@3/$20, main::@44/4, main::@5/4 )
to:clear_screen::@1
clear_screen::@1: scope:[clear_screen] from clear_screen clear_screen::@2
[322] z#2 = phi( clear_screen/0, clear_screen::@2/z#1 )
[323] if(z#2<$1fa) goto clear_screen::@2
to:clear_screen::@3
clear_screen::@3: scope:[clear_screen] from clear_screen::@1
[324] phi()
[325] call gotoxy
to:clear_screen::@4
clear_screen::@4: scope:[clear_screen] from clear_screen::@3
[326] chrout::petscii = home
[327] call chrout
to:clear_screen::@return
clear_screen::@return: scope:[clear_screen] from clear_screen::@4
[328] return
to:@return
clear_screen::@2: scope:[clear_screen] from clear_screen::@1
[329] clear_screen::$5 = $1e00 + z#2
[330] clear_screen::$4 = clear_screen::$5 + c
[331] *((char *)clear_screen::$4) = 0
[332] *((char *)clear_screen::$5) = clear_screen::n#5
[333] z#1 = ++ z#2
to:clear_screen::@1
char textcolor(char color)
textcolor: scope:[textcolor] from main::@101 main::@52 main::@54 main::@56 main::@92 main::@94 main::@97
[334] textcolor::color#7 = phi( main::@92/7, main::@94/2, main::@97/3, main::@101/1, main::@52/7, main::@54/1, main::@56/2 )
[335] conio_textcolor = textcolor::color#7
to:textcolor::@return
textcolor::@return: scope:[textcolor] from textcolor
[336] return
to:@return
void cputs(const char *s)
cputs: scope:[cputs] from main::@100 main::@102 main::@53 main::@55 main::@57 main::@93 main::@95 main::@96 main::@98
[337] cputs::s#11 = phi( main::@93/game_over, main::@95/your_score, main::@96/buffer, main::@98/high_score, main::@100/buffer, main::@102/play_again, main::@53/intro, main::@55/levels, main::@57/foot )
to:cputs::@1
cputs::@1: scope:[cputs] from cputs cputs::@2
[338] cputs::s#10 = phi( cputs/cputs::s#11, cputs::@2/cputs::s#0 )
[339] cputs::c#1 = *cputs::s#10
[340] cputs::s#0 = ++ cputs::s#10
[341] if(0!=cputs::c#1) goto cputs::@2
to:cputs::@return
cputs::@return: scope:[cputs] from cputs::@1
[342] return
to:@return
cputs::@2: scope:[cputs] from cputs::@1
[343] cputc::c#0 = cputs::c#1
[344] call cputc
to:cputs::@1
void random(char k , char n)
random: scope:[random] from main::@13 main::@24 main::@83
[345] random::n#4 = phi( main::@13/random::n#0, main::@24/$ff, main::@83/$ff )
[345] random::k#4 = phi( main::@13/random::k#0, main::@24/0, main::@83/0 )
to:random::@1
random::@1: scope:[random] from random random::@1 random::@2
[346] m = *((char *) 37140)
[347] random::$3 = m
[348] if(m<random::k#4) goto random::@1
to:random::@2
random::@2: scope:[random] from random::@1
[349] if(random::$3>random::n#4) goto random::@1
to:random::@return
random::@return: scope:[random] from random::@2
[350] return
to:@return
void write_score()
write_score: scope:[write_score] from main::@19 main::@28 main::@34
[351] score#13 = phi( main::@19/0, main::@28/score#4, main::@34/score#6 )
[352] if(score#13<=$fde8) goto write_score::@15
to:write_score::@1
write_score::@15: scope:[write_score] from write_score
[353] phi()
to:write_score::@1
write_score::@1: scope:[write_score] from write_score write_score::@15
[354] score#38 = phi( write_score::@15/score#13, write_score/0 )
[355] m = 0
to:write_score::@5
write_score::@5: scope:[write_score] from write_score::@1 write_score::@6
[356] if(m<4) goto write_score::@6
to:write_score::@7
write_score::@7: scope:[write_score] from write_score::@5
[357] utoa::value#1 = score#38
[358] call utoa
to:write_score::@11
write_score::@11: scope:[write_score] from write_score::@7
[359] if(score#38<9+1) goto write_score::@2
to:write_score::@8
write_score::@8: scope:[write_score] from write_score::@11
[360] *(points+2) = *buffer
[361] *(points+3) = *(buffer+1)
to:write_score::@2
write_score::@2: scope:[write_score] from write_score::@11 write_score::@8
[362] if(score#38<$63+1) goto write_score::@3
to:write_score::@4
write_score::@4: scope:[write_score] from write_score::@2
[363] *(points+1) = *buffer
[364] *(points+2) = *(buffer+1)
[365] *(points+3) = *(buffer+2)
to:write_score::@3
write_score::@3: scope:[write_score] from write_score::@2 write_score::@4
[366] chrout::petscii = yellow
[367] call chrout
to:write_score::@12
write_score::@12: scope:[write_score] from write_score::@3
[368] chrout::petscii = home
[369] call chrout
to:write_score::@13
write_score::@13: scope:[write_score] from write_score::@12
[370] *((char *) 211) = 4
[371] m = 0
to:write_score::@9
write_score::@9: scope:[write_score] from write_score::@13 write_score::@14
[372] if(m<4) goto write_score::@10
to:write_score::@return
write_score::@return: scope:[write_score] from write_score::@9
[373] return
to:@return
write_score::@10: scope:[write_score] from write_score::@9
[374] chrout::petscii = points[m]
[375] call chrout
to:write_score::@14
write_score::@14: scope:[write_score] from write_score::@10
[376] m = ++ m
to:write_score::@9
write_score::@6: scope:[write_score] from write_score::@5
[377] points[m] = '0'
[378] m = ++ m
to:write_score::@5
void chrono_restart()
chrono_restart: scope:[chrono_restart] from main::@25
asm { lda#0 ldy#0 ldx#0 jsr$ffdb }
to:chrono_restart::@return
chrono_restart::@return: scope:[chrono_restart] from chrono_restart
[380] return
to:@return
void wait(char n)
wait: scope:[wait] from main::@36 main::@42 main::@86 main::@88 main::@89
[381] z#53 = phi( main::@36/z#48, main::@42/z#100, main::@86/z#100, main::@88/z#100, main::@89/z#25 )
[381] wait::n#6 = phi( main::@36/5, main::@42/$a, main::@86/$14, main::@88/$a, main::@89/5 )
[382] m = 0
to:wait::@1
wait::@1: scope:[wait] from wait wait::@4
[383] z#25 = phi( wait/z#53, wait::@4/z#23 )
[384] if(m<wait::n#6) goto wait::@2
to:wait::@return
wait::@return: scope:[wait] from wait::@1
[385] return
to:@return
wait::@2: scope:[wait] from wait::@1 wait::@3
[386] z#23 = phi( wait::@1/0, wait::@3/z#4 )
[387] if(z#23<$21c) goto wait::@3
to:wait::@4
wait::@4: scope:[wait] from wait::@2
[388] m = ++ m
to:wait::@1
wait::@3: scope:[wait] from wait::@2
[389] z#4 = ++ z#23
to:wait::@2
void utoa(unsigned int value , char *buffer , char radix)
utoa: scope:[utoa] from main::@46 write_score::@7
[390] utoa::value#10 = phi( main::@46/utoa::value#2, write_score::@7/utoa::value#1 )
to:utoa::@1
utoa::@1: scope:[utoa] from utoa utoa::@4
[391] utoa::buffer#10 = phi( utoa::@4/utoa::buffer#15, utoa/buffer )
[391] utoa::started#2 = phi( utoa::@4/utoa::started#4, utoa/0 )
[391] utoa::value#3 = phi( utoa::@4/utoa::value#7, utoa/utoa::value#10 )
[391] utoa::digit#2 = phi( utoa::@4/utoa::digit#1, utoa/0 )
[392] if(utoa::digit#2<5-1) goto utoa::@2
to:utoa::@3
utoa::@3: scope:[utoa] from utoa::@1
[393] utoa::$11 = (char)utoa::value#3
[394] *utoa::buffer#10 = DIGITS[utoa::$11]
[395] utoa::buffer#3 = ++ utoa::buffer#10
[396] *utoa::buffer#3 = 0
to:utoa::@return
utoa::@return: scope:[utoa] from utoa::@3
[397] return
to:@return
utoa::@2: scope:[utoa] from utoa::@1
[398] utoa::$10 = utoa::digit#2 << 1
[399] utoa::digit_value#0 = RADIX_DECIMAL_VALUES[utoa::$10]
[400] if(0!=utoa::started#2) goto utoa::@5
to:utoa::@7
utoa::@7: scope:[utoa] from utoa::@2
[401] if(utoa::value#3>=utoa::digit_value#0) goto utoa::@5
to:utoa::@4
utoa::@4: scope:[utoa] from utoa::@6 utoa::@7
[402] utoa::buffer#15 = phi( utoa::@7/utoa::buffer#10, utoa::@6/utoa::buffer#4 )
[402] utoa::started#4 = phi( utoa::@7/utoa::started#2, utoa::@6/1 )
[402] utoa::value#7 = phi( utoa::@7/utoa::value#3, utoa::@6/utoa::value#0 )
[403] utoa::digit#1 = ++ utoa::digit#2
to:utoa::@1
utoa::@5: scope:[utoa] from utoa::@2 utoa::@7
[404] utoa_append::buffer#0 = utoa::buffer#10
[405] utoa_append::value#0 = utoa::value#3
[406] utoa_append::sub#0 = utoa::digit_value#0
[407] call utoa_append
[408] utoa_append::return#0 = utoa_append::value#2
to:utoa::@6
utoa::@6: scope:[utoa] from utoa::@5
[409] utoa::value#0 = utoa_append::return#0
[410] utoa::buffer#4 = ++ utoa::buffer#10
to:utoa::@4
void read_chrono()
read_chrono: scope:[read_chrono] from main::@27
asm { jsr$ffde stal stxm }
[412] read_chrono::$0 = m << 8
[413] div16u8u::dividend#0 = read_chrono::$0 + l
[414] call div16u8u
[415] div16u8u::return#2 = div16u8u::return#0
to:read_chrono::@2
read_chrono::@2: scope:[read_chrono] from read_chrono
[416] *((char *)$1e15+c) = 7
[417] *((char *) 7701) = $b9
[418] if(div16u8u::return#2>=$a) goto read_chrono::@return
to:read_chrono::@1
read_chrono::@1: scope:[read_chrono] from read_chrono::@2
[419] read_chrono::$5 = $b9 - div16u8u::return#2
[420] *((char *) 7701) = read_chrono::$5
to:read_chrono::@return
read_chrono::@return: scope:[read_chrono] from read_chrono::@1 read_chrono::@2
[421] return
to:@return
void cputc(char c)
cputc: scope:[cputc] from cputs::@2
[422] if(cputc::c#0=='
') goto cputc::@1
to:cputc::@2
cputc::@2: scope:[cputc] from cputc
[423] conio_line_text[conio_cursor_x] = cputc::c#0
[424] conio_line_color[conio_cursor_x] = conio_textcolor
[425] conio_cursor_x = ++ conio_cursor_x
[426] if(conio_cursor_x!=$28) goto cputc::@return
to:cputc::@3
cputc::@3: scope:[cputc] from cputc::@2
[427] phi()
[428] call cputln
to:cputc::@return
cputc::@return: scope:[cputc] from cputc::@1 cputc::@2 cputc::@3
[429] return
to:@return
cputc::@1: scope:[cputc] from cputc
[430] phi()
[431] call cputln
to:cputc::@return
unsigned int utoa_append(char *buffer , unsigned int value , unsigned int sub)
utoa_append: scope:[utoa_append] from utoa::@5
[432] phi()
to:utoa_append::@1
utoa_append::@1: scope:[utoa_append] from utoa_append utoa_append::@2
[433] utoa_append::digit#2 = phi( utoa_append/0, utoa_append::@2/utoa_append::digit#1 )
[433] utoa_append::value#2 = phi( utoa_append/utoa_append::value#0, utoa_append::@2/utoa_append::value#1 )
[434] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2
to:utoa_append::@3
utoa_append::@3: scope:[utoa_append] from utoa_append::@1
[435] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2]
to:utoa_append::@return
utoa_append::@return: scope:[utoa_append] from utoa_append::@3
[436] return
to:@return
utoa_append::@2: scope:[utoa_append] from utoa_append::@1
[437] utoa_append::digit#1 = ++ utoa_append::digit#2
[438] utoa_append::value#1 = utoa_append::value#2 - utoa_append::sub#0
to:utoa_append::@1
unsigned int div16u8u(unsigned int dividend , char divisor)
div16u8u: scope:[div16u8u] from read_chrono
[439] divr8u::dividend#1 = byte1 div16u8u::dividend#0
[440] call divr8u
[441] divr8u::return#2 = divr8u::return#0
to:div16u8u::@1
div16u8u::@1: scope:[div16u8u] from div16u8u
[442] div16u8u::quotient_hi#0 = divr8u::return#2
[443] divr8u::dividend#2 = byte0 div16u8u::dividend#0
[444] divr8u::rem#4 = divr8u::rem#11
[445] call divr8u
[446] divr8u::return#3 = divr8u::return#0
to:div16u8u::@2
div16u8u::@2: scope:[div16u8u] from div16u8u::@1
[447] div16u8u::quotient_lo#0 = divr8u::return#3
[448] div16u8u::return#0 = div16u8u::quotient_hi#0 w= div16u8u::quotient_lo#0
to:div16u8u::@return
div16u8u::@return: scope:[div16u8u] from div16u8u::@2
[449] return
to:@return
void cputln()
cputln: scope:[cputln] from cputc::@1 cputc::@3
[450] conio_line_text = conio_line_text + $28
[451] conio_line_color = conio_line_color + $28
[452] conio_cursor_x = 0
[453] conio_cursor_y = ++ conio_cursor_y
[454] call cscroll
to:cputln::@return
cputln::@return: scope:[cputln] from cputln
[455] return
to:@return
char divr8u(char dividend , char divisor , char rem)
divr8u: scope:[divr8u] from div16u8u div16u8u::@1
[456] divr8u::dividend#5 = phi( div16u8u/divr8u::dividend#1, div16u8u::@1/divr8u::dividend#2 )
[456] divr8u::rem#10 = phi( div16u8u/0, div16u8u::@1/divr8u::rem#4 )
to:divr8u::@1
divr8u::@1: scope:[divr8u] from divr8u divr8u::@3
[457] divr8u::i#2 = phi( divr8u/0, divr8u::@3/divr8u::i#1 )
[457] divr8u::quotient#3 = phi( divr8u/0, divr8u::@3/divr8u::return#0 )
[457] divr8u::dividend#3 = phi( divr8u/divr8u::dividend#5, divr8u::@3/divr8u::dividend#0 )
[457] divr8u::rem#5 = phi( divr8u/divr8u::rem#10, divr8u::@3/divr8u::rem#11 )
[458] divr8u::rem#0 = divr8u::rem#5 << 1
[459] divr8u::$1 = divr8u::dividend#3 & $80
[460] if(divr8u::$1==0) goto divr8u::@2
to:divr8u::@4
divr8u::@4: scope:[divr8u] from divr8u::@1
[461] divr8u::rem#1 = divr8u::rem#0 | 1
to:divr8u::@2
divr8u::@2: scope:[divr8u] from divr8u::@1 divr8u::@4
[462] divr8u::rem#6 = phi( divr8u::@1/divr8u::rem#0, divr8u::@4/divr8u::rem#1 )
[463] divr8u::dividend#0 = divr8u::dividend#3 << 1
[464] divr8u::quotient#1 = divr8u::quotient#3 << 1
[465] if(divr8u::rem#6<div16u8u::divisor#0) goto divr8u::@3
to:divr8u::@5
divr8u::@5: scope:[divr8u] from divr8u::@2
[466] divr8u::quotient#2 = ++ divr8u::quotient#1
[467] divr8u::rem#2 = divr8u::rem#6 - div16u8u::divisor#0
to:divr8u::@3
divr8u::@3: scope:[divr8u] from divr8u::@2 divr8u::@5
[468] divr8u::return#0 = phi( divr8u::@2/divr8u::quotient#1, divr8u::@5/divr8u::quotient#2 )
[468] divr8u::rem#11 = phi( divr8u::@2/divr8u::rem#6, divr8u::@5/divr8u::rem#2 )
[469] divr8u::i#1 = ++ divr8u::i#2
[470] if(divr8u::i#1!=8) goto divr8u::@1
to:divr8u::@return
divr8u::@return: scope:[divr8u] from divr8u::@3
[471] return
to:@return
void cscroll()
cscroll: scope:[cscroll] from cputln
[472] if(conio_cursor_y!=$19) goto cscroll::@return
to:cscroll::@1
cscroll::@1: scope:[cscroll] from cscroll
[473] phi()
[474] call memcpy
to:cscroll::@2
cscroll::@2: scope:[cscroll] from cscroll::@1
[475] phi()
[476] call memcpy
to:cscroll::@3
cscroll::@3: scope:[cscroll] from cscroll::@2
[477] phi()
[478] call memset
to:cscroll::@4
cscroll::@4: scope:[cscroll] from cscroll::@3
[479] memset::c#1 = conio_textcolor
[480] call memset
to:cscroll::@5
cscroll::@5: scope:[cscroll] from cscroll::@4
[481] conio_line_text = conio_line_text - $28
[482] conio_line_color = conio_line_color - $28
[483] conio_cursor_y = -- conio_cursor_y
to:cscroll::@return
cscroll::@return: scope:[cscroll] from cscroll cscroll::@5
[484] return
to:@return
void * memcpy(void *destination , void *source , unsigned int num)
memcpy: scope:[memcpy] from cscroll::@1 cscroll::@2
[485] memcpy::destination#2 = phi( cscroll::@1/(void *)DEFAULT_SCREEN, cscroll::@2/(void *)COLORRAM )
[485] memcpy::source#2 = phi( cscroll::@1/(void *)DEFAULT_SCREEN+$28, cscroll::@2/(void *)COLORRAM+$28 )
[486] memcpy::src_end#0 = (char *)memcpy::source#2 + (unsigned int)$19*$28-$28
[487] memcpy::src#4 = (char *)memcpy::source#2
[488] memcpy::dst#4 = (char *)memcpy::destination#2
to:memcpy::@1
memcpy::@1: scope:[memcpy] from memcpy memcpy::@2
[489] memcpy::dst#2 = phi( memcpy/memcpy::dst#4, memcpy::@2/memcpy::dst#1 )
[489] memcpy::src#2 = phi( memcpy/memcpy::src#4, memcpy::@2/memcpy::src#1 )
[490] if(memcpy::src#2!=memcpy::src_end#0) goto memcpy::@2
to:memcpy::@return
memcpy::@return: scope:[memcpy] from memcpy::@1
[491] return
to:@return
memcpy::@2: scope:[memcpy] from memcpy::@1
[492] *memcpy::dst#2 = *memcpy::src#2
[493] memcpy::dst#1 = ++ memcpy::dst#2
[494] memcpy::src#1 = ++ memcpy::src#2
to:memcpy::@1
void * memset(void *str , char c , unsigned int num)
memset: scope:[memset] from cscroll::@3 cscroll::@4
[495] memset::c#4 = phi( cscroll::@3/' ', cscroll::@4/memset::c#1 )
[495] memset::str#3 = phi( cscroll::@3/(void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28, cscroll::@4/(void *)COLORRAM+(unsigned int)$19*$28-$28 )
to:memset::@1
memset::@1: scope:[memset] from memset
[496] memset::end#0 = (char *)memset::str#3 + $28
[497] memset::dst#4 = (char *)memset::str#3
to:memset::@2
memset::@2: scope:[memset] from memset::@1 memset::@3
[498] memset::dst#2 = phi( memset::@1/memset::dst#4, memset::@3/memset::dst#1 )
[499] if(memset::dst#2!=memset::end#0) goto memset::@3
to:memset::@return
memset::@return: scope:[memset] from memset::@2
[500] return
to:@return
memset::@3: scope:[memset] from memset::@2
[501] *memset::dst#2 = memset::c#4
[502] memset::dst#1 = ++ memset::dst#2
to:memset::@2
null depth in calling loop Loop head: write_score::@9 tails: write_score::@14 blocks: write_score::@14 write_score::@10 write_score::@9 in scope chrout
VARIABLE REGISTER WEIGHTS
void __start()
void chrono_restart()
void chrout(volatile char petscii)
__loadstore volatile char chrout::petscii // 3.0310104636363637E7
void clear_screen(char n , char m)
unsigned int clear_screen::$4 // 100001.0
unsigned int clear_screen::$5 // 66667.33333333333
char clear_screen::m
char clear_screen::n
char clear_screen::n#5 // 12500.125
void conio_c64_init()
char conio_c64_init::line
char conio_c64_init::line#0 // 11.0
char conio_c64_init::line#2 // 22.0
__loadstore char conio_cursor_x // 200133.45333333334
__loadstore char conio_cursor_y // 3516593.4945054944
__loadstore char *conio_line_color // 2662771.1807228914
__loadstore char *conio_line_text // 2600117.7411764706
__loadstore char conio_textcolor // 1629048.4677419355
void cputc(char c)
char cputc::c
char cputc::c#0 // 1050001.5
void cputln()
void cputs(const char *s)
char cputs::c
char cputs::c#1 // 100001.0
const char *cputs::s
const char *cputs::s#0 // 50000.5
const char *cputs::s#10 // 150502.0
const char *cputs::s#11 // 1001.0
void cscroll()
unsigned int div16u8u(unsigned int dividend , char divisor)
unsigned int div16u8u::dividend
unsigned int div16u8u::dividend#0 // 420000.60000000003
char div16u8u::divisor
unsigned int div16u8u::quotient
char div16u8u::quotient_hi
char div16u8u::quotient_hi#0 // 333333.6666666667
char div16u8u::quotient_lo
char div16u8u::quotient_lo#0 // 2000002.0
unsigned int div16u8u::return
unsigned int div16u8u::return#0 // 366667.3333333334
unsigned int div16u8u::return#2 // 9166.833333333332
char divr8u(char dividend , char divisor , char rem)
char divr8u::$1 // 2.00000000002E11
char divr8u::dividend
char divr8u::dividend#0 // 2.500000000025E10
char divr8u::dividend#1 // 2000002.0
char divr8u::dividend#2 // 1000001.0
char divr8u::dividend#3 // 5.0001666667333336E10
char divr8u::dividend#5 // 1.2000003E7
char divr8u::divisor
char divr8u::i
char divr8u::i#1 // 1.500000000015E11
char divr8u::i#2 // 1.6666666666833334E10
char divr8u::quotient
char divr8u::quotient#1 // 1.500000000015E11
char divr8u::quotient#2 // 1.00000000001E11
char divr8u::quotient#3 // 2.8571428571714287E10
char divr8u::rem
char divr8u::rem#0 // 1.00000000001E11
char divr8u::rem#1 // 2.00000000002E11
char divr8u::rem#10 // 1.1000002E7
char divr8u::rem#11 // 2.702711801846847E9
char divr8u::rem#2 // 2.00000000002E11
char divr8u::rem#4 // 2000002.0
char divr8u::rem#5 // 2.00010000003E11
char divr8u::rem#6 // 1.00000000001E11
char divr8u::return
char divr8u::return#0 // 5.000033333416667E10
char divr8u::return#2 // 2000002.0
char divr8u::return#3 // 2000002.0
unsigned int duck
unsigned int duck#0 // 6.6666667333333336E7
unsigned int duck#1 // 4237745.88135593
void gotoxy(char x , char y)
char *gotoxy::$5 // 20002.0
char *gotoxy::$6 // 20002.0
unsigned int gotoxy::$7 // 15001.5
unsigned int gotoxy::$8 // 20002.0
unsigned int gotoxy::$9 // 20002.0
unsigned int gotoxy::line_offset
unsigned int gotoxy::line_offset#0 // 10001.0
char gotoxy::x
char gotoxy::y
char gotoxy::y#2 // 22.0
char gotoxy::y#4 // 6671.0
char gotoxy::y#5 // 6667.333333333333
unsigned int hiscore
unsigned int hiscore#110 // 1.1744186046511627
unsigned int hiscore#123 // 202.0
unsigned int hiscore#124 // 202.0
unsigned int hiscore#19 // 31.076923076923077
char j
char j#11 // 7500.75
char j#13 // 1001.0
char j#16 // 1001.0
char j#19 // 1034.6666666666667
char j#2 // 20002.0
char j#3 // 2002.0
char j#5 // 2002.0
char k
char k#1 // 2002.0
char k#101 // 273.0
__loadstore volatile char l // 455.79148936170213
__loadstore volatile char m // 3.8961039106499544E16
void main()
unsigned int main::$104 // 2500.25
unsigned int main::$107 // 2500.25
unsigned int main::$110 // 2500.25
unsigned int main::$119 // 6667.333333333333
unsigned int main::$120 // 10001.0
unsigned int main::$122 // 10001.0
unsigned int main::$124 // 10001.0
unsigned int main::$125 // 10001.0
unsigned int main::$127 // 10001.0
unsigned int main::$128 // 10001.0
unsigned int main::$130 // 10001.0
unsigned int main::$131 // 10001.0
unsigned int main::$133 // 10001.0
unsigned int main::$134 // 10001.0
unsigned int main::$136 // 10001.0
unsigned int main::$138 // 10001.0
unsigned int main::$139 // 10001.0
unsigned int main::$141 // 10001.0
unsigned int main::$142 // 10001.0
unsigned int main::$144 // 10001.0
unsigned int main::$145 // 10001.0
unsigned int main::$150 // 1001.0
unsigned int main::$151 // 2002.0
unsigned int main::$152 // 1001.0
unsigned int main::$153 // 2002.0
unsigned int main::$154 // 1001.0
unsigned int main::$155 // 2002.0
unsigned int main::$156 // 1001.0
char main::$177 // 2002.0
unsigned int main::$179 // 20002.0
unsigned int main::$180 // 20002.0
char main::$26 // 2002.0
unsigned int main::$29 // 2002.0
unsigned int main::$3 // 101.0
unsigned int main::$35 // 2002.0
unsigned int main::$57 // 2002.0
unsigned int main::$61 // 2.00000002E8
unsigned int main::$66 // 2.00000002E7
unsigned int main::$69 // 2.00000002E7
unsigned int main::$72 // 2.00000002E7
char main::$78 // 20002.0
char main::$81 // 20002.0
char main::$84 // 20002.0
char main::$88 // 20002.0
char main::$92 // 20002.0
unsigned int main::$96 // 15001.5
unsigned int main::$97 // 20002.0
void * memcpy(void *destination , void *source , unsigned int num)
void *memcpy::destination
void *memcpy::destination#2
char *memcpy::dst
char *memcpy::dst#1 // 1.000000000001E12
char *memcpy::dst#2 // 1.0003333333346667E12
char *memcpy::dst#4 // 2.000000002E9
unsigned int memcpy::num
void *memcpy::return
void *memcpy::source
void *memcpy::source#2
char *memcpy::src
char *memcpy::src#1 // 2.000000000002E12
char *memcpy::src#2 // 1.00025000000125E12
char *memcpy::src#4 // 1.000000001E9
char *memcpy::src_end
char *memcpy::src_end#0 // 1.2512500000025E11
void * memset(void *str , char c , unsigned int num)
char memset::c
char memset::c#1 // 2.00000002E8
char memset::c#4 // 1.4287142857171426E11
char *memset::dst
char *memset::dst#1 // 2.000000000002E12
char *memset::dst#2 // 1.3336666666683335E12
char *memset::dst#4 // 2.000000002E9
char *memset::end
char *memset::end#0 // 1.668333333336667E11
unsigned int memset::num
void *memset::return
void *memset::str
void *memset::str#3
char n
char n#1 // 20002.0
char n#101 // 4429.142857142857
char n#109 // 7.769230769230769
char n#14 // 344.8620689655172
char n#20 // 220.07272727272726
char n#52 // 93.84375
char n#89 // 35.644067796610166
unsigned int peephole
unsigned int peephole#12 // 617.7352941176471
unsigned int peephole#52 // 62.5625
void random(char k , char n)
char random::$3 // 5.5E17
char random::k
char random::k#0 // 500.5
char random::k#4 // 2.000000000000002E17
2022-01-30 20:41:50 +00:00
char random::n
char random::n#0 // 2002.0
char random::n#4 // 2.00000000000002E16
void read_chrono()
unsigned int read_chrono::$0 // 200002.0
unsigned int read_chrono::$5 // 200002.0
char rem8u
char rem8u#127 // 11.6
char rem8u#25 // 220.07272727272726
char rem8u#48 // 93.84375
unsigned int score
unsigned int score#13 // 70334.66666666666
unsigned int score#19 // 1272.9090909090908
unsigned int score#38 // 3843.0654205607475
unsigned int score#4 // 2002.0
unsigned int score#43 // 566.0943396226415
unsigned int score#6 // 20002.0
unsigned int score#8 // 10001.0
unsigned int score#81 // 15001.5
char textcolor(char color)
char textcolor::color
char textcolor::color#7 // 1001.0
char textcolor::old
char textcolor::return
unsigned int time
unsigned int time#11 // 20002.0
unsigned int time#17 // 566.0943396226415
unsigned int time#38 // 10001.0
unsigned int tu
unsigned int tu#1 // 166.83333333333334
unsigned int tu#13 // 32.032
void utoa(unsigned int value , char *buffer , char radix)
char utoa::$10 // 2.0000000002E10
char utoa::$11 // 2000002.0
char *utoa::buffer
char *utoa::buffer#10 // 2.857285714714286E9
char *utoa::buffer#15 // 1.50000000015E10
char *utoa::buffer#3 // 2000002.0
char *utoa::buffer#4 // 2.0000000002E10
char utoa::digit
char utoa::digit#1 // 2.0000000002E10
char utoa::digit#2 // 2.857142857428571E9
unsigned int utoa::digit_value
unsigned int utoa::digit_value#0 // 6.0000000006E9
unsigned int *utoa::digit_values
char utoa::max_digits
char utoa::radix
char utoa::started
char utoa::started#2 // 5.0000000005E9
char utoa::started#4 // 1.0000000001E10
unsigned int utoa::value
unsigned int utoa::value#0 // 1.0000000001E10
unsigned int utoa::value#1 // 200002.0
unsigned int utoa::value#10 // 1100103.0
unsigned int utoa::value#2 // 202.0
unsigned int utoa::value#3 // 5.714428572142858E9
unsigned int utoa::value#7 // 1.50000000015E10
unsigned int utoa_append(char *buffer , unsigned int value , unsigned int sub)
char *utoa_append::buffer
char *utoa_append::buffer#0 // 1.375000000025E10
char utoa_append::digit
char utoa_append::digit#1 // 1.0E16
char utoa_append::digit#2 // 1.000005E16
unsigned int utoa_append::return
unsigned int utoa_append::return#0 // 2.0000000002E10
unsigned int utoa_append::sub
unsigned int utoa_append::sub#0 // 3.333335E15
unsigned int utoa_append::value
unsigned int utoa_append::value#0 // 3.6666666667333336E10
unsigned int utoa_append::value#1 // 2.0E16
unsigned int utoa_append::value#2 // 5.000018333333334E15
void wait(char n)
char wait::n
char wait::n#6 // 1.25000000125E8
void write_score()
unsigned int y
unsigned int y#0 // 20002.0
unsigned int y#1 // 20002.0
unsigned int y#10 // 13334.666666666666
unsigned int y#11 // 13334.666666666666
unsigned int y#114 // 11.6
unsigned int y#12 // 13334.666666666666
unsigned int y#13 // 2285.9428571428575
unsigned int y#130 // 20002.0
unsigned int y#141 // 20002.0
unsigned int y#18 // 509.61904761904765
unsigned int y#2 // 20002.0
unsigned int y#3 // 20002.0
unsigned int y#35 // 2353.1764705882347
unsigned int y#49 // 93.84375
unsigned int z
unsigned int z#1 // 200002.0
unsigned int z#100 // 1050.15
unsigned int z#102 // 93.84375
unsigned int z#128 // 93.84375
unsigned int z#2 // 66667.33333333333
unsigned int z#23 // 1.0333333334666666E10
unsigned int z#25 // 2.564438476923077E7
unsigned int z#28 // 266.93333333333334
unsigned int z#4 // 2.0000000002E10
unsigned int z#48 // 857.2285714285714
unsigned int z#53 // 70503.0
unsigned int z#9 // 2002.0
Initial phi equivalence classes
[ conio_c64_init::line#2 conio_c64_init::line#0 ]
[ hiscore#110 hiscore#123 ]
[ k#101 k#1 ]
[ j#13 j#3 ]
[ j#16 j#5 ]
[ tu#13 tu#1 ]
[ peephole#52 peephole#12 y#35 y#141 ]
[ n#52 n#89 n#109 n#20 n#101 n#14 n#1 ]
[ time#11 time#17 time#38 div16u8u::return#2 ]
[ y#13 y#12 y#11 y#10 y#0 y#49 y#114 y#18 y#130 y#1 y#2 y#3 ]
[ score#81 hiscore#19 hiscore#124 score#19 score#43 score#38 score#8 score#13 score#4 score#6 ]
[ j#11 j#2 ]
[ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ]
[ clear_screen::n#5 ]
[ z#2 z#1 ]
[ textcolor::color#7 ]
[ cputs::s#10 cputs::s#11 cputs::s#0 ]
[ random::k#4 random::k#0 ]
[ random::n#4 random::n#0 ]
[ wait::n#6 ]
[ z#53 z#48 z#100 z#102 z#128 z#28 z#9 z#25 z#23 z#4 ]
[ utoa::digit#2 utoa::digit#1 ]
[ utoa::value#3 utoa::value#7 utoa::value#10 utoa::value#2 utoa::value#1 utoa::value#0 ]
[ utoa::started#2 utoa::started#4 ]
[ utoa::buffer#10 utoa::buffer#15 utoa::buffer#4 ]
[ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ]
[ utoa_append::digit#2 utoa_append::digit#1 ]
[ divr8u::rem#5 divr8u::rem#10 divr8u::rem#4 rem8u#48 rem8u#127 rem8u#25 divr8u::rem#11 divr8u::rem#6 divr8u::rem#0 divr8u::rem#1 divr8u::rem#2 ]
[ divr8u::dividend#3 divr8u::dividend#5 divr8u::dividend#1 divr8u::dividend#2 divr8u::dividend#0 ]
[ divr8u::quotient#3 divr8u::return#0 divr8u::quotient#1 divr8u::quotient#2 ]
[ divr8u::i#2 divr8u::i#1 ]
[ memcpy::source#2 ]
[ memcpy::destination#2 ]
[ memcpy::src#2 memcpy::src#4 memcpy::src#1 ]
[ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ]
[ memset::str#3 ]
[ memset::c#4 memset::c#1 ]
[ memset::dst#2 memset::dst#4 memset::dst#1 ]
Added variable conio_cursor_x to live range equivalence class [ conio_cursor_x ]
Added variable conio_cursor_y to live range equivalence class [ conio_cursor_y ]
Added variable conio_line_text to live range equivalence class [ conio_line_text ]
Added variable conio_line_color to live range equivalence class [ conio_line_color ]
Added variable conio_textcolor to live range equivalence class [ conio_textcolor ]
Added variable l to live range equivalence class [ l ]
Added variable m to live range equivalence class [ m ]
Added variable chrout::petscii to live range equivalence class [ chrout::petscii ]
Added variable main::$177 to live range equivalence class [ main::$177 ]
Added variable main::$26 to live range equivalence class [ main::$26 ]
Added variable main::$29 to live range equivalence class [ main::$29 ]
Added variable duck#0 to live range equivalence class [ duck#0 ]
Added variable main::$61 to live range equivalence class [ main::$61 ]
Added variable duck#1 to live range equivalence class [ duck#1 ]
Added variable main::$66 to live range equivalence class [ main::$66 ]
Added variable main::$69 to live range equivalence class [ main::$69 ]
Added variable main::$72 to live range equivalence class [ main::$72 ]
Added variable main::$150 to live range equivalence class [ main::$150 ]
Added variable main::$151 to live range equivalence class [ main::$151 ]
Added variable main::$152 to live range equivalence class [ main::$152 ]
Added variable main::$153 to live range equivalence class [ main::$153 ]
Added variable main::$154 to live range equivalence class [ main::$154 ]
Added variable main::$155 to live range equivalence class [ main::$155 ]
Added variable main::$156 to live range equivalence class [ main::$156 ]
Added variable j#19 to live range equivalence class [ j#19 ]
Added variable main::$78 to live range equivalence class [ main::$78 ]
Added variable main::$81 to live range equivalence class [ main::$81 ]
Added variable main::$84 to live range equivalence class [ main::$84 ]
Added variable main::$88 to live range equivalence class [ main::$88 ]
Added variable main::$92 to live range equivalence class [ main::$92 ]
Added variable main::$96 to live range equivalence class [ main::$96 ]
Added variable main::$179 to live range equivalence class [ main::$179 ]
Added variable main::$180 to live range equivalence class [ main::$180 ]
Added variable main::$97 to live range equivalence class [ main::$97 ]
Added variable main::$104 to live range equivalence class [ main::$104 ]
Added variable main::$107 to live range equivalence class [ main::$107 ]
Added variable main::$110 to live range equivalence class [ main::$110 ]
Added variable main::$125 to live range equivalence class [ main::$125 ]
Added variable main::$127 to live range equivalence class [ main::$127 ]
Added variable main::$128 to live range equivalence class [ main::$128 ]
Added variable main::$130 to live range equivalence class [ main::$130 ]
Added variable main::$131 to live range equivalence class [ main::$131 ]
Added variable main::$133 to live range equivalence class [ main::$133 ]
Added variable main::$134 to live range equivalence class [ main::$134 ]
Added variable main::$136 to live range equivalence class [ main::$136 ]
Added variable main::$138 to live range equivalence class [ main::$138 ]
Added variable main::$139 to live range equivalence class [ main::$139 ]
Added variable main::$141 to live range equivalence class [ main::$141 ]
Added variable main::$142 to live range equivalence class [ main::$142 ]
Added variable main::$144 to live range equivalence class [ main::$144 ]
Added variable main::$145 to live range equivalence class [ main::$145 ]
Added variable main::$119 to live range equivalence class [ main::$119 ]
Added variable main::$120 to live range equivalence class [ main::$120 ]
Added variable main::$122 to live range equivalence class [ main::$122 ]
Added variable main::$124 to live range equivalence class [ main::$124 ]
Added variable main::$57 to live range equivalence class [ main::$57 ]
Added variable main::$35 to live range equivalence class [ main::$35 ]
Added variable main::$3 to live range equivalence class [ main::$3 ]
Added variable gotoxy::$7 to live range equivalence class [ gotoxy::$7 ]
Added variable gotoxy::$8 to live range equivalence class [ gotoxy::$8 ]
Added variable gotoxy::$9 to live range equivalence class [ gotoxy::$9 ]
Added variable gotoxy::line_offset#0 to live range equivalence class [ gotoxy::line_offset#0 ]
Added variable gotoxy::$5 to live range equivalence class [ gotoxy::$5 ]
Added variable gotoxy::$6 to live range equivalence class [ gotoxy::$6 ]
Added variable clear_screen::$5 to live range equivalence class [ clear_screen::$5 ]
Added variable clear_screen::$4 to live range equivalence class [ clear_screen::$4 ]
Added variable cputs::c#1 to live range equivalence class [ cputs::c#1 ]
Added variable cputc::c#0 to live range equivalence class [ cputc::c#0 ]
Added variable random::$3 to live range equivalence class [ random::$3 ]
Added variable utoa::$11 to live range equivalence class [ utoa::$11 ]
Added variable utoa::buffer#3 to live range equivalence class [ utoa::buffer#3 ]
Added variable utoa::$10 to live range equivalence class [ utoa::$10 ]
Added variable utoa::digit_value#0 to live range equivalence class [ utoa::digit_value#0 ]
Added variable utoa_append::buffer#0 to live range equivalence class [ utoa_append::buffer#0 ]
Added variable utoa_append::sub#0 to live range equivalence class [ utoa_append::sub#0 ]
Added variable utoa_append::return#0 to live range equivalence class [ utoa_append::return#0 ]
Added variable read_chrono::$0 to live range equivalence class [ read_chrono::$0 ]
Added variable div16u8u::dividend#0 to live range equivalence class [ div16u8u::dividend#0 ]
Added variable read_chrono::$5 to live range equivalence class [ read_chrono::$5 ]
Added variable divr8u::return#2 to live range equivalence class [ divr8u::return#2 ]
Added variable div16u8u::quotient_hi#0 to live range equivalence class [ div16u8u::quotient_hi#0 ]
Added variable divr8u::return#3 to live range equivalence class [ divr8u::return#3 ]
Added variable div16u8u::quotient_lo#0 to live range equivalence class [ div16u8u::quotient_lo#0 ]
Added variable div16u8u::return#0 to live range equivalence class [ div16u8u::return#0 ]
Added variable divr8u::$1 to live range equivalence class [ divr8u::$1 ]
Added variable memcpy::src_end#0 to live range equivalence class [ memcpy::src_end#0 ]
Added variable memset::end#0 to live range equivalence class [ memset::end#0 ]
Complete equivalence classes
[ conio_c64_init::line#2 conio_c64_init::line#0 ]
[ hiscore#110 hiscore#123 ]
[ k#101 k#1 ]
[ j#13 j#3 ]
[ j#16 j#5 ]
[ tu#13 tu#1 ]
[ peephole#52 peephole#12 y#35 y#141 ]
[ n#52 n#89 n#109 n#20 n#101 n#14 n#1 ]
[ time#11 time#17 time#38 div16u8u::return#2 ]
[ y#13 y#12 y#11 y#10 y#0 y#49 y#114 y#18 y#130 y#1 y#2 y#3 ]
[ score#81 hiscore#19 hiscore#124 score#19 score#43 score#38 score#8 score#13 score#4 score#6 ]
[ j#11 j#2 ]
[ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ]
[ clear_screen::n#5 ]
[ z#2 z#1 ]
[ textcolor::color#7 ]
[ cputs::s#10 cputs::s#11 cputs::s#0 ]
[ random::k#4 random::k#0 ]
[ random::n#4 random::n#0 ]
[ wait::n#6 ]
[ z#53 z#48 z#100 z#102 z#128 z#28 z#9 z#25 z#23 z#4 ]
[ utoa::digit#2 utoa::digit#1 ]
[ utoa::value#3 utoa::value#7 utoa::value#10 utoa::value#2 utoa::value#1 utoa::value#0 ]
[ utoa::started#2 utoa::started#4 ]
[ utoa::buffer#10 utoa::buffer#15 utoa::buffer#4 ]
[ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ]
[ utoa_append::digit#2 utoa_append::digit#1 ]
[ divr8u::rem#5 divr8u::rem#10 divr8u::rem#4 rem8u#48 rem8u#127 rem8u#25 divr8u::rem#11 divr8u::rem#6 divr8u::rem#0 divr8u::rem#1 divr8u::rem#2 ]
[ divr8u::dividend#3 divr8u::dividend#5 divr8u::dividend#1 divr8u::dividend#2 divr8u::dividend#0 ]
[ divr8u::quotient#3 divr8u::return#0 divr8u::quotient#1 divr8u::quotient#2 ]
[ divr8u::i#2 divr8u::i#1 ]
[ memcpy::source#2 ]
[ memcpy::destination#2 ]
[ memcpy::src#2 memcpy::src#4 memcpy::src#1 ]
[ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ]
[ memset::str#3 ]
[ memset::c#4 memset::c#1 ]
[ memset::dst#2 memset::dst#4 memset::dst#1 ]
[ conio_cursor_x ]
[ conio_cursor_y ]
[ conio_line_text ]
[ conio_line_color ]
[ conio_textcolor ]
[ l ]
[ m ]
[ chrout::petscii ]
[ main::$177 ]
[ main::$26 ]
[ main::$29 ]
[ duck#0 ]
[ main::$61 ]
[ duck#1 ]
[ main::$66 ]
[ main::$69 ]
[ main::$72 ]
[ main::$150 ]
[ main::$151 ]
[ main::$152 ]
[ main::$153 ]
[ main::$154 ]
[ main::$155 ]
[ main::$156 ]
[ j#19 ]
[ main::$78 ]
[ main::$81 ]
[ main::$84 ]
[ main::$88 ]
[ main::$92 ]
[ main::$96 ]
[ main::$179 ]
[ main::$180 ]
[ main::$97 ]
[ main::$104 ]
[ main::$107 ]
[ main::$110 ]
[ main::$125 ]
[ main::$127 ]
[ main::$128 ]
[ main::$130 ]
[ main::$131 ]
[ main::$133 ]
[ main::$134 ]
[ main::$136 ]
[ main::$138 ]
[ main::$139 ]
[ main::$141 ]
[ main::$142 ]
[ main::$144 ]
[ main::$145 ]
[ main::$119 ]
[ main::$120 ]
[ main::$122 ]
[ main::$124 ]
[ main::$57 ]
[ main::$35 ]
[ main::$3 ]
[ gotoxy::$7 ]
[ gotoxy::$8 ]
[ gotoxy::$9 ]
[ gotoxy::line_offset#0 ]
[ gotoxy::$5 ]
[ gotoxy::$6 ]
[ clear_screen::$5 ]
[ clear_screen::$4 ]
[ cputs::c#1 ]
[ cputc::c#0 ]
[ random::$3 ]
[ utoa::$11 ]
[ utoa::buffer#3 ]
[ utoa::$10 ]
[ utoa::digit_value#0 ]
[ utoa_append::buffer#0 ]
[ utoa_append::sub#0 ]
[ utoa_append::return#0 ]
[ read_chrono::$0 ]
[ div16u8u::dividend#0 ]
[ read_chrono::$5 ]
[ divr8u::return#2 ]
[ div16u8u::quotient_hi#0 ]
[ divr8u::return#3 ]
[ div16u8u::quotient_lo#0 ]
[ div16u8u::return#0 ]
[ divr8u::$1 ]
[ memcpy::src_end#0 ]
[ memset::end#0 ]
Allocated zp[1]:2 [ random::$3 ]
Allocated zp[1]:3 [ random::k#4 random::k#0 ]
Allocated zp[1]:4 [ m ]
Allocated zp[2]:5 [ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ]
Allocated zp[1]:7 [ utoa_append::digit#2 utoa_append::digit#1 ]
Allocated zp[1]:8 [ random::n#4 random::n#0 ]
Allocated zp[2]:9 [ utoa_append::sub#0 ]
Allocated zp[2]:11 [ memset::dst#2 memset::dst#4 memset::dst#1 ]
Allocated zp[2]:13 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 ]
Allocated zp[2]:15 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ]
Allocated zp[1]:17 [ divr8u::rem#5 divr8u::rem#10 divr8u::rem#4 rem8u#48 rem8u#127 rem8u#25 divr8u::rem#11 divr8u::rem#6 divr8u::rem#0 divr8u::rem#1 divr8u::rem#2 ]
Allocated zp[1]:18 [ divr8u::quotient#3 divr8u::return#0 divr8u::quotient#1 divr8u::quotient#2 ]
Allocated zp[1]:19 [ divr8u::$1 ]
Allocated zp[2]:20 [ memset::end#0 ]
Allocated zp[1]:22 [ divr8u::i#2 divr8u::i#1 ]
Allocated zp[1]:23 [ memset::c#4 memset::c#1 ]
Allocated zp[2]:24 [ memcpy::src_end#0 ]
Allocated zp[1]:26 [ divr8u::dividend#3 divr8u::dividend#5 divr8u::dividend#1 divr8u::dividend#2 divr8u::dividend#0 ]
Allocated zp[2]:27 [ utoa::buffer#10 utoa::buffer#15 utoa::buffer#4 ]
Allocated zp[2]:29 [ utoa::value#3 utoa::value#7 utoa::value#10 utoa::value#2 utoa::value#1 utoa::value#0 ]
Allocated zp[2]:31 [ z#53 z#48 z#100 z#102 z#128 z#28 z#9 z#25 z#23 z#4 ]
Allocated zp[1]:33 [ utoa::digit#2 utoa::digit#1 ]
Allocated zp[1]:34 [ utoa::$10 ]
Allocated zp[2]:35 [ utoa_append::return#0 ]
Allocated zp[1]:37 [ utoa::started#2 utoa::started#4 ]
Allocated zp[2]:38 [ utoa_append::buffer#0 ]
Allocated zp[2]:40 [ utoa::digit_value#0 ]
Allocated zp[2]:42 [ main::$61 ]
Allocated zp[1]:44 [ wait::n#6 ]
Allocated zp[2]:45 [ duck#0 ]
Allocated zp[1]:47 [ chrout::petscii ]
Allocated zp[2]:48 [ main::$66 ]
Allocated zp[2]:50 [ main::$69 ]
Allocated zp[2]:52 [ main::$72 ]
Allocated zp[2]:54 [ duck#1 ]
Allocated zp[1]:56 [ conio_cursor_y ]
Allocated zp[2]:57 [ conio_line_color ]
Allocated zp[2]:59 [ conio_line_text ]
Allocated zp[1]:61 [ utoa::$11 ]
Allocated zp[2]:62 [ utoa::buffer#3 ]
Allocated zp[1]:64 [ divr8u::return#2 ]
Allocated zp[1]:65 [ divr8u::return#3 ]
Allocated zp[1]:66 [ div16u8u::quotient_lo#0 ]
Allocated zp[1]:67 [ conio_textcolor ]
Allocated zp[1]:68 [ cputc::c#0 ]
Allocated zp[2]:69 [ div16u8u::dividend#0 ]
Allocated zp[2]:71 [ div16u8u::return#0 ]
Allocated zp[1]:73 [ div16u8u::quotient_hi#0 ]
Allocated zp[2]:74 [ z#2 z#1 ]
Allocated zp[2]:76 [ cputs::s#10 cputs::s#11 cputs::s#0 ]
Allocated zp[1]:78 [ conio_cursor_x ]
Allocated zp[2]:79 [ read_chrono::$0 ]
Allocated zp[2]:81 [ read_chrono::$5 ]
Allocated zp[2]:83 [ y#13 y#12 y#11 y#10 y#0 y#49 y#114 y#18 y#130 y#1 y#2 y#3 ]
Allocated zp[2]:85 [ score#81 hiscore#19 hiscore#124 score#19 score#43 score#38 score#8 score#13 score#4 score#6 ]
Allocated zp[2]:87 [ clear_screen::$4 ]
Allocated zp[1]:89 [ cputs::c#1 ]
Allocated zp[2]:90 [ clear_screen::$5 ]
Allocated zp[2]:92 [ time#11 time#17 time#38 div16u8u::return#2 ]
Allocated zp[1]:94 [ j#11 j#2 ]
Allocated zp[1]:95 [ n#52 n#89 n#109 n#20 n#101 n#14 n#1 ]
Allocated zp[2]:96 [ peephole#52 peephole#12 y#35 y#141 ]
Allocated zp[1]:98 [ main::$78 ]
Allocated zp[1]:99 [ main::$81 ]
Allocated zp[1]:100 [ main::$84 ]
Allocated zp[1]:101 [ main::$88 ]
Allocated zp[1]:102 [ main::$92 ]
Allocated zp[2]:103 [ main::$179 ]
Allocated zp[2]:105 [ main::$180 ]
Allocated zp[2]:107 [ main::$97 ]
Allocated zp[2]:109 [ gotoxy::$8 ]
Allocated zp[2]:111 [ gotoxy::$9 ]
Allocated zp[2]:113 [ gotoxy::$5 ]
Allocated zp[2]:115 [ gotoxy::$6 ]
Allocated zp[2]:117 [ main::$96 ]
Allocated zp[2]:119 [ gotoxy::$7 ]
Allocated zp[1]:121 [ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ]
Allocated zp[1]:122 [ clear_screen::n#5 ]
Allocated zp[2]:123 [ main::$125 ]
Allocated zp[2]:125 [ main::$127 ]
Allocated zp[2]:127 [ main::$128 ]
Allocated zp[2]:129 [ main::$130 ]
Allocated zp[2]:131 [ main::$131 ]
Allocated zp[2]:133 [ main::$133 ]
Allocated zp[2]:135 [ main::$134 ]
Allocated zp[2]:137 [ main::$136 ]
Allocated zp[2]:139 [ main::$138 ]
Allocated zp[2]:141 [ main::$139 ]
Allocated zp[2]:143 [ main::$141 ]
Allocated zp[2]:145 [ main::$142 ]
Allocated zp[2]:147 [ main::$144 ]
Allocated zp[2]:149 [ main::$145 ]
Allocated zp[2]:151 [ main::$120 ]
Allocated zp[2]:153 [ main::$122 ]
Allocated zp[2]:155 [ main::$124 ]
Allocated zp[2]:157 [ gotoxy::line_offset#0 ]
Allocated zp[2]:159 [ main::$119 ]
Allocated zp[1]:161 [ j#13 j#3 ]
Allocated zp[1]:162 [ j#16 j#5 ]
Allocated zp[2]:163 [ main::$104 ]
Allocated zp[2]:165 [ main::$107 ]
Allocated zp[2]:167 [ main::$110 ]
Allocated zp[1]:169 [ k#101 k#1 ]
Allocated zp[1]:170 [ main::$177 ]
Allocated zp[1]:171 [ main::$26 ]
Allocated zp[2]:172 [ main::$29 ]
Allocated zp[2]:174 [ main::$151 ]
Allocated zp[2]:176 [ main::$153 ]
Allocated zp[2]:178 [ main::$155 ]
Allocated zp[2]:180 [ main::$57 ]
Allocated zp[2]:182 [ main::$35 ]
Allocated zp[1]:184 [ j#19 ]
Allocated zp[1]:185 [ textcolor::color#7 ]
Allocated zp[2]:186 [ main::$150 ]
Allocated zp[2]:188 [ main::$152 ]
Allocated zp[2]:190 [ main::$154 ]
Allocated zp[2]:192 [ main::$156 ]
Allocated zp[1]:194 [ l ]
Allocated zp[2]:195 [ hiscore#110 hiscore#123 ]
Allocated zp[2]:197 [ tu#13 tu#1 ]
Allocated zp[2]:199 [ main::$3 ]
Allocated zp[1]:201 [ conio_c64_init::line#2 conio_c64_init::line#0 ]
Allocated zp[2]:202 [ memcpy::source#2 ]
Allocated zp[2]:204 [ memcpy::destination#2 ]
Allocated zp[2]:206 [ memset::str#3 ]
REGISTER UPLIFT POTENTIAL REGISTERS
Statement [1] conio_cursor_x = 0 [ ] ( [ ] { } ) always clobbers reg byte a
Statement [2] conio_cursor_y = 0 [ ] ( [ ] { } ) always clobbers reg byte a
Statement [3] conio_line_text = DEFAULT_SCREEN [ ] ( [ ] { } ) always clobbers reg byte a
Statement [4] conio_line_color = COLORRAM [ ] ( [ ] { } ) always clobbers reg byte a
Statement [5] conio_textcolor = LIGHT_BLUE [ ] ( [ ] { } ) always clobbers reg byte a
Statement [6] l = 0 [ ] ( [ ] { } ) always clobbers reg byte a
Statement [7] m = 0 [ ] ( [ ] { } ) always clobbers reg byte a
Statement [19] *((char *) 36879) = 8 [ ] ( main:10 [ ] { } ) always clobbers reg byte a
Statement [20] chrout::petscii = lock [ chrout::petscii ] ( main:10 [ chrout::petscii ] { } ) always clobbers reg byte a
Statement [22] chrout::petscii = lower [ chrout::petscii ] ( main:10 [ chrout::petscii ] { } ) always clobbers reg byte a
Statement [24] m = 0 [ m ] ( main:10 [ m ] { } ) always clobbers reg byte a
Statement [25] if(m<$28) goto main::@2 [ m ] ( main:10 [ m ] { } ) always clobbers reg byte a
Statement [40] l = *((char *) 197) [ l rem8u#127 y#114 hiscore#110 n#109 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#109 ] { } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:17 [ divr8u::rem#5 divr8u::rem#10 divr8u::rem#4 rem8u#48 rem8u#127 rem8u#25 divr8u::rem#11 divr8u::rem#6 divr8u::rem#0 divr8u::rem#1 divr8u::rem#2 ]
Removing always clobbered register reg byte a as potential for zp[1]:95 [ n#52 n#89 n#109 n#20 n#101 n#14 n#1 ]
Statement [42] if(l>=5+1) goto main::@4 [ l rem8u#127 y#114 hiscore#110 n#109 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#109 ] { } ) always clobbers reg byte a
Statement [45] *((char *) 36869) = $ff [ l rem8u#127 y#114 hiscore#110 n#109 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#109 ] { } ) always clobbers reg byte a
Statement [46] chrout::petscii = reverse_on [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#109 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#109 ] { } ) always clobbers reg byte a
Statement [48] chrout::petscii = red [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#109 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#109 ] { } ) always clobbers reg byte a
Statement [50] chrout::petscii = down [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#109 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#109 ] { } ) always clobbers reg byte a
Statement [54] chrout::petscii = brick [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 ] { } ) always clobbers reg byte a
Statement [56] *((char *) 8185) = brick [ l rem8u#127 y#114 hiscore#110 n#89 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 ] { } ) always clobbers reg byte a
Statement [57] *((char *)$1ff9+c) = 2 [ l rem8u#127 y#114 hiscore#110 n#89 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 ] { } ) always clobbers reg byte a
Statement [58] chrout::petscii = home [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 ] { } ) always clobbers reg byte a
Statement [60] if(l<1+1) goto main::@12 [ l rem8u#127 y#114 hiscore#110 n#89 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 ] { } ) always clobbers reg byte a
Statement [62] random::k#0 = 7 - l [ l rem8u#127 y#114 hiscore#110 n#89 z#28 random::k#0 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 z#28 random::k#0 ] { { random::k#0 = random::k#4 } { random::n#0 = random::n#4 } } ) always clobbers reg byte a
Statement [63] main::$177 = l << 1 [ l rem8u#127 y#114 hiscore#110 n#89 z#28 random::k#0 main::$177 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 z#28 random::k#0 main::$177 ] { { random::k#0 = random::k#4 } { random::n#0 = random::n#4 } } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:3 [ random::k#4 random::k#0 ]
Statement [64] main::$26 = main::$177 + l [ l rem8u#127 y#114 hiscore#110 n#89 z#28 random::k#0 main::$26 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 z#28 random::k#0 main::$26 ] { { random::k#0 = random::k#4 } { random::n#0 = random::n#4 } } ) always clobbers reg byte a
Statement [65] random::n#0 = $1a - main::$26 [ l rem8u#127 y#114 hiscore#110 n#89 z#28 random::k#0 random::n#0 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 z#28 random::k#0 random::n#0 ] { { random::k#0 = random::k#4 } { random::n#0 = random::n#4 } } ) always clobbers reg byte a
Statement [67] main::$29 = z#28 + m [ l m rem8u#127 y#114 hiscore#110 n#89 z#28 main::$29 ] ( main:10 [ l m rem8u#127 y#114 hiscore#110 n#89 z#28 main::$29 ] { } ) always clobbers reg byte a
Statement [68] if(main::$29<=$1f9) goto main::@14 [ l m rem8u#127 y#114 hiscore#110 n#89 z#28 ] ( main:10 [ l m rem8u#127 y#114 hiscore#110 n#89 z#28 ] { } ) always clobbers reg byte a
Statement [70] *((char *) 36878) = $f [ l rem8u#127 y#114 hiscore#110 n#89 z#128 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 ] { } ) always clobbers reg byte a
Statement [71] chrout::petscii = home [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 ] { } ) always clobbers reg byte a
Statement [73] chrout::petscii = yellow [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 ] { } ) always clobbers reg byte a
Statement [75] chrout::petscii = $50 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 ] { } ) always clobbers reg byte a
Statement [77] chrout::petscii = $54 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 ] { } ) always clobbers reg byte a
Statement [79] chrout::petscii = $53 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 ] { } ) always clobbers reg byte a
Statement [81] chrout::petscii = $3a [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 ] { } ) always clobbers reg byte a
Statement [83] *((char *) 211) = $12 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 ] { } ) always clobbers reg byte a
Statement [88] chrout::petscii = home [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] { } ) always clobbers reg byte a
Statement [90] chrout::petscii = green [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] { } ) always clobbers reg byte a
Statement [92] *((char *) 211) = $a [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] { } ) always clobbers reg byte a
Statement [96] chrout::petscii = home [ l chrout::petscii hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] ( main:10 [ l chrout::petscii hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] { } ) always clobbers reg byte a
Statement [98] chrout::petscii = green [ l chrout::petscii hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] ( main:10 [ l chrout::petscii hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] { } ) always clobbers reg byte a
Statement [100] chrout::petscii = reverse_on [ l chrout::petscii hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] ( main:10 [ l chrout::petscii hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] { } ) always clobbers reg byte a
Statement [102] *((char *) 211) = $f [ l hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] ( main:10 [ l hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] { } ) always clobbers reg byte a
Statement [103] if(tu#13<$a) goto main::@23 [ l hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] ( main:10 [ l hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] { } ) always clobbers reg byte a
Statement [104] chrout::petscii = $31 [ l chrout::petscii hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] ( main:10 [ l chrout::petscii hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] { } ) always clobbers reg byte a
Statement [106] chrout::petscii = $30 [ l chrout::petscii hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] ( main:10 [ l chrout::petscii hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] { } ) always clobbers reg byte a
Statement [110] duck#0 = m [ l hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#0 score#38 ] ( main:10 [ l hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#0 score#38 ] { } ) always clobbers reg byte a
Statement [112] main::$61 = m + $1e15 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#0 main::$61 score#38 ] ( main:10 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#0 main::$61 score#38 ] { } ) always clobbers reg byte a
Statement [113] duck#1 = main::$61 + duck#0 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 score#38 ] ( main:10 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 score#38 ] { } ) always clobbers reg byte a
Statement [114] main::$66 = duck#1 + 1 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$66 score#38 ] ( main:10 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$66 score#38 ] { } ) always clobbers reg byte a
Statement [115] main::$69 = duck#1 + $16 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$66 main::$69 score#38 ] ( main:10 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$66 main::$69 score#38 ] { } ) always clobbers reg byte a
Statement [116] main::$72 = duck#1 + $17 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$66 main::$69 main::$72 score#38 ] ( main:10 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$66 main::$69 main::$72 score#38 ] { } ) always clobbers reg byte a
Statement [117] if(duck#1>$1fe3) goto main::@24 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$66 main::$69 main::$72 score#38 ] ( main:10 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$66 main::$69 main::$72 score#38 ] { } ) always clobbers reg byte a
Statement [118] if(*((char *)duck#1)==brick) goto main::@24 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$66 main::$69 main::$72 score#38 ] ( main:10 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$66 main::$69 main::$72 score#38 ] { } ) always clobbers reg byte a reg byte y
Removing always clobbered register reg byte y as potential for zp[1]:17 [ divr8u::rem#5 divr8u::rem#10 divr8u::rem#4 rem8u#48 rem8u#127 rem8u#25 divr8u::rem#11 divr8u::rem#6 divr8u::rem#0 divr8u::rem#1 divr8u::rem#2 ]
Removing always clobbered register reg byte y as potential for zp[1]:95 [ n#52 n#89 n#109 n#20 n#101 n#14 n#1 ]
Statement [119] if(*((char *)main::$66)==brick) goto main::@24 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$69 main::$72 score#38 ] ( main:10 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$69 main::$72 score#38 ] { } ) always clobbers reg byte a reg byte y
Statement [120] if(*((char *)main::$69)==brick) goto main::@24 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$72 score#38 ] ( main:10 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$72 score#38 ] { } ) always clobbers reg byte a reg byte y
Statement [121] if(*((char *)main::$72)==brick) goto main::@24 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 score#38 ] ( main:10 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 score#38 ] { } ) always clobbers reg byte a reg byte y
Statement [125] if(time#11<$a) goto main::@27 [ l m hiscore#110 rem8u#25 y#18 n#20 tu#13 peephole#12 duck#1 score#19 z#100 ] ( main:10 [ l m hiscore#110 rem8u#25 y#18 n#20 tu#13 peephole#12 duck#1 score#19 z#100 ] { } ) always clobbers reg byte a
Statement [127] score#4 = score#19 - $a [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#4 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#4 ] { { score#13 = score#4 } } ) always clobbers reg byte a
Statement [129] *((char *) 36877) = $82 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 ] { { z#100 = z#53 } } ) always clobbers reg byte a
Statement [131] *((char *) 36877) = 0 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 ] { } ) always clobbers reg byte a
Statement [132] main::$150 = duck#1 + c [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 main::$150 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 main::$150 ] { } ) always clobbers reg byte a
Statement [133] *((char *)main::$150) = 0 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 ] { } ) always clobbers reg byte a reg byte y
Statement [134] main::$151 = duck#1 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 main::$151 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 main::$151 ] { } ) always clobbers reg byte a
Statement [135] main::$152 = main::$151 + 1+c [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 main::$152 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 main::$152 ] { } ) always clobbers reg byte a
Statement [136] *((char *)main::$152) = 0 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 ] { } ) always clobbers reg byte a reg byte y
Statement [137] main::$153 = duck#1 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 main::$153 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 main::$153 ] { } ) always clobbers reg byte a
Statement [138] main::$154 = main::$153 + $16+c [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 main::$154 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 main::$154 ] { } ) always clobbers reg byte a
Statement [139] *((char *)main::$154) = 0 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 ] { } ) always clobbers reg byte a reg byte y
Statement [140] main::$155 = duck#1 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 score#38 main::$155 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 score#38 main::$155 ] { } ) always clobbers reg byte a
Statement [141] main::$156 = main::$155 + $17+c [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 score#38 main::$156 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 score#38 main::$156 ] { } ) always clobbers reg byte a
Statement [142] *((char *)main::$156) = 0 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 score#38 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 score#38 ] { } ) always clobbers reg byte a reg byte y
Statement [143] if(tu#1<$b) goto main::@22 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 score#38 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 score#38 ] { } ) always clobbers reg byte a
Statement [146] *((char *) 36869) = $f0 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color hiscore#110 rem8u#25 y#18 n#20 score#38 ] ( main:10 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color hiscore#110 rem8u#25 y#18 n#20 score#38 ] { } ) always clobbers reg byte a
Statement [147] chrout::petscii = lower [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color chrout::petscii hiscore#110 rem8u#25 y#18 n#20 score#38 ] ( main:10 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color chrout::petscii hiscore#110 rem8u#25 y#18 n#20 score#38 ] { } ) always clobbers reg byte a
Statement [163] if(score#38<=hiscore#110) goto main::@114 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor hiscore#110 rem8u#25 y#18 n#20 score#38 ] ( main:10 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor hiscore#110 rem8u#25 y#18 n#20 score#38 ] { } ) always clobbers reg byte a
Statement [164] hiscore#124 = hiscore#110 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#124 ] ( main:10 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#124 ] { } ) always clobbers reg byte a
Statement [166] utoa::value#2 = hiscore#19 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::value#2 ] ( main:10 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::value#2 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } } ) always clobbers reg byte a
Statement asm { jsr$FD22 } always clobbers reg byte a reg byte x reg byte y
Statement [180] hiscore#123 = hiscore#19 [ rem8u#25 y#18 hiscore#123 n#20 ] ( main:10 [ rem8u#25 y#18 hiscore#123 n#20 ] { } ) always clobbers reg byte a
Statement [183] m = *((char *) 37151) [ l m hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 div16u8u::return#2 ] ( main:10 [ l m hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [184] *((char *) 37154) = $7f [ l m hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 div16u8u::return#2 ] ( main:10 [ l m hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [186] *((char *) 37154) = $ff [ l m hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 div16u8u::return#2 ] ( main:10 [ l m hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [187] main::$78 = $10 & m [ l m hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 main::$78 div16u8u::return#2 ] ( main:10 [ l m hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 main::$78 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [189] y#0 = -- y#18 [ l m hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#0 div16u8u::return#2 ] ( main:10 [ l m hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#0 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [191] main::$81 = $80 & n#14 [ l m hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#10 main::$81 div16u8u::return#2 ] ( main:10 [ l m hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#10 main::$81 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [195] main::$84 = 4 & m [ l m hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#11 main::$84 div16u8u::return#2 ] ( main:10 [ l m hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#11 main::$84 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [197] y#2 = y#11 - $16 [ l m hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#2 div16u8u::return#2 ] ( main:10 [ l m hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#2 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [199] main::$88 = 8 & m [ l m hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#12 main::$88 div16u8u::return#2 ] ( main:10 [ l m hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#12 main::$88 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [201] y#3 = y#12 + $16 [ l m hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#3 div16u8u::return#2 ] ( main:10 [ l m hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#3 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [203] main::$92 = $20 & m [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 main::$92 div16u8u::return#2 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 main::$92 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [205] *((char *) 36877) = $82 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [206] if(peephole#12!=duck#1) goto main::@34 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [207] main::$96 = $c - div16u8u::return#2 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 main::$96 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 main::$96 ] { { z#100 = z#53 } } ) always clobbers reg byte a
Statement [208] main::$179 = main::$96 << 2 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 main::$96 main::$179 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 main::$96 main::$179 ] { { z#100 = z#53 } } ) always clobbers reg byte a
Statement [209] main::$180 = main::$179 + main::$96 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 main::$180 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 main::$180 ] { { z#100 = z#53 } } ) always clobbers reg byte a
Statement [210] main::$97 = main::$180 << 1 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 main::$97 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 main::$97 ] { { z#100 = z#53 } } ) always clobbers reg byte a
Statement [211] score#8 = score#19 + main::$97 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 score#8 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 score#8 ] { { z#100 = z#53 } } ) always clobbers reg byte a
Statement [214] *((char *) 36877) = 0 [ l hiscore#110 tu#13 z#25 peephole#12 duck#1 divr8u::rem#11 n#14 y#13 time#38 score#81 ] ( main:10 [ l hiscore#110 tu#13 z#25 peephole#12 duck#1 divr8u::rem#11 n#14 y#13 time#38 score#81 ] { } ) always clobbers reg byte a
Statement [216] main::$104 = y#13 + 1 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$104 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$104 ] { } ) always clobbers reg byte a
Statement [217] main::$107 = y#13 + $16 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$104 main::$107 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$104 main::$107 ] { } ) always clobbers reg byte a
Statement [218] main::$110 = y#13 + $17 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$104 main::$107 main::$110 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$104 main::$107 main::$110 ] { } ) always clobbers reg byte a
Statement [219] if(*((char *)y#13)==brick) goto main::@36 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$104 main::$107 main::$110 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$104 main::$107 main::$110 ] { } ) always clobbers reg byte a reg byte y
Statement [220] if(*((char *)main::$104)==brick) goto main::@36 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$107 main::$110 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$107 main::$110 ] { } ) always clobbers reg byte a reg byte y
Statement [221] if(*((char *)main::$107)!=brick) goto main::@109 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$110 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$110 ] { } ) always clobbers reg byte a reg byte y
Statement [223] *((char *)y#35) = $fd [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 ] { { z#48 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [224] main::$125 = y#35 + c [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$125 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$125 ] { { z#48 = z#53 } } ) always clobbers reg byte a
Statement [225] *((char *)main::$125) = 1 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 ] { { z#48 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [226] main::$127 = y#35 + 1 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$127 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$127 ] { { z#48 = z#53 } } ) always clobbers reg byte a
Statement [227] *((char *)main::$127) = $ed [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$127 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$127 ] { { z#48 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [228] main::$128 = main::$127 + c [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$128 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$128 ] { { z#48 = z#53 } } ) always clobbers reg byte a
Statement [229] *((char *)main::$128) = 1 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 ] { { z#48 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [230] main::$130 = y#35 + $16 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$130 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$130 ] { { z#48 = z#53 } } ) always clobbers reg byte a
Statement [231] *((char *)main::$130) = $ee [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$130 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$130 ] { { z#48 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [232] main::$131 = main::$130 + c [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$131 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$131 ] { { z#48 = z#53 } } ) always clobbers reg byte a
Statement [233] *((char *)main::$131) = 1 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 ] { { z#48 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [234] main::$133 = y#35 + $17 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$133 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$133 ] { { z#48 = z#53 } } ) always clobbers reg byte a
Statement [235] *((char *)main::$133) = $f0 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$133 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$133 ] { { z#48 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [236] main::$134 = main::$133 + c [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$134 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$134 ] { { z#48 = z#53 } } ) always clobbers reg byte a
Statement [237] *((char *)main::$134) = 1 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 ] { { z#48 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [239] *((char *)duck#1) = 0 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 ] { { z#25 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [240] main::$136 = duck#1 + c [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$136 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$136 ] { { z#25 = z#53 } } ) always clobbers reg byte a
Statement [241] *((char *)main::$136) = 7 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 ] { { z#25 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [242] main::$138 = duck#1 + 1 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$138 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$138 ] { { z#25 = z#53 } } ) always clobbers reg byte a
Statement [243] *((char *)main::$138) = 1 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$138 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$138 ] { { z#25 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [244] main::$139 = main::$138 + c [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$139 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$139 ] { { z#25 = z#53 } } ) always clobbers reg byte a
Statement [245] *((char *)main::$139) = 7 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 ] { { z#25 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [246] main::$141 = duck#1 + $16 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$141 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$141 ] { { z#25 = z#53 } } ) always clobbers reg byte a
Statement [247] *((char *)main::$141) = 2 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$141 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$141 ] { { z#25 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [248] main::$142 = main::$141 + c [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$142 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$142 ] { { z#25 = z#53 } } ) always clobbers reg byte a
Statement [249] *((char *)main::$142) = 7 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 ] { { z#25 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [250] main::$144 = duck#1 + $17 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$144 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$144 ] { { z#25 = z#53 } } ) always clobbers reg byte a
Statement [251] *((char *)main::$144) = 3 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$144 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$144 ] { { z#25 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [252] main::$145 = main::$144 + c [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$145 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$145 ] { { z#25 = z#53 } } ) always clobbers reg byte a
Statement [253] *((char *)main::$145) = 7 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 ] { { z#25 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [255] y#130 = y#35 [ l m hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#130 y#35 n#14 ] ( main:10 [ l m hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#130 y#35 n#14 ] { } ) always clobbers reg byte a
Statement [256] if(*((char *)main::$110)==brick) goto main::@36 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 ] { } ) always clobbers reg byte a reg byte y
Statement [257] if(y#13>$1e16) goto main::@107 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 ] { } ) always clobbers reg byte a
Statement [258] if(y#13>=$1fe3) goto main::@36 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 ] { } ) always clobbers reg byte a
Statement [259] main::$119 = peephole#12 + c [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$119 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$119 ] { } ) always clobbers reg byte a
Statement [260] *((char *)main::$119) = 0 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$119 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$119 ] { } ) always clobbers reg byte a reg byte y
Statement [261] main::$120 = main::$119 + 1 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$119 main::$120 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$119 main::$120 ] { } ) always clobbers reg byte a
Statement [262] *((char *)main::$120) = 0 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$119 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$119 ] { } ) always clobbers reg byte a reg byte y
Statement [263] main::$122 = main::$119 + $16 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$119 main::$122 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$119 main::$122 ] { } ) always clobbers reg byte a
Statement [264] *((char *)main::$122) = 0 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$119 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$119 ] { } ) always clobbers reg byte a reg byte y
Statement [265] main::$124 = main::$119 + $17 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$124 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$124 ] { } ) always clobbers reg byte a
Statement [266] *((char *)main::$124) = 0 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 ] { } ) always clobbers reg byte a reg byte y
Statement [267] y#141 = y#13 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 z#48 y#141 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 z#48 y#141 ] { } ) always clobbers reg byte a
Statement [268] score#6 = score#19 - $a [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#6 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#6 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [272] main::$57 = $30 + tu#13 [ l hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 main::$57 ] ( main:10 [ l hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 main::$57 ] { { chrout::petscii = main::$57 } } ) always clobbers reg byte a
Statement [273] chrout::petscii = main::$57 [ l chrout::petscii hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] ( main:10 [ l chrout::petscii hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] { { chrout::petscii = main::$57 } } ) always clobbers reg byte a
Statement [275] chrout::petscii = ducknumber[j#16] [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 j#16 score#38 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 j#16 score#38 ] { } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:162 [ j#16 j#5 ]
Statement [278] chrout::petscii = chrono[j#13] [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 j#13 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 j#13 ] { } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:161 [ j#13 j#3 ]
Statement [283] chrout::petscii = brick [ l m chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#28 ] ( main:10 [ l m chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#28 ] { } ) always clobbers reg byte a
Statement [285] main::$35 = z#28 + m [ l rem8u#127 y#114 hiscore#110 n#89 main::$35 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 main::$35 ] { } ) always clobbers reg byte a
Statement [286] z#9 = main::$35 + 1 [ l rem8u#127 y#114 hiscore#110 n#89 z#9 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 z#9 ] { } ) always clobbers reg byte a
Statement [287] if(z#9<$1fa) goto main::@13 [ l rem8u#127 y#114 hiscore#110 n#89 z#9 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 z#9 ] { } ) always clobbers reg byte a
Statement [288] chrout::petscii = right [ l m chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#28 j#11 ] ( main:10 [ l m chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#28 j#11 ] { } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:94 [ j#11 j#2 ]
Statement [291] chrout::petscii = brick [ l chrout::petscii rem8u#127 y#114 hiscore#110 k#101 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 k#101 ] { } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:169 [ k#101 k#1 ]
Statement [295] chrout::petscii = brick [ l chrout::petscii rem8u#127 y#114 hiscore#110 k#101 n#101 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 k#101 n#101 ] { } ) always clobbers reg byte a
Statement [298] chrout::petscii = right [ l chrout::petscii rem8u#127 y#114 hiscore#110 k#101 n#101 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 k#101 n#101 ] { } ) always clobbers reg byte a
Statement [301] main::$3 = $1c00 + m [ m main::$3 ] ( main:10 [ m main::$3 ] { } ) always clobbers reg byte a
Statement [302] *((char *)main::$3) = duck_udg[m] [ m ] ( main:10 [ m ] { } ) always clobbers reg byte a reg byte y
Statement [308] conio_cursor_x = 0 [ conio_cursor_x gotoxy::y#5 ] ( gotoxy:17 [ conio_cursor_x gotoxy::y#5 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } conio_c64_init:8::gotoxy:17 [ conio_cursor_x gotoxy::y#5 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } main:10::clear_screen:27::gotoxy:325 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x gotoxy::y#5 ] { } main:10::clear_screen:44::gotoxy:325 [ l rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x gotoxy::y#5 ] { } main:10::clear_screen:145::gotoxy:325 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x gotoxy::y#5 ] { } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:121 [ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ]
Statement [310] gotoxy::$7 = (unsigned int)gotoxy::y#5 [ conio_cursor_x conio_cursor_y gotoxy::$7 ] ( gotoxy:17 [ conio_cursor_x conio_cursor_y gotoxy::$7 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } conio_c64_init:8::gotoxy:17 [ conio_cursor_x conio_cursor_y gotoxy::$7 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } main:10::clear_screen:27::gotoxy:325 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y gotoxy::$7 ] { } main:10::clear_screen:44::gotoxy:325 [ l rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y gotoxy::$7 ] { } main:10::clear_screen:145::gotoxy:325 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y gotoxy::$7 ] { } ) always clobbers reg byte a
Statement [311] gotoxy::$8 = gotoxy::$7 << 2 [ conio_cursor_x conio_cursor_y gotoxy::$7 gotoxy::$8 ] ( gotoxy:17 [ conio_cursor_x conio_cursor_y gotoxy::$7 gotoxy::$8 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } conio_c64_init:8::gotoxy:17 [ conio_cursor_x conio_cursor_y gotoxy::$7 gotoxy::$8 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } main:10::clear_screen:27::gotoxy:325 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y gotoxy::$7 gotoxy::$8 ] { } main:10::clear_screen:44::gotoxy:325 [ l rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y gotoxy::$7 gotoxy::$8 ] { } main:10::clear_screen:145::gotoxy:325 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y gotoxy::$7 gotoxy::$8 ] { } ) always clobbers reg byte a
Statement [312] gotoxy::$9 = gotoxy::$8 + gotoxy::$7 [ conio_cursor_x conio_cursor_y gotoxy::$9 ] ( gotoxy:17 [ conio_cursor_x conio_cursor_y gotoxy::$9 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } conio_c64_init:8::gotoxy:17 [ conio_cursor_x conio_cursor_y gotoxy::$9 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } main:10::clear_screen:27::gotoxy:325 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y gotoxy::$9 ] { } main:10::clear_screen:44::gotoxy:325 [ l rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y gotoxy::$9 ] { } main:10::clear_screen:145::gotoxy:325 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y gotoxy::$9 ] { } ) always clobbers reg byte a
Statement [313] gotoxy::line_offset#0 = gotoxy::$9 << 3 [ conio_cursor_x conio_cursor_y gotoxy::line_offset#0 ] ( gotoxy:17 [ conio_cursor_x conio_cursor_y gotoxy::line_offset#0 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } conio_c64_init:8::gotoxy:17 [ conio_cursor_x conio_cursor_y gotoxy::line_offset#0 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } main:10::clear_screen:27::gotoxy:325 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y gotoxy::line_offset#0 ] { } main:10::clear_screen:44::gotoxy:325 [ l rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y gotoxy::line_offset#0 ] { } main:10::clear_screen:145::gotoxy:325 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y gotoxy::line_offset#0 ] { } ) always clobbers reg byte a
Statement [314] gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0 [ conio_cursor_x conio_cursor_y gotoxy::line_offset#0 gotoxy::$5 ] ( gotoxy:17 [ conio_cursor_x conio_cursor_y gotoxy::line_offset#0 gotoxy::$5 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } conio_c64_init:8::gotoxy:17 [ conio_cursor_x conio_cursor_y gotoxy::line_offset#0 gotoxy::$5 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } main:10::clear_screen:27::gotoxy:325 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y gotoxy::line_offset#0 gotoxy::$5 ] { } main:10::clear_screen:44::gotoxy:325 [ l rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y gotoxy::line_offset#0 gotoxy::$5 ] { } main:10::clear_screen:145::gotoxy:325 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y gotoxy::line_offset#0 gotoxy::$5 ] { } ) always clobbers reg byte a
Statement [315] conio_line_text = gotoxy::$5 [ conio_cursor_x conio_cursor_y conio_line_text gotoxy::line_offset#0 ] ( gotoxy:17 [ conio_cursor_x conio_cursor_y conio_line_text gotoxy::line_offset#0 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } conio_c64_init:8::gotoxy:17 [ conio_cursor_x conio_cursor_y conio_line_text gotoxy::line_offset#0 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } main:10::clear_screen:27::gotoxy:325 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y conio_line_text gotoxy::line_offset#0 ] { } main:10::clear_screen:44::gotoxy:325 [ l rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y conio_line_text gotoxy::line_offset#0 ] { } main:10::clear_screen:145::gotoxy:325 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y conio_line_text gotoxy::line_offset#0 ] { } ) always clobbers reg byte a
Statement [316] gotoxy::$6 = COLORRAM + gotoxy::line_offset#0 [ conio_cursor_x conio_cursor_y conio_line_text gotoxy::$6 ] ( gotoxy:17 [ conio_cursor_x conio_cursor_y conio_line_text gotoxy::$6 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } conio_c64_init:8::gotoxy:17 [ conio_cursor_x conio_cursor_y conio_line_text gotoxy::$6 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } main:10::clear_screen:27::gotoxy:325 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y conio_line_text gotoxy::$6 ] { } main:10::clear_screen:44::gotoxy:325 [ l rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y conio_line_text gotoxy::$6 ] { } main:10::clear_screen:145::gotoxy:325 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y conio_line_text gotoxy::$6 ] { } ) always clobbers reg byte a
Statement [317] conio_line_color = gotoxy::$6 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] ( gotoxy:17 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } conio_c64_init:8::gotoxy:17 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } main:10::clear_screen:27::gotoxy:325 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:10::clear_screen:44::gotoxy:325 [ l rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:10::clear_screen:145::gotoxy:325 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement asm { ldapetscii jsr$ffd2 } always clobbers reg byte a reg byte x reg byte y
Removing always clobbered register reg byte x as potential for zp[1]:17 [ divr8u::rem#5 divr8u::rem#10 divr8u::rem#4 rem8u#48 rem8u#127 rem8u#25 divr8u::rem#11 divr8u::rem#6 divr8u::rem#0 divr8u::rem#1 divr8u::rem#2 ]
Removing always clobbered register reg byte x as potential for zp[1]:95 [ n#52 n#89 n#109 n#20 n#101 n#14 n#1 ]
Removing always clobbered register reg byte x as potential for zp[1]:162 [ j#16 j#5 ]
Removing always clobbered register reg byte y as potential for zp[1]:162 [ j#16 j#5 ]
Removing always clobbered register reg byte x as potential for zp[1]:161 [ j#13 j#3 ]
Removing always clobbered register reg byte y as potential for zp[1]:161 [ j#13 j#3 ]
Removing always clobbered register reg byte x as potential for zp[1]:94 [ j#11 j#2 ]
Removing always clobbered register reg byte y as potential for zp[1]:94 [ j#11 j#2 ]
Removing always clobbered register reg byte x as potential for zp[1]:169 [ k#101 k#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:169 [ k#101 k#1 ]
Statement [323] if(z#2<$1fa) goto clear_screen::@2 [ clear_screen::n#5 z#2 ] ( main:10::clear_screen:27 [ rem8u#127 y#114 hiscore#110 n#109 clear_screen::n#5 z#2 ] { } main:10::clear_screen:44 [ l rem8u#127 y#114 hiscore#110 n#109 clear_screen::n#5 z#2 ] { } main:10::clear_screen:145 [ hiscore#110 rem8u#25 y#18 n#20 score#38 clear_screen::n#5 z#2 ] { } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:122 [ clear_screen::n#5 ]
Statement [326] chrout::petscii = home [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color chrout::petscii ] ( main:10::clear_screen:27 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y conio_line_text conio_line_color chrout::petscii ] { } main:10::clear_screen:44 [ l rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y conio_line_text conio_line_color chrout::petscii ] { } main:10::clear_screen:145 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y conio_line_text conio_line_color chrout::petscii ] { } ) always clobbers reg byte a
Statement [329] clear_screen::$5 = $1e00 + z#2 [ clear_screen::n#5 z#2 clear_screen::$5 ] ( main:10::clear_screen:27 [ rem8u#127 y#114 hiscore#110 n#109 clear_screen::n#5 z#2 clear_screen::$5 ] { } main:10::clear_screen:44 [ l rem8u#127 y#114 hiscore#110 n#109 clear_screen::n#5 z#2 clear_screen::$5 ] { } main:10::clear_screen:145 [ hiscore#110 rem8u#25 y#18 n#20 score#38 clear_screen::n#5 z#2 clear_screen::$5 ] { } ) always clobbers reg byte a
Statement [330] clear_screen::$4 = clear_screen::$5 + c [ clear_screen::n#5 z#2 clear_screen::$5 clear_screen::$4 ] ( main:10::clear_screen:27 [ rem8u#127 y#114 hiscore#110 n#109 clear_screen::n#5 z#2 clear_screen::$5 clear_screen::$4 ] { } main:10::clear_screen:44 [ l rem8u#127 y#114 hiscore#110 n#109 clear_screen::n#5 z#2 clear_screen::$5 clear_screen::$4 ] { } main:10::clear_screen:145 [ hiscore#110 rem8u#25 y#18 n#20 score#38 clear_screen::n#5 z#2 clear_screen::$5 clear_screen::$4 ] { } ) always clobbers reg byte a
Statement [331] *((char *)clear_screen::$4) = 0 [ clear_screen::n#5 z#2 clear_screen::$5 ] ( main:10::clear_screen:27 [ rem8u#127 y#114 hiscore#110 n#109 clear_screen::n#5 z#2 clear_screen::$5 ] { } main:10::clear_screen:44 [ l rem8u#127 y#114 hiscore#110 n#109 clear_screen::n#5 z#2 clear_screen::$5 ] { } main:10::clear_screen:145 [ hiscore#110 rem8u#25 y#18 n#20 score#38 clear_screen::n#5 z#2 clear_screen::$5 ] { } ) always clobbers reg byte a reg byte y
Removing always clobbered register reg byte y as potential for zp[1]:122 [ clear_screen::n#5 ]
Statement [332] *((char *)clear_screen::$5) = clear_screen::n#5 [ clear_screen::n#5 z#2 ] ( main:10::clear_screen:27 [ rem8u#127 y#114 hiscore#110 n#109 clear_screen::n#5 z#2 ] { } main:10::clear_screen:44 [ l rem8u#127 y#114 hiscore#110 n#109 clear_screen::n#5 z#2 ] { } main:10::clear_screen:145 [ hiscore#110 rem8u#25 y#18 n#20 score#38 clear_screen::n#5 z#2 ] { } ) always clobbers reg byte a reg byte y
Statement [339] cputs::c#1 = *cputs::s#10 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor cputs::s#10 cputs::c#1 ] ( main:10::cputs:31 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor cputs::s#10 cputs::c#1 ] { } main:10::cputs:35 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor cputs::s#10 cputs::c#1 ] { } main:10::cputs:39 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor cputs::s#10 cputs::c#1 ] { } main:10::cputs:152 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor cputs::s#10 cputs::c#1 ] { } main:10::cputs:156 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor cputs::s#10 cputs::c#1 ] { } main:10::cputs:158 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor cputs::s#10 cputs::c#1 ] { } main:10::cputs:162 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor cputs::s#10 cputs::c#1 ] { } main:10::cputs:169 [ rem8u#25 y#18 n#20 hiscore#19 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor cputs::s#10 cputs::c#1 ] { } main:10::cputs:173 [ rem8u#25 y#18 n#20 hiscore#19 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor cputs::s#10 cputs::c#1 ] { } ) always clobbers reg byte a reg byte y
Statement [346] m = *((char *) 37140) [ m random::k#4 random::n#4 ] ( main:10::random:66 [ l rem8u#127 y#114 hiscore#110 n#89 z#28 m random::k#4 random::n#4 ] { { random::k#0 = random::k#4 } { random::n#0 = random::n#4 } } main:10::random:109 [ l hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 m random::k#4 random::n#4 ] { } main:10::random:111 [ l hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#0 score#38 m random::k#4 random::n#4 ] { } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:8 [ random::n#4 random::n#0 ]
Statement [352] if(score#13<=$fde8) goto write_score::@15 [ score#13 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#13 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#13 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#13 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [355] m = 0 [ m score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 m score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 m score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 m score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [356] if(m<4) goto write_score::@6 [ m score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 m score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 m score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 m score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [357] utoa::value#1 = score#38 [ score#38 utoa::value#1 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::value#1 ] { { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::value#1 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::value#1 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } } ) always clobbers reg byte a
Statement [359] if(score#38<9+1) goto write_score::@2 [ score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [360] *(points+2) = *buffer [ score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [361] *(points+3) = *(buffer+1) [ score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [362] if(score#38<$63+1) goto write_score::@3 [ score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [363] *(points+1) = *buffer [ score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [364] *(points+2) = *(buffer+1) [ score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [365] *(points+3) = *(buffer+2) [ score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [366] chrout::petscii = yellow [ chrout::petscii score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 chrout::petscii score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 chrout::petscii score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 chrout::petscii score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [368] chrout::petscii = home [ chrout::petscii score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 chrout::petscii score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 chrout::petscii score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 chrout::petscii score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [370] *((char *) 211) = 4 [ score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [371] m = 0 [ m score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 m score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 m score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 m score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [372] if(m<4) goto write_score::@10 [ m score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 m score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 m score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 m score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [374] chrout::petscii = points[m] [ m chrout::petscii score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 m chrout::petscii score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 m chrout::petscii score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 m chrout::petscii score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a reg byte y
Statement [377] points[m] = '0' [ m score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 m score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 m score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 m score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a reg byte y
Statement asm { lda#0 ldy#0 ldx#0 jsr$ffdb } always clobbers reg byte a reg byte x reg byte y
Statement [382] m = 0 [ m wait::n#6 z#53 ] ( main:10::wait:130 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 score#38 m wait::n#6 z#53 ] { { z#100 = z#53 } } main:10::wait:212 [ l hiscore#110 tu#13 peephole#12 duck#1 divr8u::rem#11 n#14 y#13 score#8 m wait::n#6 z#53 ] { { z#100 = z#53 } } main:10::wait:238 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 m wait::n#6 z#53 ] { { z#48 = z#53 } } main:10::wait:254 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 m wait::n#6 z#53 ] { { z#25 = z#53 } } main:10::wait:271 [ l hiscore#110 tu#13 peephole#12 duck#1 score#38 divr8u::rem#11 n#14 y#13 div16u8u::return#2 m wait::n#6 z#53 ] { { z#100 = z#53 } } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:44 [ wait::n#6 ]
Statement [387] if(z#23<$21c) goto wait::@3 [ m wait::n#6 z#23 ] ( main:10::wait:130 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 score#38 m wait::n#6 z#23 ] { { z#100 = z#53 } } main:10::wait:212 [ l hiscore#110 tu#13 peephole#12 duck#1 divr8u::rem#11 n#14 y#13 score#8 m wait::n#6 z#23 ] { { z#100 = z#53 } } main:10::wait:238 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 m wait::n#6 z#23 ] { { z#48 = z#53 } } main:10::wait:254 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 m wait::n#6 z#23 ] { { z#25 = z#53 } } main:10::wait:271 [ l hiscore#110 tu#13 peephole#12 duck#1 score#38 divr8u::rem#11 n#14 y#13 div16u8u::return#2 m wait::n#6 z#23 ] { { z#100 = z#53 } } ) always clobbers reg byte a
Statement [394] *utoa::buffer#10 = DIGITS[utoa::$11] [ utoa::buffer#10 ] ( main:10::utoa:167 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::buffer#10 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } } main:10::write_score:87::utoa:358 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::buffer#10 ] { { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:128::utoa:358 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::buffer#10 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:269::utoa:358 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::buffer#10 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } } ) always clobbers reg byte a reg byte y
Statement [395] utoa::buffer#3 = ++ utoa::buffer#10 [ utoa::buffer#3 ] ( main:10::utoa:167 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::buffer#3 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } } main:10::write_score:87::utoa:358 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::buffer#3 ] { { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:128::utoa:358 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::buffer#3 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:269::utoa:358 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::buffer#3 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } } ) always clobbers reg byte a
Statement [396] *utoa::buffer#3 = 0 [ ] ( main:10::utoa:167 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } } main:10::write_score:87::utoa:358 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] { { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:128::utoa:358 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:269::utoa:358 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } } ) always clobbers reg byte a reg byte y
Statement [398] utoa::$10 = utoa::digit#2 << 1 [ utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::$10 ] ( main:10::utoa:167 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::$10 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } } main:10::write_score:87::utoa:358 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::$10 ] { { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:128::utoa:358 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::$10 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:269::utoa:358 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::$10 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:33 [ utoa::digit#2 utoa::digit#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:37 [ utoa::started#2 utoa::started#4 ]
Statement [399] utoa::digit_value#0 = RADIX_DECIMAL_VALUES[utoa::$10] [ utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] ( main:10::utoa:167 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } } main:10::write_score:87::utoa:358 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:128::utoa:358 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:269::utoa:358 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } } ) always clobbers reg byte a
Statement [401] if(utoa::value#3>=utoa::digit_value#0) goto utoa::@5 [ utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] ( main:10::utoa:167 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } } main:10::write_score:87::utoa:358 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:128::utoa:358 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:269::utoa:358 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } } ) always clobbers reg byte a
Statement [404] utoa_append::buffer#0 = utoa::buffer#10 [ utoa::digit#2 utoa::value#3 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 ] ( main:10::utoa:167 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::digit#2 utoa::value#3 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:87::utoa:358 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::digit#2 utoa::value#3 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 ] { { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:128::utoa:358 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::digit#2 utoa::value#3 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:269::utoa:358 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::digit#2 utoa::value#3 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } ) always clobbers reg byte a
Statement [405] utoa_append::value#0 = utoa::value#3 [ utoa::digit#2 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] ( main:10::utoa:167 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::digit#2 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:87::utoa:358 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::digit#2 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:128::utoa:358 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::digit#2 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:269::utoa:358 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::digit#2 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } ) always clobbers reg byte a
Statement [406] utoa_append::sub#0 = utoa::digit_value#0 [ utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] ( main:10::utoa:167 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:87::utoa:358 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:128::utoa:358 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:269::utoa:358 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } ) always clobbers reg byte a
Statement [408] utoa_append::return#0 = utoa_append::value#2 [ utoa::digit#2 utoa::buffer#10 utoa_append::return#0 ] ( main:10::utoa:167 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::digit#2 utoa::buffer#10 utoa_append::return#0 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:87::utoa:358 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::return#0 ] { { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:128::utoa:358 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::return#0 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:269::utoa:358 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::return#0 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } ) always clobbers reg byte a
Statement [409] utoa::value#0 = utoa_append::return#0 [ utoa::digit#2 utoa::buffer#10 utoa::value#0 ] ( main:10::utoa:167 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::digit#2 utoa::buffer#10 utoa::value#0 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } } main:10::write_score:87::utoa:358 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::digit#2 utoa::buffer#10 utoa::value#0 ] { { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:128::utoa:358 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::digit#2 utoa::buffer#10 utoa::value#0 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:269::utoa:358 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::digit#2 utoa::buffer#10 utoa::value#0 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } } ) always clobbers reg byte a
Statement asm { jsr$ffde stal stxm } always clobbers reg byte a reg byte x reg byte y
Statement [412] read_chrono::$0 = m << 8 [ l read_chrono::$0 ] ( main:10::read_chrono:182 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l read_chrono::$0 ] { { div16u8u::return#0 = div16u8u::return#2 } } ) always clobbers reg byte a
Statement [413] div16u8u::dividend#0 = read_chrono::$0 + l [ l div16u8u::dividend#0 ] ( main:10::read_chrono:182 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l div16u8u::dividend#0 ] { { div16u8u::return#0 = div16u8u::return#2 } } ) always clobbers reg byte a
Statement [415] div16u8u::return#2 = div16u8u::return#0 [ l divr8u::rem#11 div16u8u::return#2 ] ( main:10::read_chrono:182 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l divr8u::rem#11 div16u8u::return#2 ] { { div16u8u::return#0 = div16u8u::return#2 } } ) always clobbers reg byte a
Statement [416] *((char *)$1e15+c) = 7 [ l divr8u::rem#11 div16u8u::return#2 ] ( main:10::read_chrono:182 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l divr8u::rem#11 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [417] *((char *) 7701) = $b9 [ l divr8u::rem#11 div16u8u::return#2 ] ( main:10::read_chrono:182 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l divr8u::rem#11 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [418] if(div16u8u::return#2>=$a) goto read_chrono::@return [ l divr8u::rem#11 div16u8u::return#2 ] ( main:10::read_chrono:182 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l divr8u::rem#11 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [419] read_chrono::$5 = $b9 - div16u8u::return#2 [ l divr8u::rem#11 div16u8u::return#2 read_chrono::$5 ] ( main:10::read_chrono:182 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l divr8u::rem#11 div16u8u::return#2 read_chrono::$5 ] { } ) always clobbers reg byte a
Statement [420] *((char *) 7701) = read_chrono::$5 [ l divr8u::rem#11 div16u8u::return#2 ] ( main:10::read_chrono:182 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l divr8u::rem#11 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [423] conio_line_text[conio_cursor_x] = cputc::c#0 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] ( main:10::cputs:31::cputc:344 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } ) always clobbers reg byte y
Statement [424] conio_line_color[conio_cursor_x] = conio_textcolor [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] ( main:10::cputs:31::cputc:344 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } ) always clobbers reg byte a reg byte y
Statement [426] if(conio_cursor_x!=$28) goto cputc::@return [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] ( main:10::cputs:31::cputc:344 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } ) always clobbers reg byte a
Statement [434] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2 [ utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] ( main:10::utoa:167::utoa_append:407 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:87::utoa:358::utoa_append:407 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] { { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:128::utoa:358::utoa_append:407 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:269::utoa:358::utoa_append:407 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:7 [ utoa_append::digit#2 utoa_append::digit#1 ]
Statement [435] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2] [ utoa_append::value#2 ] ( main:10::utoa:167::utoa_append:407 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::digit#2 utoa::buffer#10 utoa_append::value#2 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:87::utoa:358::utoa_append:407 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::value#2 ] { { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:128::utoa:358::utoa_append:407 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::value#2 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:269::utoa:358::utoa_append:407 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::value#2 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } ) always clobbers reg byte a reg byte y
Removing always clobbered register reg byte y as potential for zp[1]:33 [ utoa::digit#2 utoa::digit#1 ]
Statement [438] utoa_append::value#1 = utoa_append::value#2 - utoa_append::sub#0 [ utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] ( main:10::utoa:167::utoa_append:407 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:87::utoa:358::utoa_append:407 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] { { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:128::utoa:358::utoa_append:407 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:269::utoa:358::utoa_append:407 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } ) always clobbers reg byte a
Statement [450] conio_line_text = conio_line_text + $28 [ conio_cursor_y conio_line_text conio_line_color conio_textcolor ] ( main:10::cputs:31::cputc:344::cputln:428 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:431 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:431 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:431 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } ) always clobbers reg byte a
Statement [451] conio_line_color = conio_line_color + $28 [ conio_cursor_y conio_line_text conio_line_color conio_textcolor ] ( main:10::cputs:31::cputc:344::cputln:428 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:431 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:431 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:431 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } ) always clobbers reg byte a
Statement [452] conio_cursor_x = 0 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] ( main:10::cputs:31::cputc:344::cputln:428 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:431 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:431 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:431 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } ) always clobbers reg byte a
Statement [461] divr8u::rem#1 = divr8u::rem#0 | 1 [ divr8u::dividend#3 divr8u::quotient#3 divr8u::i#2 divr8u::rem#1 ] ( main:10::read_chrono:182::div16u8u:414::divr8u:440 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l div16u8u::dividend#0 divr8u::dividend#3 divr8u::quotient#3 divr8u::i#2 divr8u::rem#1 ] { { div16u8u::return#0 = div16u8u::return#2 } { divr8u::dividend#1 = divr8u::dividend#5 } { divr8u::return#0 = divr8u::return#2 } } main:10::read_chrono:182::div16u8u:414::divr8u:445 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l div16u8u::quotient_hi#0 divr8u::dividend#3 divr8u::quotient#3 divr8u::i#2 divr8u::rem#1 ] { { div16u8u::return#0 = div16u8u::return#2 } { divr8u::rem#10 = divr8u::rem#4 divr8u::rem#11 } { divr8u::dividend#2 = divr8u::dividend#5 } { divr8u::return#0 = divr8u::return#3 } } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:26 [ divr8u::dividend#3 divr8u::dividend#5 divr8u::dividend#1 divr8u::dividend#2 divr8u::dividend#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:18 [ divr8u::quotient#3 divr8u::return#0 divr8u::quotient#1 divr8u::quotient#2 ]
Removing always clobbered register reg byte a as potential for zp[1]:22 [ divr8u::i#2 divr8u::i#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:73 [ div16u8u::quotient_hi#0 ]
Statement [465] if(divr8u::rem#6<div16u8u::divisor#0) goto divr8u::@3 [ divr8u::i#2 divr8u::dividend#0 divr8u::rem#6 divr8u::quotient#1 ] ( main:10::read_chrono:182::div16u8u:414::divr8u:440 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l div16u8u::dividend#0 divr8u::i#2 divr8u::dividend#0 divr8u::rem#6 divr8u::quotient#1 ] { { div16u8u::return#0 = div16u8u::return#2 } { divr8u::dividend#1 = divr8u::dividend#5 } { divr8u::return#0 = divr8u::return#2 } } main:10::read_chrono:182::div16u8u:414::divr8u:445 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l div16u8u::quotient_hi#0 divr8u::i#2 divr8u::dividend#0 divr8u::rem#6 divr8u::quotient#1 ] { { div16u8u::return#0 = div16u8u::return#2 } { divr8u::rem#10 = divr8u::rem#4 divr8u::rem#11 } { divr8u::dividend#2 = divr8u::dividend#5 } { divr8u::return#0 = divr8u::return#3 } } ) always clobbers reg byte a
Statement [467] divr8u::rem#2 = divr8u::rem#6 - div16u8u::divisor#0 [ divr8u::i#2 divr8u::dividend#0 divr8u::quotient#2 divr8u::rem#2 ] ( main:10::read_chrono:182::div16u8u:414::divr8u:440 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l div16u8u::dividend#0 divr8u::i#2 divr8u::dividend#0 divr8u::quotient#2 divr8u::rem#2 ] { { div16u8u::return#0 = div16u8u::return#2 } { divr8u::dividend#1 = divr8u::dividend#5 } { divr8u::return#0 = divr8u::return#2 } } main:10::read_chrono:182::div16u8u:414::divr8u:445 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l div16u8u::quotient_hi#0 divr8u::i#2 divr8u::dividend#0 divr8u::quotient#2 divr8u::rem#2 ] { { div16u8u::return#0 = div16u8u::return#2 } { divr8u::rem#10 = divr8u::rem#4 divr8u::rem#11 } { divr8u::dividend#2 = divr8u::dividend#5 } { divr8u::return#0 = divr8u::return#3 } } ) always clobbers reg byte a reg byte x
Removing always clobbered register reg byte x as potential for zp[1]:22 [ divr8u::i#2 divr8u::i#1 ]
Removing always clobbered register reg byte x as potential for zp[1]:26 [ divr8u::dividend#3 divr8u::dividend#5 divr8u::dividend#1 divr8u::dividend#2 divr8u::dividend#0 ]
Removing always clobbered register reg byte x as potential for zp[1]:18 [ divr8u::quotient#3 divr8u::return#0 divr8u::quotient#1 divr8u::quotient#2 ]
Removing always clobbered register reg byte x as potential for zp[1]:73 [ div16u8u::quotient_hi#0 ]
Statement [472] if(conio_cursor_y!=$19) goto cscroll::@return [ conio_cursor_y conio_line_text conio_line_color conio_textcolor ] ( main:10::cputs:31::cputc:344::cputln:428::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428::cscroll:454 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428::cscroll:454 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:431::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:431::cscroll:454 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:431::cscroll:454 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } ) always clobbers reg byte a
Statement [481] conio_line_text = conio_line_text - $28 [ conio_cursor_y conio_line_text conio_line_color conio_textcolor ] ( main:10::cputs:31::cputc:344::cputln:428::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428::cscroll:454 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428::cscroll:454 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:431::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:431::cscroll:454 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:431::cscroll:454 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } ) always clobbers reg byte a
Statement [482] conio_line_color = conio_line_color - $28 [ conio_cursor_y conio_line_text conio_line_color conio_textcolor ] ( main:10::cputs:31::cputc:344::cputln:428::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428::cscroll:454 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428::cscroll:454 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:431::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:431::cscroll:454 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:431::cscroll:454 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } ) always clobbers reg byte a
Statement [486] memcpy::src_end#0 = (char *)memcpy::source#2 + (unsigned int)$19*$28-$28 [ memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] ( main:10::cputs:31::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy
Statement [487] memcpy::src#4 = (char *)memcpy::source#2 [ memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] ( main:10::cputs:31::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10:
Statement [488] memcpy::dst#4 = (char *)memcpy::destination#2 [ memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] ( main:10::cputs:31::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 con
Statement [490] if(memcpy::src#2!=memcpy::src_end#0) goto memcpy::@2 [ memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] ( main:10::cputs:31::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::
Statement [492] *memcpy::dst#2 = *memcpy::src#2 [ memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] ( main:10::cputs:31::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x co
Statement [496] memset::end#0 = (char *)memset::str#3 + $28 [ memset::str#3 memset::c#4 memset::end#0 ] ( main:10::cputs:31::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 me
Removing always clobbered register reg byte a as potential for zp[1]:23 [ memset::c#4 memset::c#1 ]
Statement [497] memset::dst#4 = (char *)memset::str#3 [ memset::c#4 memset::end#0 memset::dst#4 ] ( main:10::cputs:31::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::en
Statement [499] if(memset::dst#2!=memset::end#0) goto memset::@3 [ memset::c#4 memset::end#0 memset::dst#2 ] ( main:10::cputs:31::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4
Statement [501] *memset::dst#2 = memset::c#4 [ memset::c#4 memset::end#0 memset::dst#2 ] ( main:10::cputs:31::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memse
Removing always clobbered register reg byte y as potential for zp[1]:23 [ memset::c#4 memset::c#1 ]
Statement [1] conio_cursor_x = 0 [ ] ( [ ] { } ) always clobbers reg byte a
Statement [2] conio_cursor_y = 0 [ ] ( [ ] { } ) always clobbers reg byte a
Statement [3] conio_line_text = DEFAULT_SCREEN [ ] ( [ ] { } ) always clobbers reg byte a
Statement [4] conio_line_color = COLORRAM [ ] ( [ ] { } ) always clobbers reg byte a
Statement [5] conio_textcolor = LIGHT_BLUE [ ] ( [ ] { } ) always clobbers reg byte a
Statement [6] l = 0 [ ] ( [ ] { } ) always clobbers reg byte a
Statement [7] m = 0 [ ] ( [ ] { } ) always clobbers reg byte a
Statement [19] *((char *) 36879) = 8 [ ] ( main:10 [ ] { } ) always clobbers reg byte a
Statement [20] chrout::petscii = lock [ chrout::petscii ] ( main:10 [ chrout::petscii ] { } ) always clobbers reg byte a
Statement [22] chrout::petscii = lower [ chrout::petscii ] ( main:10 [ chrout::petscii ] { } ) always clobbers reg byte a
Statement [24] m = 0 [ m ] ( main:10 [ m ] { } ) always clobbers reg byte a
Statement [25] if(m<$28) goto main::@2 [ m ] ( main:10 [ m ] { } ) always clobbers reg byte a
Statement [40] l = *((char *) 197) [ l rem8u#127 y#114 hiscore#110 n#109 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#109 ] { } ) always clobbers reg byte a
Statement [42] if(l>=5+1) goto main::@4 [ l rem8u#127 y#114 hiscore#110 n#109 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#109 ] { } ) always clobbers reg byte a
Statement [45] *((char *) 36869) = $ff [ l rem8u#127 y#114 hiscore#110 n#109 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#109 ] { } ) always clobbers reg byte a
Statement [46] chrout::petscii = reverse_on [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#109 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#109 ] { } ) always clobbers reg byte a
Statement [48] chrout::petscii = red [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#109 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#109 ] { } ) always clobbers reg byte a
Statement [50] chrout::petscii = down [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#109 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#109 ] { } ) always clobbers reg byte a
Statement [53] if(k#101<$16) goto main::@7 [ l rem8u#127 y#114 hiscore#110 k#101 n#89 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 k#101 n#89 ] { } ) always clobbers reg byte a
Statement [54] chrout::petscii = brick [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 ] { } ) always clobbers reg byte a
Statement [56] *((char *) 8185) = brick [ l rem8u#127 y#114 hiscore#110 n#89 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 ] { } ) always clobbers reg byte a
Statement [57] *((char *)$1ff9+c) = 2 [ l rem8u#127 y#114 hiscore#110 n#89 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 ] { } ) always clobbers reg byte a
Statement [58] chrout::petscii = home [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 ] { } ) always clobbers reg byte a
Statement [60] if(l<1+1) goto main::@12 [ l rem8u#127 y#114 hiscore#110 n#89 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 ] { } ) always clobbers reg byte a
Statement [62] random::k#0 = 7 - l [ l rem8u#127 y#114 hiscore#110 n#89 z#28 random::k#0 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 z#28 random::k#0 ] { { random::k#0 = random::k#4 } { random::n#0 = random::n#4 } } ) always clobbers reg byte a
Statement [63] main::$177 = l << 1 [ l rem8u#127 y#114 hiscore#110 n#89 z#28 random::k#0 main::$177 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 z#28 random::k#0 main::$177 ] { { random::k#0 = random::k#4 } { random::n#0 = random::n#4 } } ) always clobbers reg byte a
Statement [64] main::$26 = main::$177 + l [ l rem8u#127 y#114 hiscore#110 n#89 z#28 random::k#0 main::$26 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 z#28 random::k#0 main::$26 ] { { random::k#0 = random::k#4 } { random::n#0 = random::n#4 } } ) always clobbers reg byte a
Statement [65] random::n#0 = $1a - main::$26 [ l rem8u#127 y#114 hiscore#110 n#89 z#28 random::k#0 random::n#0 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 z#28 random::k#0 random::n#0 ] { { random::k#0 = random::k#4 } { random::n#0 = random::n#4 } } ) always clobbers reg byte a
Statement [67] main::$29 = z#28 + m [ l m rem8u#127 y#114 hiscore#110 n#89 z#28 main::$29 ] ( main:10 [ l m rem8u#127 y#114 hiscore#110 n#89 z#28 main::$29 ] { } ) always clobbers reg byte a
Statement [68] if(main::$29<=$1f9) goto main::@14 [ l m rem8u#127 y#114 hiscore#110 n#89 z#28 ] ( main:10 [ l m rem8u#127 y#114 hiscore#110 n#89 z#28 ] { } ) always clobbers reg byte a
Statement [70] *((char *) 36878) = $f [ l rem8u#127 y#114 hiscore#110 n#89 z#128 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 ] { } ) always clobbers reg byte a
Statement [71] chrout::petscii = home [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 ] { } ) always clobbers reg byte a
Statement [73] chrout::petscii = yellow [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 ] { } ) always clobbers reg byte a
Statement [75] chrout::petscii = $50 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 ] { } ) always clobbers reg byte a
Statement [77] chrout::petscii = $54 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 ] { } ) always clobbers reg byte a
Statement [79] chrout::petscii = $53 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 ] { } ) always clobbers reg byte a
Statement [81] chrout::petscii = $3a [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 ] { } ) always clobbers reg byte a
Statement [83] *((char *) 211) = $12 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 ] { } ) always clobbers reg byte a
Statement [85] if(j#13<4) goto main::@18 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 j#13 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 j#13 ] { } ) always clobbers reg byte a
Statement [88] chrout::petscii = home [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] { } ) always clobbers reg byte a
Statement [90] chrout::petscii = green [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] { } ) always clobbers reg byte a
Statement [92] *((char *) 211) = $a [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] { } ) always clobbers reg byte a
Statement [94] if(j#16<5) goto main::@21 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 j#16 score#38 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 j#16 score#38 ] { } ) always clobbers reg byte a
Statement [96] chrout::petscii = home [ l chrout::petscii hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] ( main:10 [ l chrout::petscii hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] { } ) always clobbers reg byte a
Statement [98] chrout::petscii = green [ l chrout::petscii hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] ( main:10 [ l chrout::petscii hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] { } ) always clobbers reg byte a
Statement [100] chrout::petscii = reverse_on [ l chrout::petscii hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] ( main:10 [ l chrout::petscii hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] { } ) always clobbers reg byte a
Statement [102] *((char *) 211) = $f [ l hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] ( main:10 [ l hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] { } ) always clobbers reg byte a
Statement [103] if(tu#13<$a) goto main::@23 [ l hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] ( main:10 [ l hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] { } ) always clobbers reg byte a
Statement [104] chrout::petscii = $31 [ l chrout::petscii hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] ( main:10 [ l chrout::petscii hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] { } ) always clobbers reg byte a
Statement [106] chrout::petscii = $30 [ l chrout::petscii hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] ( main:10 [ l chrout::petscii hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] { } ) always clobbers reg byte a
Statement [110] duck#0 = m [ l hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#0 score#38 ] ( main:10 [ l hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#0 score#38 ] { } ) always clobbers reg byte a
Statement [112] main::$61 = m + $1e15 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#0 main::$61 score#38 ] ( main:10 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#0 main::$61 score#38 ] { } ) always clobbers reg byte a
Statement [113] duck#1 = main::$61 + duck#0 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 score#38 ] ( main:10 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 score#38 ] { } ) always clobbers reg byte a
Statement [114] main::$66 = duck#1 + 1 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$66 score#38 ] ( main:10 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$66 score#38 ] { } ) always clobbers reg byte a
Statement [115] main::$69 = duck#1 + $16 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$66 main::$69 score#38 ] ( main:10 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$66 main::$69 score#38 ] { } ) always clobbers reg byte a
Statement [116] main::$72 = duck#1 + $17 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$66 main::$69 main::$72 score#38 ] ( main:10 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$66 main::$69 main::$72 score#38 ] { } ) always clobbers reg byte a
Statement [117] if(duck#1>$1fe3) goto main::@24 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$66 main::$69 main::$72 score#38 ] ( main:10 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$66 main::$69 main::$72 score#38 ] { } ) always clobbers reg byte a
Statement [118] if(*((char *)duck#1)==brick) goto main::@24 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$66 main::$69 main::$72 score#38 ] ( main:10 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$66 main::$69 main::$72 score#38 ] { } ) always clobbers reg byte a reg byte y
Statement [119] if(*((char *)main::$66)==brick) goto main::@24 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$69 main::$72 score#38 ] ( main:10 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$69 main::$72 score#38 ] { } ) always clobbers reg byte a reg byte y
Statement [120] if(*((char *)main::$69)==brick) goto main::@24 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$72 score#38 ] ( main:10 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 main::$72 score#38 ] { } ) always clobbers reg byte a reg byte y
Statement [121] if(*((char *)main::$72)==brick) goto main::@24 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 score#38 ] ( main:10 [ l m hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#1 score#38 ] { } ) always clobbers reg byte a reg byte y
Statement [125] if(time#11<$a) goto main::@27 [ l m hiscore#110 rem8u#25 y#18 n#20 tu#13 peephole#12 duck#1 score#19 z#100 ] ( main:10 [ l m hiscore#110 rem8u#25 y#18 n#20 tu#13 peephole#12 duck#1 score#19 z#100 ] { } ) always clobbers reg byte a
Statement [127] score#4 = score#19 - $a [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#4 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#4 ] { { score#13 = score#4 } } ) always clobbers reg byte a
Statement [129] *((char *) 36877) = $82 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 ] { { z#100 = z#53 } } ) always clobbers reg byte a
Statement [131] *((char *) 36877) = 0 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 ] { } ) always clobbers reg byte a
Statement [132] main::$150 = duck#1 + c [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 main::$150 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 main::$150 ] { } ) always clobbers reg byte a
Statement [133] *((char *)main::$150) = 0 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 ] { } ) always clobbers reg byte a reg byte y
Statement [134] main::$151 = duck#1 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 main::$151 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 main::$151 ] { } ) always clobbers reg byte a
Statement [135] main::$152 = main::$151 + 1+c [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 main::$152 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 main::$152 ] { } ) always clobbers reg byte a
Statement [136] *((char *)main::$152) = 0 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 ] { } ) always clobbers reg byte a reg byte y
Statement [137] main::$153 = duck#1 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 main::$153 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 main::$153 ] { } ) always clobbers reg byte a
Statement [138] main::$154 = main::$153 + $16+c [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 main::$154 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 main::$154 ] { } ) always clobbers reg byte a
Statement [139] *((char *)main::$154) = 0 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 duck#1 score#38 ] { } ) always clobbers reg byte a reg byte y
Statement [140] main::$155 = duck#1 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 score#38 main::$155 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 score#38 main::$155 ] { } ) always clobbers reg byte a
Statement [141] main::$156 = main::$155 + $17+c [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 score#38 main::$156 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 score#38 main::$156 ] { } ) always clobbers reg byte a
Statement [142] *((char *)main::$156) = 0 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 score#38 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 score#38 ] { } ) always clobbers reg byte a reg byte y
Statement [143] if(tu#1<$b) goto main::@22 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 score#38 ] ( main:10 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 z#25 peephole#12 score#38 ] { } ) always clobbers reg byte a
Statement [146] *((char *) 36869) = $f0 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color hiscore#110 rem8u#25 y#18 n#20 score#38 ] ( main:10 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color hiscore#110 rem8u#25 y#18 n#20 score#38 ] { } ) always clobbers reg byte a
Statement [147] chrout::petscii = lower [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color chrout::petscii hiscore#110 rem8u#25 y#18 n#20 score#38 ] ( main:10 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color chrout::petscii hiscore#110 rem8u#25 y#18 n#20 score#38 ] { } ) always clobbers reg byte a
Statement [163] if(score#38<=hiscore#110) goto main::@114 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor hiscore#110 rem8u#25 y#18 n#20 score#38 ] ( main:10 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor hiscore#110 rem8u#25 y#18 n#20 score#38 ] { } ) always clobbers reg byte a
Statement [164] hiscore#124 = hiscore#110 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#124 ] ( main:10 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#124 ] { } ) always clobbers reg byte a
Statement [166] utoa::value#2 = hiscore#19 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::value#2 ] ( main:10 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::value#2 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } } ) always clobbers reg byte a
Statement asm { jsr$FD22 } always clobbers reg byte a reg byte x reg byte y
Statement [180] hiscore#123 = hiscore#19 [ rem8u#25 y#18 hiscore#123 n#20 ] ( main:10 [ rem8u#25 y#18 hiscore#123 n#20 ] { } ) always clobbers reg byte a
Statement [183] m = *((char *) 37151) [ l m hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 div16u8u::return#2 ] ( main:10 [ l m hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [184] *((char *) 37154) = $7f [ l m hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 div16u8u::return#2 ] ( main:10 [ l m hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [185] n#14 = *((char *) 37152) [ l m hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 div16u8u::return#2 ] ( main:10 [ l m hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [186] *((char *) 37154) = $ff [ l m hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 div16u8u::return#2 ] ( main:10 [ l m hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [187] main::$78 = $10 & m [ l m hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 main::$78 div16u8u::return#2 ] ( main:10 [ l m hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 main::$78 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [189] y#0 = -- y#18 [ l m hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#0 div16u8u::return#2 ] ( main:10 [ l m hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#0 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [191] main::$81 = $80 & n#14 [ l m hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#10 main::$81 div16u8u::return#2 ] ( main:10 [ l m hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#10 main::$81 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [195] main::$84 = 4 & m [ l m hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#11 main::$84 div16u8u::return#2 ] ( main:10 [ l m hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#11 main::$84 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [197] y#2 = y#11 - $16 [ l m hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#2 div16u8u::return#2 ] ( main:10 [ l m hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#2 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [199] main::$88 = 8 & m [ l m hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#12 main::$88 div16u8u::return#2 ] ( main:10 [ l m hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#12 main::$88 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [201] y#3 = y#12 + $16 [ l m hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#3 div16u8u::return#2 ] ( main:10 [ l m hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#3 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [203] main::$92 = $20 & m [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 main::$92 div16u8u::return#2 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 main::$92 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [205] *((char *) 36877) = $82 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [206] if(peephole#12!=duck#1) goto main::@34 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [207] main::$96 = $c - div16u8u::return#2 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 main::$96 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 main::$96 ] { { z#100 = z#53 } } ) always clobbers reg byte a
Statement [208] main::$179 = main::$96 << 2 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 main::$96 main::$179 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 main::$96 main::$179 ] { { z#100 = z#53 } } ) always clobbers reg byte a
Statement [209] main::$180 = main::$179 + main::$96 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 main::$180 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 main::$180 ] { { z#100 = z#53 } } ) always clobbers reg byte a
Statement [210] main::$97 = main::$180 << 1 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 main::$97 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 score#19 z#100 divr8u::rem#11 n#14 y#13 main::$97 ] { { z#100 = z#53 } } ) always clobbers reg byte a
Statement [211] score#8 = score#19 + main::$97 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 score#8 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 score#8 ] { { z#100 = z#53 } } ) always clobbers reg byte a
Statement [214] *((char *) 36877) = 0 [ l hiscore#110 tu#13 z#25 peephole#12 duck#1 divr8u::rem#11 n#14 y#13 time#38 score#81 ] ( main:10 [ l hiscore#110 tu#13 z#25 peephole#12 duck#1 divr8u::rem#11 n#14 y#13 time#38 score#81 ] { } ) always clobbers reg byte a
Statement [216] main::$104 = y#13 + 1 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$104 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$104 ] { } ) always clobbers reg byte a
Statement [217] main::$107 = y#13 + $16 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$104 main::$107 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$104 main::$107 ] { } ) always clobbers reg byte a
Statement [218] main::$110 = y#13 + $17 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$104 main::$107 main::$110 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$104 main::$107 main::$110 ] { } ) always clobbers reg byte a
Statement [219] if(*((char *)y#13)==brick) goto main::@36 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$104 main::$107 main::$110 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$104 main::$107 main::$110 ] { } ) always clobbers reg byte a reg byte y
Statement [220] if(*((char *)main::$104)==brick) goto main::@36 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$107 main::$110 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$107 main::$110 ] { } ) always clobbers reg byte a reg byte y
Statement [221] if(*((char *)main::$107)!=brick) goto main::@109 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$110 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$110 ] { } ) always clobbers reg byte a reg byte y
Statement [223] *((char *)y#35) = $fd [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 ] { { z#48 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [224] main::$125 = y#35 + c [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$125 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$125 ] { { z#48 = z#53 } } ) always clobbers reg byte a
Statement [225] *((char *)main::$125) = 1 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 ] { { z#48 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [226] main::$127 = y#35 + 1 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$127 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$127 ] { { z#48 = z#53 } } ) always clobbers reg byte a
Statement [227] *((char *)main::$127) = $ed [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$127 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$127 ] { { z#48 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [228] main::$128 = main::$127 + c [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$128 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$128 ] { { z#48 = z#53 } } ) always clobbers reg byte a
Statement [229] *((char *)main::$128) = 1 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 ] { { z#48 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [230] main::$130 = y#35 + $16 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$130 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$130 ] { { z#48 = z#53 } } ) always clobbers reg byte a
Statement [231] *((char *)main::$130) = $ee [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$130 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$130 ] { { z#48 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [232] main::$131 = main::$130 + c [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$131 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$131 ] { { z#48 = z#53 } } ) always clobbers reg byte a
Statement [233] *((char *)main::$131) = 1 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 ] { { z#48 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [234] main::$133 = y#35 + $17 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$133 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$133 ] { { z#48 = z#53 } } ) always clobbers reg byte a
Statement [235] *((char *)main::$133) = $f0 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$133 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$133 ] { { z#48 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [236] main::$134 = main::$133 + c [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$134 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 main::$134 ] { { z#48 = z#53 } } ) always clobbers reg byte a
Statement [237] *((char *)main::$134) = 1 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 z#48 ] { { z#48 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [239] *((char *)duck#1) = 0 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 ] { { z#25 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [240] main::$136 = duck#1 + c [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$136 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$136 ] { { z#25 = z#53 } } ) always clobbers reg byte a
Statement [241] *((char *)main::$136) = 7 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 ] { { z#25 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [242] main::$138 = duck#1 + 1 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$138 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$138 ] { { z#25 = z#53 } } ) always clobbers reg byte a
Statement [243] *((char *)main::$138) = 1 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$138 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$138 ] { { z#25 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [244] main::$139 = main::$138 + c [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$139 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$139 ] { { z#25 = z#53 } } ) always clobbers reg byte a
Statement [245] *((char *)main::$139) = 7 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 ] { { z#25 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [246] main::$141 = duck#1 + $16 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$141 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$141 ] { { z#25 = z#53 } } ) always clobbers reg byte a
Statement [247] *((char *)main::$141) = 2 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$141 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$141 ] { { z#25 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [248] main::$142 = main::$141 + c [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$142 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$142 ] { { z#25 = z#53 } } ) always clobbers reg byte a
Statement [249] *((char *)main::$142) = 7 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 ] { { z#25 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [250] main::$144 = duck#1 + $17 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$144 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$144 ] { { z#25 = z#53 } } ) always clobbers reg byte a
Statement [251] *((char *)main::$144) = 3 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$144 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$144 ] { { z#25 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [252] main::$145 = main::$144 + c [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$145 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 main::$145 ] { { z#25 = z#53 } } ) always clobbers reg byte a
Statement [253] *((char *)main::$145) = 7 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 ] ( main:10 [ l hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 ] { { z#25 = z#53 } } ) always clobbers reg byte a reg byte y
Statement [255] y#130 = y#35 [ l m hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#130 y#35 n#14 ] ( main:10 [ l m hiscore#110 tu#13 z#25 duck#1 time#17 score#43 divr8u::rem#11 y#130 y#35 n#14 ] { } ) always clobbers reg byte a
Statement [256] if(*((char *)main::$110)==brick) goto main::@36 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 ] { } ) always clobbers reg byte a reg byte y
Statement [257] if(y#13>$1e16) goto main::@107 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 ] { } ) always clobbers reg byte a
Statement [258] if(y#13>=$1fe3) goto main::@36 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 ] { } ) always clobbers reg byte a
Statement [259] main::$119 = peephole#12 + c [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$119 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$119 ] { } ) always clobbers reg byte a
Statement [260] *((char *)main::$119) = 0 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$119 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$119 ] { } ) always clobbers reg byte a reg byte y
Statement [261] main::$120 = main::$119 + 1 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$119 main::$120 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$119 main::$120 ] { } ) always clobbers reg byte a
Statement [262] *((char *)main::$120) = 0 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$119 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$119 ] { } ) always clobbers reg byte a reg byte y
Statement [263] main::$122 = main::$119 + $16 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$119 main::$122 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$119 main::$122 ] { } ) always clobbers reg byte a
Statement [264] *((char *)main::$122) = 0 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$119 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$119 ] { } ) always clobbers reg byte a reg byte y
Statement [265] main::$124 = main::$119 + $17 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$124 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 main::$124 ] { } ) always clobbers reg byte a
Statement [266] *((char *)main::$124) = 0 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 y#13 z#48 ] { } ) always clobbers reg byte a reg byte y
Statement [267] y#141 = y#13 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 z#48 y#141 ] ( main:10 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 n#14 z#48 y#141 ] { } ) always clobbers reg byte a
Statement [268] score#6 = score#19 - $a [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#6 ] ( main:10 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#6 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [272] main::$57 = $30 + tu#13 [ l hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 main::$57 ] ( main:10 [ l hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 main::$57 ] { { chrout::petscii = main::$57 } } ) always clobbers reg byte a
Statement [273] chrout::petscii = main::$57 [ l chrout::petscii hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] ( main:10 [ l chrout::petscii hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 ] { { chrout::petscii = main::$57 } } ) always clobbers reg byte a
Statement [275] chrout::petscii = ducknumber[j#16] [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 j#16 score#38 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 j#16 score#38 ] { } ) always clobbers reg byte a reg byte y
Statement [278] chrout::petscii = chrono[j#13] [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 j#13 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#128 j#13 ] { } ) always clobbers reg byte a reg byte y
Statement [282] if(j#11<=m) goto main::@15 [ l m rem8u#127 y#114 hiscore#110 n#89 z#28 j#11 ] ( main:10 [ l m rem8u#127 y#114 hiscore#110 n#89 z#28 j#11 ] { } ) always clobbers reg byte a
Statement [283] chrout::petscii = brick [ l m chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#28 ] ( main:10 [ l m chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#28 ] { } ) always clobbers reg byte a
Statement [285] main::$35 = z#28 + m [ l rem8u#127 y#114 hiscore#110 n#89 main::$35 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 main::$35 ] { } ) always clobbers reg byte a
Statement [286] z#9 = main::$35 + 1 [ l rem8u#127 y#114 hiscore#110 n#89 z#9 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 z#9 ] { } ) always clobbers reg byte a
Statement [287] if(z#9<$1fa) goto main::@13 [ l rem8u#127 y#114 hiscore#110 n#89 z#9 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 n#89 z#9 ] { } ) always clobbers reg byte a
Statement [288] chrout::petscii = right [ l m chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#28 j#11 ] ( main:10 [ l m chrout::petscii rem8u#127 y#114 hiscore#110 n#89 z#28 j#11 ] { } ) always clobbers reg byte a
Statement [291] chrout::petscii = brick [ l chrout::petscii rem8u#127 y#114 hiscore#110 k#101 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 k#101 ] { } ) always clobbers reg byte a
Statement [294] if(n#101<$16) goto main::@10 [ l rem8u#127 y#114 hiscore#110 k#101 n#101 ] ( main:10 [ l rem8u#127 y#114 hiscore#110 k#101 n#101 ] { } ) always clobbers reg byte a
Statement [295] chrout::petscii = brick [ l chrout::petscii rem8u#127 y#114 hiscore#110 k#101 n#101 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 k#101 n#101 ] { } ) always clobbers reg byte a
Statement [298] chrout::petscii = right [ l chrout::petscii rem8u#127 y#114 hiscore#110 k#101 n#101 ] ( main:10 [ l chrout::petscii rem8u#127 y#114 hiscore#110 k#101 n#101 ] { } ) always clobbers reg byte a
Statement [301] main::$3 = $1c00 + m [ m main::$3 ] ( main:10 [ m main::$3 ] { } ) always clobbers reg byte a
Statement [302] *((char *)main::$3) = duck_udg[m] [ m ] ( main:10 [ m ] { } ) always clobbers reg byte a reg byte y
Statement [308] conio_cursor_x = 0 [ conio_cursor_x gotoxy::y#5 ] ( gotoxy:17 [ conio_cursor_x gotoxy::y#5 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } conio_c64_init:8::gotoxy:17 [ conio_cursor_x gotoxy::y#5 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } main:10::clear_screen:27::gotoxy:325 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x gotoxy::y#5 ] { } main:10::clear_screen:44::gotoxy:325 [ l rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x gotoxy::y#5 ] { } main:10::clear_screen:145::gotoxy:325 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x gotoxy::y#5 ] { } ) always clobbers reg byte a
Statement [310] gotoxy::$7 = (unsigned int)gotoxy::y#5 [ conio_cursor_x conio_cursor_y gotoxy::$7 ] ( gotoxy:17 [ conio_cursor_x conio_cursor_y gotoxy::$7 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } conio_c64_init:8::gotoxy:17 [ conio_cursor_x conio_cursor_y gotoxy::$7 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } main:10::clear_screen:27::gotoxy:325 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y gotoxy::$7 ] { } main:10::clear_screen:44::gotoxy:325 [ l rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y gotoxy::$7 ] { } main:10::clear_screen:145::gotoxy:325 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y gotoxy::$7 ] { } ) always clobbers reg byte a
Statement [311] gotoxy::$8 = gotoxy::$7 << 2 [ conio_cursor_x conio_cursor_y gotoxy::$7 gotoxy::$8 ] ( gotoxy:17 [ conio_cursor_x conio_cursor_y gotoxy::$7 gotoxy::$8 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } conio_c64_init:8::gotoxy:17 [ conio_cursor_x conio_cursor_y gotoxy::$7 gotoxy::$8 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } main:10::clear_screen:27::gotoxy:325 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y gotoxy::$7 gotoxy::$8 ] { } main:10::clear_screen:44::gotoxy:325 [ l rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y gotoxy::$7 gotoxy::$8 ] { } main:10::clear_screen:145::gotoxy:325 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y gotoxy::$7 gotoxy::$8 ] { } ) always clobbers reg byte a
Statement [312] gotoxy::$9 = gotoxy::$8 + gotoxy::$7 [ conio_cursor_x conio_cursor_y gotoxy::$9 ] ( gotoxy:17 [ conio_cursor_x conio_cursor_y gotoxy::$9 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } conio_c64_init:8::gotoxy:17 [ conio_cursor_x conio_cursor_y gotoxy::$9 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } main:10::clear_screen:27::gotoxy:325 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y gotoxy::$9 ] { } main:10::clear_screen:44::gotoxy:325 [ l rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y gotoxy::$9 ] { } main:10::clear_screen:145::gotoxy:325 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y gotoxy::$9 ] { } ) always clobbers reg byte a
Statement [313] gotoxy::line_offset#0 = gotoxy::$9 << 3 [ conio_cursor_x conio_cursor_y gotoxy::line_offset#0 ] ( gotoxy:17 [ conio_cursor_x conio_cursor_y gotoxy::line_offset#0 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } conio_c64_init:8::gotoxy:17 [ conio_cursor_x conio_cursor_y gotoxy::line_offset#0 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } main:10::clear_screen:27::gotoxy:325 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y gotoxy::line_offset#0 ] { } main:10::clear_screen:44::gotoxy:325 [ l rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y gotoxy::line_offset#0 ] { } main:10::clear_screen:145::gotoxy:325 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y gotoxy::line_offset#0 ] { } ) always clobbers reg byte a
Statement [314] gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0 [ conio_cursor_x conio_cursor_y gotoxy::line_offset#0 gotoxy::$5 ] ( gotoxy:17 [ conio_cursor_x conio_cursor_y gotoxy::line_offset#0 gotoxy::$5 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } conio_c64_init:8::gotoxy:17 [ conio_cursor_x conio_cursor_y gotoxy::line_offset#0 gotoxy::$5 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } main:10::clear_screen:27::gotoxy:325 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y gotoxy::line_offset#0 gotoxy::$5 ] { } main:10::clear_screen:44::gotoxy:325 [ l rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y gotoxy::line_offset#0 gotoxy::$5 ] { } main:10::clear_screen:145::gotoxy:325 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y gotoxy::line_offset#0 gotoxy::$5 ] { } ) always clobbers reg byte a
Statement [315] conio_line_text = gotoxy::$5 [ conio_cursor_x conio_cursor_y conio_line_text gotoxy::line_offset#0 ] ( gotoxy:17 [ conio_cursor_x conio_cursor_y conio_line_text gotoxy::line_offset#0 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } conio_c64_init:8::gotoxy:17 [ conio_cursor_x conio_cursor_y conio_line_text gotoxy::line_offset#0 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } main:10::clear_screen:27::gotoxy:325 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y conio_line_text gotoxy::line_offset#0 ] { } main:10::clear_screen:44::gotoxy:325 [ l rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y conio_line_text gotoxy::line_offset#0 ] { } main:10::clear_screen:145::gotoxy:325 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y conio_line_text gotoxy::line_offset#0 ] { } ) always clobbers reg byte a
Statement [316] gotoxy::$6 = COLORRAM + gotoxy::line_offset#0 [ conio_cursor_x conio_cursor_y conio_line_text gotoxy::$6 ] ( gotoxy:17 [ conio_cursor_x conio_cursor_y conio_line_text gotoxy::$6 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } conio_c64_init:8::gotoxy:17 [ conio_cursor_x conio_cursor_y conio_line_text gotoxy::$6 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } main:10::clear_screen:27::gotoxy:325 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y conio_line_text gotoxy::$6 ] { } main:10::clear_screen:44::gotoxy:325 [ l rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y conio_line_text gotoxy::$6 ] { } main:10::clear_screen:145::gotoxy:325 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y conio_line_text gotoxy::$6 ] { } ) always clobbers reg byte a
Statement [317] conio_line_color = gotoxy::$6 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] ( gotoxy:17 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } conio_c64_init:8::gotoxy:17 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } } main:10::clear_screen:27::gotoxy:325 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:10::clear_screen:44::gotoxy:325 [ l rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:10::clear_screen:145::gotoxy:325 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement asm { ldapetscii jsr$ffd2 } always clobbers reg byte a reg byte x reg byte y
Statement [323] if(z#2<$1fa) goto clear_screen::@2 [ clear_screen::n#5 z#2 ] ( main:10::clear_screen:27 [ rem8u#127 y#114 hiscore#110 n#109 clear_screen::n#5 z#2 ] { } main:10::clear_screen:44 [ l rem8u#127 y#114 hiscore#110 n#109 clear_screen::n#5 z#2 ] { } main:10::clear_screen:145 [ hiscore#110 rem8u#25 y#18 n#20 score#38 clear_screen::n#5 z#2 ] { } ) always clobbers reg byte a
Statement [326] chrout::petscii = home [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color chrout::petscii ] ( main:10::clear_screen:27 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y conio_line_text conio_line_color chrout::petscii ] { } main:10::clear_screen:44 [ l rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y conio_line_text conio_line_color chrout::petscii ] { } main:10::clear_screen:145 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y conio_line_text conio_line_color chrout::petscii ] { } ) always clobbers reg byte a
Statement [329] clear_screen::$5 = $1e00 + z#2 [ clear_screen::n#5 z#2 clear_screen::$5 ] ( main:10::clear_screen:27 [ rem8u#127 y#114 hiscore#110 n#109 clear_screen::n#5 z#2 clear_screen::$5 ] { } main:10::clear_screen:44 [ l rem8u#127 y#114 hiscore#110 n#109 clear_screen::n#5 z#2 clear_screen::$5 ] { } main:10::clear_screen:145 [ hiscore#110 rem8u#25 y#18 n#20 score#38 clear_screen::n#5 z#2 clear_screen::$5 ] { } ) always clobbers reg byte a
Statement [330] clear_screen::$4 = clear_screen::$5 + c [ clear_screen::n#5 z#2 clear_screen::$5 clear_screen::$4 ] ( main:10::clear_screen:27 [ rem8u#127 y#114 hiscore#110 n#109 clear_screen::n#5 z#2 clear_screen::$5 clear_screen::$4 ] { } main:10::clear_screen:44 [ l rem8u#127 y#114 hiscore#110 n#109 clear_screen::n#5 z#2 clear_screen::$5 clear_screen::$4 ] { } main:10::clear_screen:145 [ hiscore#110 rem8u#25 y#18 n#20 score#38 clear_screen::n#5 z#2 clear_screen::$5 clear_screen::$4 ] { } ) always clobbers reg byte a
Statement [331] *((char *)clear_screen::$4) = 0 [ clear_screen::n#5 z#2 clear_screen::$5 ] ( main:10::clear_screen:27 [ rem8u#127 y#114 hiscore#110 n#109 clear_screen::n#5 z#2 clear_screen::$5 ] { } main:10::clear_screen:44 [ l rem8u#127 y#114 hiscore#110 n#109 clear_screen::n#5 z#2 clear_screen::$5 ] { } main:10::clear_screen:145 [ hiscore#110 rem8u#25 y#18 n#20 score#38 clear_screen::n#5 z#2 clear_screen::$5 ] { } ) always clobbers reg byte a reg byte y
Statement [332] *((char *)clear_screen::$5) = clear_screen::n#5 [ clear_screen::n#5 z#2 ] ( main:10::clear_screen:27 [ rem8u#127 y#114 hiscore#110 n#109 clear_screen::n#5 z#2 ] { } main:10::clear_screen:44 [ l rem8u#127 y#114 hiscore#110 n#109 clear_screen::n#5 z#2 ] { } main:10::clear_screen:145 [ hiscore#110 rem8u#25 y#18 n#20 score#38 clear_screen::n#5 z#2 ] { } ) always clobbers reg byte a reg byte y
Statement [339] cputs::c#1 = *cputs::s#10 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor cputs::s#10 cputs::c#1 ] ( main:10::cputs:31 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor cputs::s#10 cputs::c#1 ] { } main:10::cputs:35 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor cputs::s#10 cputs::c#1 ] { } main:10::cputs:39 [ rem8u#127 y#114 hiscore#110 n#109 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor cputs::s#10 cputs::c#1 ] { } main:10::cputs:152 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor cputs::s#10 cputs::c#1 ] { } main:10::cputs:156 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor cputs::s#10 cputs::c#1 ] { } main:10::cputs:158 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor cputs::s#10 cputs::c#1 ] { } main:10::cputs:162 [ hiscore#110 rem8u#25 y#18 n#20 score#38 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor cputs::s#10 cputs::c#1 ] { } main:10::cputs:169 [ rem8u#25 y#18 n#20 hiscore#19 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor cputs::s#10 cputs::c#1 ] { } main:10::cputs:173 [ rem8u#25 y#18 n#20 hiscore#19 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor cputs::s#10 cputs::c#1 ] { } ) always clobbers reg byte a reg byte y
Statement [346] m = *((char *) 37140) [ m random::k#4 random::n#4 ] ( main:10::random:66 [ l rem8u#127 y#114 hiscore#110 n#89 z#28 m random::k#4 random::n#4 ] { { random::k#0 = random::k#4 } { random::n#0 = random::n#4 } } main:10::random:109 [ l hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 score#38 m random::k#4 random::n#4 ] { } main:10::random:111 [ l hiscore#110 tu#13 rem8u#48 y#49 z#102 peephole#52 n#52 duck#0 score#38 m random::k#4 random::n#4 ] { } ) always clobbers reg byte a
Statement [352] if(score#13<=$fde8) goto write_score::@15 [ score#13 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#13 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#13 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#13 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [355] m = 0 [ m score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 m score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 m score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 m score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [356] if(m<4) goto write_score::@6 [ m score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 m score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 m score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 m score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [357] utoa::value#1 = score#38 [ score#38 utoa::value#1 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::value#1 ] { { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::value#1 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::value#1 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } } ) always clobbers reg byte a
Statement [359] if(score#38<9+1) goto write_score::@2 [ score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [360] *(points+2) = *buffer [ score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [361] *(points+3) = *(buffer+1) [ score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [362] if(score#38<$63+1) goto write_score::@3 [ score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [363] *(points+1) = *buffer [ score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [364] *(points+2) = *(buffer+1) [ score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [365] *(points+3) = *(buffer+2) [ score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [366] chrout::petscii = yellow [ chrout::petscii score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 chrout::petscii score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 chrout::petscii score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 chrout::petscii score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [368] chrout::petscii = home [ chrout::petscii score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 chrout::petscii score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 chrout::petscii score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 chrout::petscii score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [370] *((char *) 211) = 4 [ score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [371] m = 0 [ m score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 m score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 m score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 m score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [372] if(m<4) goto write_score::@10 [ m score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 m score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 m score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 m score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a
Statement [374] chrout::petscii = points[m] [ m chrout::petscii score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 m chrout::petscii score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 m chrout::petscii score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 m chrout::petscii score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a reg byte y
Statement [377] points[m] = '0' [ m score#38 ] ( main:10::write_score:87 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 m score#38 ] { } main:10::write_score:128 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 m score#38 ] { { score#13 = score#4 } } main:10::write_score:269 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 m score#38 ] { { score#13 = score#6 } } ) always clobbers reg byte a reg byte y
Statement asm { lda#0 ldy#0 ldx#0 jsr$ffdb } always clobbers reg byte a reg byte x reg byte y
Statement [382] m = 0 [ m wait::n#6 z#53 ] ( main:10::wait:130 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 score#38 m wait::n#6 z#53 ] { { z#100 = z#53 } } main:10::wait:212 [ l hiscore#110 tu#13 peephole#12 duck#1 divr8u::rem#11 n#14 y#13 score#8 m wait::n#6 z#53 ] { { z#100 = z#53 } } main:10::wait:238 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 m wait::n#6 z#53 ] { { z#48 = z#53 } } main:10::wait:254 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 m wait::n#6 z#53 ] { { z#25 = z#53 } } main:10::wait:271 [ l hiscore#110 tu#13 peephole#12 duck#1 score#38 divr8u::rem#11 n#14 y#13 div16u8u::return#2 m wait::n#6 z#53 ] { { z#100 = z#53 } } ) always clobbers reg byte a
Statement [387] if(z#23<$21c) goto wait::@3 [ m wait::n#6 z#23 ] ( main:10::wait:130 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 score#38 m wait::n#6 z#23 ] { { z#100 = z#53 } } main:10::wait:212 [ l hiscore#110 tu#13 peephole#12 duck#1 divr8u::rem#11 n#14 y#13 score#8 m wait::n#6 z#23 ] { { z#100 = z#53 } } main:10::wait:238 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 m wait::n#6 z#23 ] { { z#48 = z#53 } } main:10::wait:254 [ l hiscore#110 tu#13 duck#1 time#17 score#43 divr8u::rem#11 y#35 n#14 m wait::n#6 z#23 ] { { z#25 = z#53 } } main:10::wait:271 [ l hiscore#110 tu#13 peephole#12 duck#1 score#38 divr8u::rem#11 n#14 y#13 div16u8u::return#2 m wait::n#6 z#23 ] { { z#100 = z#53 } } ) always clobbers reg byte a
Statement [394] *utoa::buffer#10 = DIGITS[utoa::$11] [ utoa::buffer#10 ] ( main:10::utoa:167 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::buffer#10 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } } main:10::write_score:87::utoa:358 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::buffer#10 ] { { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:128::utoa:358 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::buffer#10 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:269::utoa:358 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::buffer#10 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } } ) always clobbers reg byte a reg byte y
Statement [395] utoa::buffer#3 = ++ utoa::buffer#10 [ utoa::buffer#3 ] ( main:10::utoa:167 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::buffer#3 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } } main:10::write_score:87::utoa:358 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::buffer#3 ] { { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:128::utoa:358 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::buffer#3 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:269::utoa:358 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::buffer#3 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } } ) always clobbers reg byte a
Statement [396] *utoa::buffer#3 = 0 [ ] ( main:10::utoa:167 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } } main:10::write_score:87::utoa:358 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 ] { { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:128::utoa:358 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:269::utoa:358 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } } ) always clobbers reg byte a reg byte y
Statement [398] utoa::$10 = utoa::digit#2 << 1 [ utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::$10 ] ( main:10::utoa:167 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::$10 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } } main:10::write_score:87::utoa:358 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::$10 ] { { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:128::utoa:358 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::$10 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:269::utoa:358 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::$10 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } } ) always clobbers reg byte a
Statement [399] utoa::digit_value#0 = RADIX_DECIMAL_VALUES[utoa::$10] [ utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] ( main:10::utoa:167 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } } main:10::write_score:87::utoa:358 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:128::utoa:358 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:269::utoa:358 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } } ) always clobbers reg byte a
Statement [401] if(utoa::value#3>=utoa::digit_value#0) goto utoa::@5 [ utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] ( main:10::utoa:167 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } } main:10::write_score:87::utoa:358 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:128::utoa:358 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:269::utoa:358 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } } ) always clobbers reg byte a
Statement [404] utoa_append::buffer#0 = utoa::buffer#10 [ utoa::digit#2 utoa::value#3 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 ] ( main:10::utoa:167 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::digit#2 utoa::value#3 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:87::utoa:358 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::digit#2 utoa::value#3 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 ] { { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:128::utoa:358 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::digit#2 utoa::value#3 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:269::utoa:358 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::digit#2 utoa::value#3 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } ) always clobbers reg byte a
Statement [405] utoa_append::value#0 = utoa::value#3 [ utoa::digit#2 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] ( main:10::utoa:167 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::digit#2 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:87::utoa:358 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::digit#2 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:128::utoa:358 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::digit#2 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:269::utoa:358 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::digit#2 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } ) always clobbers reg byte a
Statement [406] utoa_append::sub#0 = utoa::digit_value#0 [ utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] ( main:10::utoa:167 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:87::utoa:358 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:128::utoa:358 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:269::utoa:358 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } ) always clobbers reg byte a
Statement [408] utoa_append::return#0 = utoa_append::value#2 [ utoa::digit#2 utoa::buffer#10 utoa_append::return#0 ] ( main:10::utoa:167 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::digit#2 utoa::buffer#10 utoa_append::return#0 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:87::utoa:358 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::return#0 ] { { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:128::utoa:358 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::return#0 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:269::utoa:358 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::return#0 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } ) always clobbers reg byte a
Statement [409] utoa::value#0 = utoa_append::return#0 [ utoa::digit#2 utoa::buffer#10 utoa::value#0 ] ( main:10::utoa:167 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::digit#2 utoa::buffer#10 utoa::value#0 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } } main:10::write_score:87::utoa:358 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::digit#2 utoa::buffer#10 utoa::value#0 ] { { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:128::utoa:358 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::digit#2 utoa::buffer#10 utoa::value#0 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } } main:10::write_score:269::utoa:358 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::digit#2 utoa::buffer#10 utoa::value#0 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } } ) always clobbers reg byte a
Statement asm { jsr$ffde stal stxm } always clobbers reg byte a reg byte x reg byte y
Statement [412] read_chrono::$0 = m << 8 [ l read_chrono::$0 ] ( main:10::read_chrono:182 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l read_chrono::$0 ] { { div16u8u::return#0 = div16u8u::return#2 } } ) always clobbers reg byte a
Statement [413] div16u8u::dividend#0 = read_chrono::$0 + l [ l div16u8u::dividend#0 ] ( main:10::read_chrono:182 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l div16u8u::dividend#0 ] { { div16u8u::return#0 = div16u8u::return#2 } } ) always clobbers reg byte a
Statement [415] div16u8u::return#2 = div16u8u::return#0 [ l divr8u::rem#11 div16u8u::return#2 ] ( main:10::read_chrono:182 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l divr8u::rem#11 div16u8u::return#2 ] { { div16u8u::return#0 = div16u8u::return#2 } } ) always clobbers reg byte a
Statement [416] *((char *)$1e15+c) = 7 [ l divr8u::rem#11 div16u8u::return#2 ] ( main:10::read_chrono:182 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l divr8u::rem#11 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [417] *((char *) 7701) = $b9 [ l divr8u::rem#11 div16u8u::return#2 ] ( main:10::read_chrono:182 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l divr8u::rem#11 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [418] if(div16u8u::return#2>=$a) goto read_chrono::@return [ l divr8u::rem#11 div16u8u::return#2 ] ( main:10::read_chrono:182 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l divr8u::rem#11 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [419] read_chrono::$5 = $b9 - div16u8u::return#2 [ l divr8u::rem#11 div16u8u::return#2 read_chrono::$5 ] ( main:10::read_chrono:182 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l divr8u::rem#11 div16u8u::return#2 read_chrono::$5 ] { } ) always clobbers reg byte a
Statement [420] *((char *) 7701) = read_chrono::$5 [ l divr8u::rem#11 div16u8u::return#2 ] ( main:10::read_chrono:182 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l divr8u::rem#11 div16u8u::return#2 ] { } ) always clobbers reg byte a
Statement [423] conio_line_text[conio_cursor_x] = cputc::c#0 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] ( main:10::cputs:31::cputc:344 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } ) always clobbers reg byte y
Statement [424] conio_line_color[conio_cursor_x] = conio_textcolor [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] ( main:10::cputs:31::cputc:344 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } ) always clobbers reg byte a reg byte y
Statement [426] if(conio_cursor_x!=$28) goto cputc::@return [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] ( main:10::cputs:31::cputc:344 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } ) always clobbers reg byte a
Statement [434] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2 [ utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] ( main:10::utoa:167::utoa_append:407 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:87::utoa:358::utoa_append:407 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] { { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:128::utoa:358::utoa_append:407 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:269::utoa:358::utoa_append:407 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } ) always clobbers reg byte a
Statement [435] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2] [ utoa_append::value#2 ] ( main:10::utoa:167::utoa_append:407 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::digit#2 utoa::buffer#10 utoa_append::value#2 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:87::utoa:358::utoa_append:407 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::value#2 ] { { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:128::utoa:358::utoa_append:407 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::value#2 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:269::utoa:358::utoa_append:407 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::value#2 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } ) always clobbers reg byte a reg byte y
Statement [438] utoa_append::value#1 = utoa_append::value#2 - utoa_append::sub#0 [ utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] ( main:10::utoa:167::utoa_append:407 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor rem8u#25 y#18 n#20 hiscore#19 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] { { utoa::value#10 = utoa::value#2 hiscore#19 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:87::utoa:358::utoa_append:407 [ l rem8u#127 y#114 hiscore#110 n#89 z#128 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] { { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:128::utoa:358::utoa_append:407 [ l hiscore#110 rem8u#25 y#18 n#20 tu#1 peephole#12 duck#1 z#100 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] { { score#13 = score#4 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } main:10::write_score:269::utoa:358::utoa_append:407 [ l hiscore#110 tu#13 peephole#12 duck#1 z#100 divr8u::rem#11 n#14 y#13 div16u8u::return#2 score#38 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] { { score#13 = score#6 } { utoa::value#1 = utoa::value#10 score#38 } { utoa_append::buffer#0 = utoa::buffer#10 } { utoa_append::value#0 = utoa::value#3 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } } ) always clobbers reg byte a
Statement [450] conio_line_text = conio_line_text + $28 [ conio_cursor_y conio_line_text conio_line_color conio_textcolor ] ( main:10::cputs:31::cputc:344::cputln:428 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:431 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:431 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:431 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } ) always clobbers reg byte a
Statement [451] conio_line_color = conio_line_color + $28 [ conio_cursor_y conio_line_text conio_line_color conio_textcolor ] ( main:10::cputs:31::cputc:344::cputln:428 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:431 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:431 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:431 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } ) always clobbers reg byte a
Statement [452] conio_cursor_x = 0 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] ( main:10::cputs:31::cputc:344::cputln:428 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:431 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:431 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:431 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } ) always clobbers reg byte a
Statement [459] divr8u::$1 = divr8u::dividend#3 & $80 [ divr8u::dividend#3 divr8u::quotient#3 divr8u::i#2 divr8u::rem#0 divr8u::$1 ] ( main:10::read_chrono:182::div16u8u:414::divr8u:440 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l div16u8u::dividend#0 divr8u::dividend#3 divr8u::quotient#3 divr8u::i#2 divr8u::rem#0 divr8u::$1 ] { { div16u8u::return#0 = div16u8u::return#2 } { divr8u::dividend#1 = divr8u::dividend#5 } { divr8u::return#0 = divr8u::return#2 } } main:10::read_chrono:182::div16u8u:414::divr8u:445 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l div16u8u::quotient_hi#0 divr8u::dividend#3 divr8u::quotient#3 divr8u::i#2 divr8u::rem#0 divr8u::$1 ] { { div16u8u::return#0 = div16u8u::return#2 } { divr8u::rem#10 = divr8u::rem#4 divr8u::rem#11 } { divr8u::dividend#2 = divr8u::dividend#5 } { divr8u::return#0 = divr8u::return#3 } } ) always clobbers reg byte a
Statement [461] divr8u::rem#1 = divr8u::rem#0 | 1 [ divr8u::dividend#3 divr8u::quotient#3 divr8u::i#2 divr8u::rem#1 ] ( main:10::read_chrono:182::div16u8u:414::divr8u:440 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l div16u8u::dividend#0 divr8u::dividend#3 divr8u::quotient#3 divr8u::i#2 divr8u::rem#1 ] { { div16u8u::return#0 = div16u8u::return#2 } { divr8u::dividend#1 = divr8u::dividend#5 } { divr8u::return#0 = divr8u::return#2 } } main:10::read_chrono:182::div16u8u:414::divr8u:445 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l div16u8u::quotient_hi#0 divr8u::dividend#3 divr8u::quotient#3 divr8u::i#2 divr8u::rem#1 ] { { div16u8u::return#0 = div16u8u::return#2 } { divr8u::rem#10 = divr8u::rem#4 divr8u::rem#11 } { divr8u::dividend#2 = divr8u::dividend#5 } { divr8u::return#0 = divr8u::return#3 } } ) always clobbers reg byte a
Statement [465] if(divr8u::rem#6<div16u8u::divisor#0) goto divr8u::@3 [ divr8u::i#2 divr8u::dividend#0 divr8u::rem#6 divr8u::quotient#1 ] ( main:10::read_chrono:182::div16u8u:414::divr8u:440 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l div16u8u::dividend#0 divr8u::i#2 divr8u::dividend#0 divr8u::rem#6 divr8u::quotient#1 ] { { div16u8u::return#0 = div16u8u::return#2 } { divr8u::dividend#1 = divr8u::dividend#5 } { divr8u::return#0 = divr8u::return#2 } } main:10::read_chrono:182::div16u8u:414::divr8u:445 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l div16u8u::quotient_hi#0 divr8u::i#2 divr8u::dividend#0 divr8u::rem#6 divr8u::quotient#1 ] { { div16u8u::return#0 = div16u8u::return#2 } { divr8u::rem#10 = divr8u::rem#4 divr8u::rem#11 } { divr8u::dividend#2 = divr8u::dividend#5 } { divr8u::return#0 = divr8u::return#3 } } ) always clobbers reg byte a
Statement [467] divr8u::rem#2 = divr8u::rem#6 - div16u8u::divisor#0 [ divr8u::i#2 divr8u::dividend#0 divr8u::quotient#2 divr8u::rem#2 ] ( main:10::read_chrono:182::div16u8u:414::divr8u:440 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l div16u8u::dividend#0 divr8u::i#2 divr8u::dividend#0 divr8u::quotient#2 divr8u::rem#2 ] { { div16u8u::return#0 = div16u8u::return#2 } { divr8u::dividend#1 = divr8u::dividend#5 } { divr8u::return#0 = divr8u::return#2 } } main:10::read_chrono:182::div16u8u:414::divr8u:445 [ hiscore#110 y#18 tu#13 peephole#12 duck#1 score#19 z#100 l div16u8u::quotient_hi#0 divr8u::i#2 divr8u::dividend#0 divr8u::quotient#2 divr8u::rem#2 ] { { div16u8u::return#0 = div16u8u::return#2 } { divr8u::rem#10 = divr8u::rem#4 divr8u::rem#11 } { divr8u::dividend#2 = divr8u::dividend#5 } { divr8u::return#0 = divr8u::return#3 } } ) always clobbers reg byte a reg byte x
Statement [472] if(conio_cursor_y!=$19) goto cscroll::@return [ conio_cursor_y conio_line_text conio_line_color conio_textcolor ] ( main:10::cputs:31::cputc:344::cputln:428::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428::cscroll:454 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428::cscroll:454 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:431::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:431::cscroll:454 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:431::cscroll:454 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } ) always clobbers reg byte a
Statement [481] conio_line_text = conio_line_text - $28 [ conio_cursor_y conio_line_text conio_line_color conio_textcolor ] ( main:10::cputs:31::cputc:344::cputln:428::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428::cscroll:454 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428::cscroll:454 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:431::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:431::cscroll:454 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:431::cscroll:454 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } ) always clobbers reg byte a
Statement [482] conio_line_color = conio_line_color - $28 [ conio_cursor_y conio_line_text conio_line_color conio_textcolor ] ( main:10::cputs:31::cputc:344::cputln:428::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428::cscroll:454 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428::cscroll:454 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431::cscroll:454 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:431::cscroll:454 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:431::cscroll:454 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:431::cscroll:454 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor ] { { cputc::c#0 = cputs::c#1 } } ) always clobbers reg byte a
Statement [486] memcpy::src_end#0 = (char *)memcpy::source#2 + (unsigned int)$19*$28-$28 [ memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] ( main:10::cputs:31::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::source#2 memcpy
Statement [487] memcpy::src#4 = (char *)memcpy::source#2 [ memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] ( main:10::cputs:31::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputs::c#1 } } main:10:
Statement [488] memcpy::dst#4 = (char *)memcpy::destination#2 [ memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] ( main:10::cputs:31::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 con
Statement [490] if(memcpy::src#2!=memcpy::src_end#0) goto memcpy::@2 [ memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] ( main:10::cputs:31::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::
Statement [492] *memcpy::dst#2 = *memcpy::src#2 [ memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] ( main:10::cputs:31::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428::cscroll:454::memcpy:474 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431::cscroll:454::memcpy:474 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431::cscroll:454::memcpy:474 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x co
Statement [496] memset::end#0 = (char *)memset::str#3 + $28 [ memset::str#3 memset::c#4 memset::end#0 ] ( main:10::cputs:31::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::str#3 me
Statement [497] memset::dst#4 = (char *)memset::str#3 [ memset::c#4 memset::end#0 memset::dst#4 ] ( main:10::cputs:31::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::en
Statement [499] if(memset::dst#2!=memset::end#0) goto memset::@3 [ memset::c#4 memset::end#0 memset::dst#2 ] ( main:10::cputs:31::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4
Statement [501] *memset::dst#2 = memset::c#4 [ memset::c#4 memset::end#0 memset::dst#2 ] ( main:10::cputs:31::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:162::cputc:344::cputln:428::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:169::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:173::cputc:344::cputln:428::cscroll:454::memset:478 [ rem8u#25 y#18 n#20 hiscore#19 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:31::cputc:344::cputln:431::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:35::cputc:344::cputln:431::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:39::cputc:344::cputln:431::cscroll:454::memset:478 [ rem8u#127 y#114 hiscore#110 n#109 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:152::cputc:344::cputln:431::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:156::cputc:344::cputln:431::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputs::c#1 } } main:10::cputs:158::cputc:344::cputln:431::cscroll:454::memset:478 [ hiscore#110 rem8u#25 y#18 n#20 score#38 cputs::s#0 conio_cursor_x conio_cursor_y conio_line_text conio_line_color conio_textcolor memset::c#4 memset::end#0 memse
Potential registers zp[1]:201 [ conio_c64_init::line#2 conio_c64_init::line#0 ] : zp[1]:201 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[2]:195 [ hiscore#110 hiscore#123 ] : zp[2]:195 ,
Potential registers zp[1]:169 [ k#101 k#1 ] : zp[1]:169 ,
Potential registers zp[1]:161 [ j#13 j#3 ] : zp[1]:161 ,
Potential registers zp[1]:162 [ j#16 j#5 ] : zp[1]:162 ,
Potential registers zp[2]:197 [ tu#13 tu#1 ] : zp[2]:197 ,
Potential registers zp[2]:96 [ peephole#52 peephole#12 y#35 y#141 ] : zp[2]:96 ,
Potential registers zp[1]:95 [ n#52 n#89 n#109 n#20 n#101 n#14 n#1 ] : zp[1]:95 ,
Potential registers zp[2]:92 [ time#11 time#17 time#38 div16u8u::return#2 ] : zp[2]:92 ,
Potential registers zp[2]:83 [ y#13 y#12 y#11 y#10 y#0 y#49 y#114 y#18 y#130 y#1 y#2 y#3 ] : zp[2]:83 ,
Potential registers zp[2]:85 [ score#81 hiscore#19 hiscore#124 score#19 score#43 score#38 score#8 score#13 score#4 score#6 ] : zp[2]:85 ,
Potential registers zp[1]:94 [ j#11 j#2 ] : zp[1]:94 ,
Potential registers zp[1]:121 [ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ] : zp[1]:121 , reg byte x , reg byte y ,
Potential registers zp[1]:122 [ clear_screen::n#5 ] : zp[1]:122 , reg byte x ,
Potential registers zp[2]:74 [ z#2 z#1 ] : zp[2]:74 ,
Potential registers zp[1]:185 [ textcolor::color#7 ] : zp[1]:185 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[2]:76 [ cputs::s#10 cputs::s#11 cputs::s#0 ] : zp[2]:76 ,
Potential registers zp[1]:3 [ random::k#4 random::k#0 ] : zp[1]:3 , reg byte x , reg byte y ,
Potential registers zp[1]:8 [ random::n#4 random::n#0 ] : zp[1]:8 , reg byte x , reg byte y ,
Potential registers zp[1]:44 [ wait::n#6 ] : zp[1]:44 , reg byte x , reg byte y ,
Potential registers zp[2]:31 [ z#53 z#48 z#100 z#102 z#128 z#28 z#9 z#25 z#23 z#4 ] : zp[2]:31 ,
Potential registers zp[1]:33 [ utoa::digit#2 utoa::digit#1 ] : zp[1]:33 , reg byte x ,
Potential registers zp[2]:29 [ utoa::value#3 utoa::value#7 utoa::value#10 utoa::value#2 utoa::value#1 utoa::value#0 ] : zp[2]:29 ,
Potential registers zp[1]:37 [ utoa::started#2 utoa::started#4 ] : zp[1]:37 , reg byte x , reg byte y ,
Potential registers zp[2]:27 [ utoa::buffer#10 utoa::buffer#15 utoa::buffer#4 ] : zp[2]:27 ,
Potential registers zp[2]:5 [ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ] : zp[2]:5 ,
Potential registers zp[1]:7 [ utoa_append::digit#2 utoa_append::digit#1 ] : zp[1]:7 , reg byte x , reg byte y ,
Potential registers zp[1]:17 [ divr8u::rem#5 divr8u::rem#10 divr8u::rem#4 rem8u#48 rem8u#127 rem8u#25 divr8u::rem#11 divr8u::rem#6 divr8u::rem#0 divr8u::rem#1 divr8u::rem#2 ] : zp[1]:17 ,
Potential registers zp[1]:26 [ divr8u::dividend#3 divr8u::dividend#5 divr8u::dividend#1 divr8u::dividend#2 divr8u::dividend#0 ] : zp[1]:26 , reg byte y ,
Potential registers zp[1]:18 [ divr8u::quotient#3 divr8u::return#0 divr8u::quotient#1 divr8u::quotient#2 ] : zp[1]:18 , reg byte y ,
Potential registers zp[1]:22 [ divr8u::i#2 divr8u::i#1 ] : zp[1]:22 , reg byte y ,
Potential registers zp[2]:202 [ memcpy::source#2 ] : zp[2]:202 ,
Potential registers zp[2]:204 [ memcpy::destination#2 ] : zp[2]:204 ,
Potential registers zp[2]:13 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 ] : zp[2]:13 ,
Potential registers zp[2]:15 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] : zp[2]:15 ,
Potential registers zp[2]:206 [ memset::str#3 ] : zp[2]:206 ,
Potential registers zp[1]:23 [ memset::c#4 memset::c#1 ] : zp[1]:23 , reg byte x ,
Potential registers zp[2]:11 [ memset::dst#2 memset::dst#4 memset::dst#1 ] : zp[2]:11 ,
Potential registers zp[1]:78 [ conio_cursor_x ] : zp[1]:78 ,
Potential registers zp[1]:56 [ conio_cursor_y ] : zp[1]:56 ,
Potential registers zp[2]:59 [ conio_line_text ] : zp[2]:59 ,
Potential registers zp[2]:57 [ conio_line_color ] : zp[2]:57 ,
Potential registers zp[1]:67 [ conio_textcolor ] : zp[1]:67 ,
Potential registers zp[1]:194 [ l ] : zp[1]:194 ,
Potential registers zp[1]:4 [ m ] : zp[1]:4 ,
Potential registers zp[1]:47 [ chrout::petscii ] : zp[1]:47 ,
Potential registers zp[1]:170 [ main::$177 ] : zp[1]:170 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:171 [ main::$26 ] : zp[1]:171 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[2]:172 [ main::$29 ] : zp[2]:172 ,
Potential registers zp[2]:45 [ duck#0 ] : zp[2]:45 ,
Potential registers zp[2]:42 [ main::$61 ] : zp[2]:42 ,
Potential registers zp[2]:54 [ duck#1 ] : zp[2]:54 ,
Potential registers zp[2]:48 [ main::$66 ] : zp[2]:48 ,
Potential registers zp[2]:50 [ main::$69 ] : zp[2]:50 ,
Potential registers zp[2]:52 [ main::$72 ] : zp[2]:52 ,
Potential registers zp[2]:186 [ main::$150 ] : zp[2]:186 ,
Potential registers zp[2]:174 [ main::$151 ] : zp[2]:174 ,
Potential registers zp[2]:188 [ main::$152 ] : zp[2]:188 ,
Potential registers zp[2]:176 [ main::$153 ] : zp[2]:176 ,
Potential registers zp[2]:190 [ main::$154 ] : zp[2]:190 ,
Potential registers zp[2]:178 [ main::$155 ] : zp[2]:178 ,
Potential registers zp[2]:192 [ main::$156 ] : zp[2]:192 ,
Potential registers zp[1]:184 [ j#19 ] : zp[1]:184 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:98 [ main::$78 ] : zp[1]:98 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:99 [ main::$81 ] : zp[1]:99 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:100 [ main::$84 ] : zp[1]:100 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:101 [ main::$88 ] : zp[1]:101 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:102 [ main::$92 ] : zp[1]:102 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[2]:117 [ main::$96 ] : zp[2]:117 ,
Potential registers zp[2]:103 [ main::$179 ] : zp[2]:103 ,
Potential registers zp[2]:105 [ main::$180 ] : zp[2]:105 ,
Potential registers zp[2]:107 [ main::$97 ] : zp[2]:107 ,
Potential registers zp[2]:163 [ main::$104 ] : zp[2]:163 ,
Potential registers zp[2]:165 [ main::$107 ] : zp[2]:165 ,
Potential registers zp[2]:167 [ main::$110 ] : zp[2]:167 ,
Potential registers zp[2]:123 [ main::$125 ] : zp[2]:123 ,
Potential registers zp[2]:125 [ main::$127 ] : zp[2]:125 ,
Potential registers zp[2]:127 [ main::$128 ] : zp[2]:127 ,
Potential registers zp[2]:129 [ main::$130 ] : zp[2]:129 ,
Potential registers zp[2]:131 [ main::$131 ] : zp[2]:131 ,
Potential registers zp[2]:133 [ main::$133 ] : zp[2]:133 ,
Potential registers zp[2]:135 [ main::$134 ] : zp[2]:135 ,
Potential registers zp[2]:137 [ main::$136 ] : zp[2]:137 ,
Potential registers zp[2]:139 [ main::$138 ] : zp[2]:139 ,
Potential registers zp[2]:141 [ main::$139 ] : zp[2]:141 ,
Potential registers zp[2]:143 [ main::$141 ] : zp[2]:143 ,
Potential registers zp[2]:145 [ main::$142 ] : zp[2]:145 ,
Potential registers zp[2]:147 [ main::$144 ] : zp[2]:147 ,
Potential registers zp[2]:149 [ main::$145 ] : zp[2]:149 ,
Potential registers zp[2]:159 [ main::$119 ] : zp[2]:159 ,
Potential registers zp[2]:151 [ main::$120 ] : zp[2]:151 ,
Potential registers zp[2]:153 [ main::$122 ] : zp[2]:153 ,
Potential registers zp[2]:155 [ main::$124 ] : zp[2]:155 ,
Potential registers zp[2]:180 [ main::$57 ] : zp[2]:180 ,
Potential registers zp[2]:182 [ main::$35 ] : zp[2]:182 ,
Potential registers zp[2]:199 [ main::$3 ] : zp[2]:199 ,
Potential registers zp[2]:119 [ gotoxy::$7 ] : zp[2]:119 ,
Potential registers zp[2]:109 [ gotoxy::$8 ] : zp[2]:109 ,
Potential registers zp[2]:111 [ gotoxy::$9 ] : zp[2]:111 ,
Potential registers zp[2]:157 [ gotoxy::line_offset#0 ] : zp[2]:157 ,
Potential registers zp[2]:113 [ gotoxy::$5 ] : zp[2]:113 ,
Potential registers zp[2]:115 [ gotoxy::$6 ] : zp[2]:115 ,
Potential registers zp[2]:90 [ clear_screen::$5 ] : zp[2]:90 ,
Potential registers zp[2]:87 [ clear_screen::$4 ] : zp[2]:87 ,
Potential registers zp[1]:89 [ cputs::c#1 ] : zp[1]:89 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:68 [ cputc::c#0 ] : zp[1]:68 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:2 [ random::$3 ] : zp[1]:2 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:61 [ utoa::$11 ] : zp[1]:61 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[2]:62 [ utoa::buffer#3 ] : zp[2]:62 ,
Potential registers zp[1]:34 [ utoa::$10 ] : zp[1]:34 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[2]:40 [ utoa::digit_value#0 ] : zp[2]:40 ,
Potential registers zp[2]:38 [ utoa_append::buffer#0 ] : zp[2]:38 ,
Potential registers zp[2]:9 [ utoa_append::sub#0 ] : zp[2]:9 ,
Potential registers zp[2]:35 [ utoa_append::return#0 ] : zp[2]:35 ,
Potential registers zp[2]:79 [ read_chrono::$0 ] : zp[2]:79 ,
Potential registers zp[2]:69 [ div16u8u::dividend#0 ] : zp[2]:69 ,
Potential registers zp[2]:81 [ read_chrono::$5 ] : zp[2]:81 ,
Potential registers zp[1]:64 [ divr8u::return#2 ] : zp[1]:64 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:73 [ div16u8u::quotient_hi#0 ] : zp[1]:73 , reg byte y ,
Potential registers zp[1]:65 [ divr8u::return#3 ] : zp[1]:65 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:66 [ div16u8u::quotient_lo#0 ] : zp[1]:66 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[2]:71 [ div16u8u::return#0 ] : zp[2]:71 ,
Potential registers zp[1]:19 [ divr8u::$1 ] : zp[1]:19 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[2]:24 [ memcpy::src_end#0 ] : zp[2]:24 ,
Potential registers zp[2]:20 [ memset::end#0 ] : zp[2]:20 ,
REGISTER UPLIFT SCOPES
Uplift Scope [random] 550,000,000,000,000,000: zp[1]:2 [ random::$3 ] 200,000,000,000,000,704: zp[1]:3 [ random::k#4 random::k#0 ] 20,000,000,000,002,200: zp[1]:8 [ random::n#4 random::n#0 ]
Uplift Scope [utoa_append] 25,000,055,000,000,000: zp[2]:5 [ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ] 20,000,050,000,000,000: zp[1]:7 [ utoa_append::digit#2 utoa_append::digit#1 ] 3,333,335,000,000,000: zp[2]:9 [ utoa_append::sub#0 ] 20,000,000,002: zp[2]:35 [ utoa_append::return#0 ] 13,750,000,000.25: zp[2]:38 [ utoa_append::buffer#0 ]
Uplift Scope [] 38,961,039,106,499,544: zp[1]:4 [ m ] 30,359,052,588.44: zp[2]:31 [ z#53 z#48 z#100 z#102 z#128 z#28 z#9 z#25 z#23 z#4 ] 66,666,667.33: zp[2]:45 [ duck#0 ] 4,237,745.88: zp[2]:54 [ duck#1 ] 3,516,593.49: zp[1]:56 [ conio_cursor_y ] 2,662,771.18: zp[2]:57 [ conio_line_color ] 2,600,117.74: zp[2]:59 [ conio_line_text ] 1,629,048.47: zp[1]:67 [ conio_textcolor ] 266,669.33: zp[2]:74 [ z#2 z#1 ] 200,133.45: zp[1]:78 [ conio_cursor_x ] 142,915.01: zp[2]:83 [ y#13 y#12 y#11 y#10 y#0 y#49 y#114 y#18 y#130 y#1 y#2 y#3 ] 123,256.31: zp[2]:85 [ score#81 hiscore#19 hiscore#124 score#19 score#43 score#38 score#8 score#13 score#4 score#6 ] 39,735.93: zp[2]:92 [ time#11 time#17 time#38 div16u8u::return#2 ] 27,502.75: zp[1]:94 [ j#11 j#2 ] 25,133.33: zp[1]:95 [ n#52 n#89 n#109 n#20 n#101 n#14 n#1 ] 23,035.47: zp[2]:96 [ peephole#52 peephole#12 y#35 y#141 ] 3,003: zp[1]:161 [ j#13 j#3 ] 3,003: zp[1]:162 [ j#16 j#5 ] 2,275: zp[1]:169 [ k#101 k#1 ] 1,034.67: zp[1]:184 [ j#19 ] 455.79: zp[1]:194 [ l ] 203.17: zp[2]:195 [ hiscore#110 hiscore#123 ] 198.87: zp[2]:197 [ tu#13 tu#1 ]
Uplift Scope [memcpy] 3,001,250,000,004.25: zp[2]:13 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 ] 2,002,333,333,337.67: zp[2]:15 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] 125,125,000,000.25: zp[2]:24 [ memcpy::src_end#0 ] 0: zp[2]:202 [ memcpy::source#2 ] 0: zp[2]:204 [ memcpy::destination#2 ]
Uplift Scope [memset] 3,335,666,666,672.33: zp[2]:11 [ memset::dst#2 memset::dst#4 memset::dst#1 ] 166,833,333,333.67: zp[2]:20 [ memset::end#0 ] 143,071,428,573.71: zp[1]:23 [ memset::c#4 memset::c#1 ] 0: zp[2]:206 [ memset::str#3 ]
Uplift Scope [divr8u] 802,725,712,140.36: zp[1]:17 [ divr8u::rem#5 divr8u::rem#10 divr8u::rem#4 rem8u#48 rem8u#127 rem8u#25 divr8u::rem#11 divr8u::rem#6 divr8u::rem#0 divr8u::rem#1 divr8u::rem#2 ] 328,571,761,908.38: zp[1]:18 [ divr8u::quotient#3 divr8u::return#0 divr8u::quotient#1 divr8u::quotient#2 ] 200,000,000,002: zp[1]:19 [ divr8u::$1 ] 166,666,666,668.33: zp[1]:22 [ divr8u::i#2 divr8u::i#1 ] 75,016,666,673.58: zp[1]:26 [ divr8u::dividend#3 divr8u::dividend#5 divr8u::dividend#1 divr8u::dividend#2 divr8u::dividend#0 ] 2,000,002: zp[1]:64 [ divr8u::return#2 ] 2,000,002: zp[1]:65 [ divr8u::return#3 ]
Uplift Scope [utoa] 37,857,285,718.21: zp[2]:27 [ utoa::buffer#10 utoa::buffer#15 utoa::buffer#4 ] 30,715,728,881.64: zp[2]:29 [ utoa::value#3 utoa::value#7 utoa::value#10 utoa::value#2 utoa::value#1 utoa::value#0 ] 22,857,142,859.43: zp[1]:33 [ utoa::digit#2 utoa::digit#1 ] 20,000,000,002: zp[1]:34 [ utoa::$10 ] 15,000,000,001.5: zp[1]:37 [ utoa::started#2 utoa::started#4 ] 6,000,000,000.6: zp[2]:40 [ utoa::digit_value#0 ] 2,000,002: zp[1]:61 [ utoa::$11 ] 2,000,002: zp[2]:62 [ utoa::buffer#3 ]
Uplift Scope [main] 200,000,002: zp[2]:42 [ main::$61 ] 20,000,000.2: zp[2]:48 [ main::$66 ] 20,000,000.2: zp[2]:50 [ main::$69 ] 20,000,000.2: zp[2]:52 [ main::$72 ] 20,002: zp[1]:98 [ main::$78 ] 20,002: zp[1]:99 [ main::$81 ] 20,002: zp[1]:100 [ main::$84 ] 20,002: zp[1]:101 [ main::$88 ] 20,002: zp[1]:102 [ main::$92 ] 20,002: zp[2]:103 [ main::$179 ] 20,002: zp[2]:105 [ main::$180 ] 20,002: zp[2]:107 [ main::$97 ] 15,001.5: zp[2]:117 [ main::$96 ] 10,001: zp[2]:123 [ main::$125 ] 10,001: zp[2]:125 [ main::$127 ] 10,001: zp[2]:127 [ main::$128 ] 10,001: zp[2]:129 [ main::$130 ] 10,001: zp[2]:131 [ main::$131 ] 10,001: zp[2]:133 [ main::$133 ] 10,001: zp[2]:135 [ main::$134 ] 10,001: zp[2]:137 [ main::$136 ] 10,001: zp[2]:139 [ main::$138 ] 10,001: zp[2]:141 [ main::$139 ] 10,001: zp[2]:143 [ main::$141 ] 10,001: zp[2]:145 [ main::$142 ] 10,001: zp[2]:147 [ main::$144 ] 10,001: zp[2]:149 [ main::$145 ] 10,001: zp[2]:151 [ main::$120 ] 10,001: zp[2]:153 [ main::$122 ] 10,001: zp[2]:155 [ main::$124 ] 6,667.33: zp[2]:159 [ main::$119 ] 2,500.25: zp[2]:163 [ main::$104 ] 2,500.25: zp[2]:165 [ main::$107 ] 2,500.25: zp[2]:167 [ main::$110 ] 2,002: zp[1]:170 [ main::$177 ] 2,002: zp[1]:171 [ main::$26 ] 2,002: zp[2]:172 [ main::$29 ] 2,002: zp[2]:174 [ main::$151 ] 2,002: zp[2]:176 [ main::$153 ] 2,002: zp[2]:178 [ main::$155 ] 2,002: zp[2]:180 [ main::$57 ] 2,002: zp[2]:182 [ main::$35 ] 1,001: zp[2]:186 [ main::$150 ] 1,001: zp[2]:188 [ main::$152 ] 1,001: zp[2]:190 [ main::$154 ] 1,001: zp[2]:192 [ main::$156 ] 101: zp[2]:199 [ main::$3 ]
Uplift Scope [wait] 125,000,000.12: zp[1]:44 [ wait::n#6 ]
Uplift Scope [chrout] 30,310,104.64: zp[1]:47 [ chrout::petscii ]
Uplift Scope [div16u8u] 2,000,002: zp[1]:66 [ div16u8u::quotient_lo#0 ] 420,000.6: zp[2]:69 [ div16u8u::dividend#0 ] 366,667.33: zp[2]:71 [ div16u8u::return#0 ] 333,333.67: zp[1]:73 [ div16u8u::quotient_hi#0 ]
Uplift Scope [cputc] 1,050,001.5: zp[1]:68 [ cputc::c#0 ]
Uplift Scope [read_chrono] 200,002: zp[2]:79 [ read_chrono::$0 ] 200,002: zp[2]:81 [ read_chrono::$5 ]
Uplift Scope [cputs] 201,503.5: zp[2]:76 [ cputs::s#10 cputs::s#11 cputs::s#0 ] 100,001: zp[1]:89 [ cputs::c#1 ]
Uplift Scope [clear_screen] 100,001: zp[2]:87 [ clear_screen::$4 ] 66,667.33: zp[2]:90 [ clear_screen::$5 ] 12,500.12: zp[1]:122 [ clear_screen::n#5 ]
Uplift Scope [gotoxy] 20,002: zp[2]:109 [ gotoxy::$8 ] 20,002: zp[2]:111 [ gotoxy::$9 ] 20,002: zp[2]:113 [ gotoxy::$5 ] 20,002: zp[2]:115 [ gotoxy::$6 ] 15,001.5: zp[2]:119 [ gotoxy::$7 ] 13,360.33: zp[1]:121 [ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ] 10,001: zp[2]:157 [ gotoxy::line_offset#0 ]
Uplift Scope [textcolor] 1,001: zp[1]:185 [ textcolor::color#7 ]
Uplift Scope [conio_c64_init] 33: zp[1]:201 [ conio_c64_init::line#2 conio_c64_init::line#0 ]
Uplift Scope [RADIX]
Uplift Scope [cputln]
Uplift Scope [MOS6526_CIA]
Uplift Scope [MOS6569_VICII]
Uplift Scope [MOS6581_SID]
Uplift Scope [cscroll]
Uplift Scope [printf_format_number]
Uplift Scope [printf_buffer_number]
Uplift Scope [printf_format_string]
Uplift Scope [write_score]
Uplift Scope [chrono_restart]
Uplift Scope [__start]
Limited combination testing to 100 combinations of 512 possible.
Limited combination testing to 100 combinations of 16384 possible.
Attempting to uplift remaining variables inzp[1]:2 [ random::$3 ]
Attempting to uplift remaining variables inzp[1]:3 [ random::k#4 random::k#0 ]
Attempting to uplift remaining variables inzp[1]:4 [ m ]
Attempting to uplift remaining variables inzp[1]:7 [ utoa_append::digit#2 utoa_append::digit#1 ]
Attempting to uplift remaining variables inzp[1]:8 [ random::n#4 random::n#0 ]
Attempting to uplift remaining variables inzp[1]:17 [ divr8u::rem#5 divr8u::rem#10 divr8u::rem#4 rem8u#48 rem8u#127 rem8u#25 divr8u::rem#11 divr8u::rem#6 divr8u::rem#0 divr8u::rem#1 divr8u::rem#2 ]
Attempting to uplift remaining variables inzp[1]:18 [ divr8u::quotient#3 divr8u::return#0 divr8u::quotient#1 divr8u::quotient#2 ]
Attempting to uplift remaining variables inzp[1]:19 [ divr8u::$1 ]
Attempting to uplift remaining variables inzp[1]:22 [ divr8u::i#2 divr8u::i#1 ]
Attempting to uplift remaining variables inzp[1]:23 [ memset::c#4 memset::c#1 ]
Attempting to uplift remaining variables inzp[1]:26 [ divr8u::dividend#3 divr8u::dividend#5 divr8u::dividend#1 divr8u::dividend#2 divr8u::dividend#0 ]
Attempting to uplift remaining variables inzp[1]:33 [ utoa::digit#2 utoa::digit#1 ]
Attempting to uplift remaining variables inzp[1]:34 [ utoa::$10 ]
Attempting to uplift remaining variables inzp[1]:37 [ utoa::started#2 utoa::started#4 ]
Attempting to uplift remaining variables inzp[1]:44 [ wait::n#6 ]
Attempting to uplift remaining variables inzp[1]:47 [ chrout::petscii ]
Attempting to uplift remaining variables inzp[1]:56 [ conio_cursor_y ]
Attempting to uplift remaining variables inzp[1]:61 [ utoa::$11 ]
Attempting to uplift remaining variables inzp[1]:64 [ divr8u::return#2 ]
Attempting to uplift remaining variables inzp[1]:65 [ divr8u::return#3 ]
Attempting to uplift remaining variables inzp[1]:66 [ div16u8u::quotient_lo#0 ]
Attempting to uplift remaining variables inzp[1]:67 [ conio_textcolor ]
Attempting to uplift remaining variables inzp[1]:68 [ cputc::c#0 ]
Attempting to uplift remaining variables inzp[1]:73 [ div16u8u::quotient_hi#0 ]
Attempting to uplift remaining variables inzp[1]:78 [ conio_cursor_x ]
Attempting to uplift remaining variables inzp[1]:89 [ cputs::c#1 ]
Attempting to uplift remaining variables inzp[1]:94 [ j#11 j#2 ]
Attempting to uplift remaining variables inzp[1]:95 [ n#52 n#89 n#109 n#20 n#101 n#14 n#1 ]
Attempting to uplift remaining variables inzp[1]:98 [ main::$78 ]
Attempting to uplift remaining variables inzp[1]:99 [ main::$81 ]
Attempting to uplift remaining variables inzp[1]:100 [ main::$84 ]
Attempting to uplift remaining variables inzp[1]:101 [ main::$88 ]
Attempting to uplift remaining variables inzp[1]:102 [ main::$92 ]
Attempting to uplift remaining variables inzp[1]:121 [ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ]
Attempting to uplift remaining variables inzp[1]:122 [ clear_screen::n#5 ]
Attempting to uplift remaining variables inzp[1]:161 [ j#13 j#3 ]
Attempting to uplift remaining variables inzp[1]:162 [ j#16 j#5 ]
Attempting to uplift remaining variables inzp[1]:169 [ k#101 k#1 ]
Attempting to uplift remaining variables inzp[1]:170 [ main::$177 ]
Attempting to uplift remaining variables inzp[1]:171 [ main::$26 ]
Attempting to uplift remaining variables inzp[1]:184 [ j#19 ]
Attempting to uplift remaining variables inzp[1]:185 [ textcolor::color#7 ]
Attempting to uplift remaining variables inzp[1]:194 [ l ]
Attempting to uplift remaining variables inzp[1]:201 [ conio_c64_init::line#2 conio_c64_init::line#0 ]
Coalescing zero page register [ zp[1]:201 [ conio_c64_init::line#2 conio_c64_init::line#0 ] ] with [ zp[1]:121 [ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ] ] - score: 1
Coalescing zero page register [ zp[1]:8 [ random::n#4 random::n#0 ] ] with [ zp[1]:171 [ main::$26 ] ] - score: 1
Coalescing zero page register [ zp[2]:29 [ utoa::value#3 utoa::value#7 utoa::value#10 utoa::value#2 utoa::value#1 utoa::value#0 ] ] with [ zp[2]:5 [ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:29 [ utoa::value#3 utoa::value#7 utoa::value#10 utoa::value#2 utoa::value#1 utoa::value#0 utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ] ] with [ zp[2]:35 [ utoa_append::return#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:27 [ utoa::buffer#10 utoa::buffer#15 utoa::buffer#4 ] ] with [ zp[2]:62 [ utoa::buffer#3 ] ] - score: 1
Coalescing zero page register [ zp[2]:27 [ utoa::buffer#10 utoa::buffer#15 utoa::buffer#4 utoa::buffer#3 ] ] with [ zp[2]:38 [ utoa_append::buffer#0 ] ] - score: 1
Coalescing zero page register [ zp[1]:18 [ divr8u::quotient#3 divr8u::return#0 divr8u::quotient#1 divr8u::quotient#2 ] ] with [ zp[1]:64 [ divr8u::return#2 ] ] - score: 1
Coalescing zero page register [ zp[1]:18 [ divr8u::quotient#3 divr8u::return#0 divr8u::quotient#1 divr8u::quotient#2 divr8u::return#2 ] ] with [ zp[1]:65 [ divr8u::return#3 ] ] - score: 1
Coalescing zero page register [ zp[2]:202 [ memcpy::source#2 ] ] with [ zp[2]:13 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:204 [ memcpy::destination#2 ] ] with [ zp[2]:15 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:206 [ memset::str#3 ] ] with [ zp[2]:11 [ memset::dst#2 memset::dst#4 memset::dst#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:45 [ duck#0 ] ] with [ zp[2]:54 [ duck#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:174 [ main::$151 ] ] with [ zp[2]:188 [ main::$152 ] ] - score: 1
Coalescing zero page register [ zp[2]:176 [ main::$153 ] ] with [ zp[2]:190 [ main::$154 ] ] - score: 1
Coalescing zero page register [ zp[2]:178 [ main::$155 ] ] with [ zp[2]:192 [ main::$156 ] ] - score: 1
Coalescing zero page register [ zp[2]:117 [ main::$96 ] ] with [ zp[2]:105 [ main::$180 ] ] - score: 1
Coalescing zero page register [ zp[2]:125 [ main::$127 ] ] with [ zp[2]:127 [ main::$128 ] ] - score: 1
Coalescing zero page register [ zp[2]:129 [ main::$130 ] ] with [ zp[2]:131 [ main::$131 ] ] - score: 1
Coalescing zero page register [ zp[2]:133 [ main::$133 ] ] with [ zp[2]:135 [ main::$134 ] ] - score: 1
Coalescing zero page register [ zp[2]:139 [ main::$138 ] ] with [ zp[2]:141 [ main::$139 ] ] - score: 1
Coalescing zero page register [ zp[2]:143 [ main::$141 ] ] with [ zp[2]:145 [ main::$142 ] ] - score: 1
Coalescing zero page register [ zp[2]:147 [ main::$144 ] ] with [ zp[2]:149 [ main::$145 ] ] - score: 1
Coalescing zero page register [ zp[2]:159 [ main::$119 ] ] with [ zp[2]:155 [ main::$124 ] ] - score: 1
Coalescing zero page register [ zp[2]:119 [ gotoxy::$7 ] ] with [ zp[2]:111 [ gotoxy::$9 ] ] - score: 1
Coalescing zero page register [ zp[2]:157 [ gotoxy::line_offset#0 ] ] with [ zp[2]:115 [ gotoxy::$6 ] ] - score: 1
Coalescing zero page register [ zp[1]:89 [ cputs::c#1 ] ] with [ zp[1]:68 [ cputc::c#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:40 [ utoa::digit_value#0 ] ] with [ zp[2]:9 [ utoa_append::sub#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:79 [ read_chrono::$0 ] ] with [ zp[2]:69 [ div16u8u::dividend#0 ] ] - score: 1
Coalescing zero page register [ zp[1]:8 [ random::n#4 random::n#0 main::$26 ] ] with [ zp[1]:170 [ main::$177 ] ] - score: 1
Coalescing zero page register [ zp[1]:18 [ divr8u::quotient#3 divr8u::return#0 divr8u::quotient#1 divr8u::quotient#2 divr8u::return#2 divr8u::return#3 ] ] with [ zp[1]:66 [ div16u8u::quotient_lo#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:117 [ main::$96 main::$180 ] ] with [ zp[2]:107 [ main::$97 ] ] - score: 1
Coalescing zero page register [ zp[2]:119 [ gotoxy::$7 gotoxy::$9 ] ] with [ zp[2]:157 [ gotoxy::line_offset#0 gotoxy::$6 ] ] - score: 1
Coalescing zero page register [ zp[1]:185 [ textcolor::color#7 ] ] with [ zp[1]:122 [ clear_screen::n#5 ] ]
Coalescing zero page register [ zp[1]:44 [ wait::n#6 ] ] with [ zp[1]:3 [ random::k#4 random::k#0 ] ]
Coalescing zero page register [ zp[2]:29 [ utoa::value#3 utoa::value#7 utoa::value#10 utoa::value#2 utoa::value#1 utoa::value#0 utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 utoa_append::return#0 ] ] with [ zp[2]:76 [ cputs::s#10 cputs::s#11 cputs::s#0 ] ]
Coalescing zero page register [ zp[1]:26 [ divr8u::dividend#3 divr8u::dividend#5 divr8u::dividend#1 divr8u::dividend#2 divr8u::dividend#0 ] ] with [ zp[1]:33 [ utoa::digit#2 utoa::digit#1 ] ]
Coalescing zero page register [ zp[1]:18 [ divr8u::quotient#3 divr8u::return#0 divr8u::quotient#1 divr8u::quotient#2 divr8u::return#2 divr8u::return#3 div16u8u::quotient_lo#0 ] ] with [ zp[1]:37 [ utoa::started#2 utoa::started#4 ] ]
Coalescing zero page register [ zp[1]:22 [ divr8u::i#2 divr8u::i#1 ] ] with [ zp[1]:7 [ utoa_append::digit#2 utoa_append::digit#1 ] ]
Coalescing zero page register [ zp[2]:202 [ memcpy::source#2 memcpy::src#2 memcpy::src#4 memcpy::src#1 ] ] with [ zp[2]:27 [ utoa::buffer#10 utoa::buffer#15 utoa::buffer#4 utoa::buffer#3 utoa_append::buffer#0 ] ]
Coalescing zero page register [ zp[2]:206 [ memset::str#3 memset::dst#2 memset::dst#4 memset::dst#1 ] ] with [ zp[2]:204 [ memcpy::destination#2 memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] ]
Coalescing zero page register [ zp[1]:98 [ main::$78 ] ] with [ zp[1]:23 [ memset::c#4 memset::c#1 ] ]
Coalescing zero page register [ zp[1]:2 [ random::$3 ] ] with [ zp[1]:89 [ cputs::c#1 cputc::c#0 ] ]
Coalescing zero page register [ zp[2]:40 [ utoa::digit_value#0 utoa_append::sub#0 ] ] with [ zp[2]:90 [ clear_screen::$5 ] ]
Coalescing zero page register [ zp[2]:79 [ read_chrono::$0 div16u8u::dividend#0 ] ] with [ zp[2]:87 [ clear_screen::$4 ] ]
Coalescing zero page register [ zp[1]:73 [ div16u8u::quotient_hi#0 ] ] with [ zp[1]:61 [ utoa::$11 ] ]
Coalescing zero page register [ zp[1]:19 [ divr8u::$1 ] ] with [ zp[1]:34 [ utoa::$10 ] ]
Coalescing zero page register [ zp[2]:24 [ memcpy::src_end#0 ] ] with [ zp[2]:81 [ read_chrono::$5 ] ]
Coalescing zero page register [ zp[2]:20 [ memset::end#0 ] ] with [ zp[2]:71 [ div16u8u::return#0 ] ]
Coalescing zero page register [ zp[1]:8 [ random::n#4 random::n#0 main::$26 main::$177 ] ] with [ zp[1]:185 [ textcolor::color#7 clear_screen::n#5 ] ]
Coalescing zero page register [ zp[1]:26 [ divr8u::dividend#3 divr8u::dividend#5 divr8u::dividend#1 divr8u::dividend#2 divr8u::dividend#0 utoa::digit#2 utoa::digit#1 ] ] with [ zp[1]:44 [ wait::n#6 random::k#4 random::k#0 ] ]
Coalescing zero page register [ zp[2]:172 [ main::$29 ] ] with [ zp[2]:29 [ utoa::value#3 utoa::value#7 utoa::value#10 utoa::value#2 utoa::value#1 utoa::value#0 utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 utoa_append::return#0 cputs::s#10 cputs::s#11 cputs::s#0 ] ]
Coalescing zero page register [ zp[2]:42 [ main::$61 ] ] with [ zp[2]:202 [ memcpy::source#2 memcpy::src#2 memcpy::src#4 memcpy::src#1 utoa::buffer#10 utoa::buffer#15 utoa::buffer#4 utoa::buffer#3 utoa_append::buffer#0 ] ]
Coalescing zero page register [ zp[2]:48 [ main::$66 ] ] with [ zp[2]:206 [ memset::str#3 memset::dst#2 memset::dst#4 memset::dst#1 memcpy::destination#2 memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] ]
Coalescing zero page register [ zp[1]:98 [ main::$78 memset::c#4 memset::c#1 ] ] with [ zp[1]:18 [ divr8u::quotient#3 divr8u::return#0 divr8u::quotient#1 divr8u::quotient#2 divr8u::return#2 divr8u::return#3 div16u8u::quotient_lo#0 utoa::started#2 utoa::started#4 ] ]
Coalescing zero page register [ zp[1]:99 [ main::$81 ] ] with [ zp[1]:22 [ divr8u::i#2 divr8u::i#1 utoa_append::digit#2 utoa_append::digit#1 ] ]
Coalescing zero page register [ zp[1]:73 [ div16u8u::quotient_hi#0 utoa::$11 ] ] with [ zp[1]:2 [ random::$3 cputs::c#1 cputc::c#0 ] ]
Coalescing zero page register [ zp[2]:24 [ memcpy::src_end#0 read_chrono::$5 ] ] with [ zp[2]:40 [ utoa::digit_value#0 utoa_append::sub#0 clear_screen::$5 ] ]
Coalescing zero page register [ zp[1]:100 [ main::$84 ] ] with [ zp[1]:26 [ divr8u::dividend#3 divr8u::dividend#5 divr8u::dividend#1 divr8u::dividend#2 divr8u::dividend#0 utoa::digit#2 utoa::digit#1 wait::n#6 random::k#4 random::k#0 ] ]
Allocated (was zp[1]:73) zp[1]:2 [ div16u8u::quotient_hi#0 utoa::$11 random::$3 cputs::c#1 cputc::c#0 ]
Allocated (was zp[1]:100) zp[1]:3 [ main::$84 divr8u::dividend#3 divr8u::dividend#5 divr8u::dividend#1 divr8u::dividend#2 divr8u::dividend#0 utoa::digit#2 utoa::digit#1 wait::n#6 random::k#4 random::k#0 ]
Allocated (was zp[2]:172) zp[2]:5 [ main::$29 utoa::value#3 utoa::value#7 utoa::value#10 utoa::value#2 utoa::value#1 utoa::value#0 utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 utoa_append::return#0 cputs::s#10 cputs::s#11 cputs::s#0 ]
Allocated (was zp[1]:99) zp[1]:7 [ main::$81 divr8u::i#2 divr8u::i#1 utoa_append::digit#2 utoa_append::digit#1 ]
Allocated (was zp[2]:24) zp[2]:9 [ memcpy::src_end#0 read_chrono::$5 utoa::digit_value#0 utoa_append::sub#0 clear_screen::$5 ]
Allocated (was zp[2]:48) zp[2]:11 [ main::$66 memset::str#3 memset::dst#2 memset::dst#4 memset::dst#1 memcpy::destination#2 memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ]
Allocated (was zp[2]:42) zp[2]:13 [ main::$61 memcpy::source#2 memcpy::src#2 memcpy::src#4 memcpy::src#1 utoa::buffer#10 utoa::buffer#15 utoa::buffer#4 utoa::buffer#3 utoa_append::buffer#0 ]
Allocated (was zp[1]:17) zp[1]:15 [ divr8u::rem#5 divr8u::rem#10 divr8u::rem#4 rem8u#48 rem8u#127 rem8u#25 divr8u::rem#11 divr8u::rem#6 divr8u::rem#0 divr8u::rem#1 divr8u::rem#2 ]
Allocated (was zp[1]:98) zp[1]:16 [ main::$78 memset::c#4 memset::c#1 divr8u::quotient#3 divr8u::return#0 divr8u::quotient#1 divr8u::quotient#2 divr8u::return#2 divr8u::return#3 div16u8u::quotient_lo#0 utoa::started#2 utoa::started#4 ]
Allocated (was zp[1]:19) zp[1]:17 [ divr8u::$1 utoa::$10 ]
Allocated (was zp[2]:20) zp[2]:18 [ memset::end#0 div16u8u::return#0 ]
Allocated (was zp[2]:31) zp[2]:20 [ z#53 z#48 z#100 z#102 z#128 z#28 z#9 z#25 z#23 z#4 ]
Allocated (was zp[2]:45) zp[2]:22 [ duck#0 duck#1 ]
Allocated (was zp[1]:47) zp[1]:24 [ chrout::petscii ]
Allocated (was zp[2]:50) zp[2]:25 [ main::$69 ]
Allocated (was zp[2]:52) zp[2]:27 [ main::$72 ]
Allocated (was zp[1]:56) zp[1]:29 [ conio_cursor_y ]
Allocated (was zp[2]:57) zp[2]:30 [ conio_line_color ]
Allocated (was zp[2]:59) zp[2]:32 [ conio_line_text ]
Allocated (was zp[1]:67) zp[1]:34 [ conio_textcolor ]
Allocated (was zp[2]:79) zp[2]:35 [ read_chrono::$0 div16u8u::dividend#0 clear_screen::$4 ]
Allocated (was zp[2]:74) zp[2]:37 [ z#2 z#1 ]
Allocated (was zp[1]:78) zp[1]:39 [ conio_cursor_x ]
Allocated (was zp[2]:83) zp[2]:40 [ y#13 y#12 y#11 y#10 y#0 y#49 y#114 y#18 y#130 y#1 y#2 y#3 ]
Allocated (was zp[2]:85) zp[2]:42 [ score#81 hiscore#19 hiscore#124 score#19 score#43 score#38 score#8 score#13 score#4 score#6 ]
Allocated (was zp[2]:119) zp[2]:44 [ gotoxy::$7 gotoxy::$9 gotoxy::line_offset#0 gotoxy::$6 ]
Allocated (was zp[2]:117) zp[2]:46 [ main::$96 main::$180 main::$97 ]
Allocated (was zp[2]:92) zp[2]:48 [ time#11 time#17 time#38 div16u8u::return#2 ]
Allocated (was zp[1]:94) zp[1]:50 [ j#11 j#2 ]
Allocated (was zp[1]:95) zp[1]:51 [ n#52 n#89 n#109 n#20 n#101 n#14 n#1 ]
Allocated (was zp[2]:96) zp[2]:52 [ peephole#52 peephole#12 y#35 y#141 ]
Allocated (was zp[1]:101) zp[1]:54 [ main::$88 ]
Allocated (was zp[1]:102) zp[1]:55 [ main::$92 ]
Allocated (was zp[2]:103) zp[2]:56 [ main::$179 ]
Allocated (was zp[2]:125) zp[2]:58 [ main::$127 main::$128 ]
Allocated (was zp[2]:129) zp[2]:60 [ main::$130 main::$131 ]
Allocated (was zp[2]:133) zp[2]:62 [ main::$133 main::$134 ]
Allocated (was zp[2]:139) zp[2]:64 [ main::$138 main::$139 ]
Allocated (was zp[2]:143) zp[2]:66 [ main::$141 main::$142 ]
Allocated (was zp[2]:147) zp[2]:68 [ main::$144 main::$145 ]
Allocated (was zp[2]:109) zp[2]:70 [ gotoxy::$8 ]
Allocated (was zp[2]:113) zp[2]:72 [ gotoxy::$5 ]
Allocated (was zp[2]:159) zp[2]:74 [ main::$119 main::$124 ]
Allocated (was zp[1]:201) zp[1]:76 [ conio_c64_init::line#2 conio_c64_init::line#0 gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ]
Allocated (was zp[2]:123) zp[2]:77 [ main::$125 ]
Allocated (was zp[2]:137) zp[2]:79 [ main::$136 ]
Allocated (was zp[2]:151) zp[2]:81 [ main::$120 ]
Allocated (was zp[2]:153) zp[2]:83 [ main::$122 ]
Allocated (was zp[1]:161) zp[1]:85 [ j#13 j#3 ]
Allocated (was zp[1]:162) zp[1]:86 [ j#16 j#5 ]
Allocated (was zp[2]:174) zp[2]:87 [ main::$151 main::$152 ]
Allocated (was zp[2]:176) zp[2]:89 [ main::$153 main::$154 ]
Allocated (was zp[2]:178) zp[2]:91 [ main::$155 main::$156 ]
Allocated (was zp[2]:163) zp[2]:93 [ main::$104 ]
Allocated (was zp[2]:165) zp[2]:95 [ main::$107 ]
Allocated (was zp[2]:167) zp[2]:97 [ main::$110 ]
Allocated (was zp[1]:169) zp[1]:99 [ k#101 k#1 ]
Allocated (was zp[2]:180) zp[2]:100 [ main::$57 ]
Allocated (was zp[2]:182) zp[2]:102 [ main::$35 ]
Allocated (was zp[1]:184) zp[1]:104 [ j#19 ]
Allocated (was zp[2]:186) zp[2]:105 [ main::$150 ]
Allocated (was zp[1]:194) zp[1]:107 [ l ]
Allocated (was zp[2]:195) zp[2]:108 [ hiscore#110 hiscore#123 ]
Allocated (was zp[2]:197) zp[2]:110 [ tu#13 tu#1 ]
Allocated (was zp[2]:199) zp[2]:112 [ main::$3 ]
ASSEMBLER BEFORE OPTIMIZATION
// File Comments
/// @file
/// Functions for performing input and output.
// Upstart
// Commodore 64 PRG executable file
.file [name="ducks-total.prg", type="prg", segments="Program"]
.segmentdef Program [segments="Basic, Code, Data"]
.segmentdef Basic [start=$0801]
.segmentdef Code [start=$80d]
.segmentdef Data [startAfter="Code"]
.segment Basic
:BasicUpstart(__start)
// Global Constants & labels
.const LIGHT_BLUE = $e
.const down = $11
.const right = $1d
.const lock = 8
.const lower = $e
.const home = $13
.const reverse_on = $12
.const brick = $e6
.const green = $1e
.const yellow = $9e
.const red = $1c
.const c = $7800
/// Color Ram
.label COLORRAM = $d800
/// Default address of screen character matrix
.label DEFAULT_SCREEN = $400
// The number of bytes on the screen
// The current cursor x-position
.label conio_cursor_x = $27
// The current cursor y-position
.label conio_cursor_y = $1d
// The current text cursor line start
.label conio_line_text = $20
// The current color cursor line start
.label conio_line_color = $1e
// The current text color
.label conio_textcolor = $22
.label l = $6b
.label m = 4
.label z = $25
.label z_1 = $14
.label n = $33
.label k = $63
.label j = $32
.label j_1 = $55
.label j_2 = $56
.label duck = $16
// [0..255] 8-bit
.label tu = $6e
// Volume to max
.label score = $2a
.label y = $28
.label time = $30
.label j_3 = $68
// Remainder after signed 8 bit division
.label rem8u = $f
.label peephole = $34
.label y_1 = $34
.label hiscore = $2a
.label hiscore_1 = $6c
.segment Code
// __start
__start: {
jmp __init1
// __start::__init1
__init1:
// [1] conio_cursor_x = 0 -- vbuz1=vbuc1
lda #0
sta.z conio_cursor_x
// [2] conio_cursor_y = 0 -- vbuz1=vbuc1
lda #0
sta.z conio_cursor_y
// [3] conio_line_text = DEFAULT_SCREEN -- pbuz1=pbuc1
lda #<DEFAULT_SCREEN
sta.z conio_line_text
lda #>DEFAULT_SCREEN
sta.z conio_line_text+1
// [4] conio_line_color = COLORRAM -- pbuz1=pbuc1
lda #<COLORRAM
sta.z conio_line_color
lda #>COLORRAM
sta.z conio_line_color+1
// [5] conio_textcolor = LIGHT_BLUE -- vbuz1=vbuc1
lda #LIGHT_BLUE
sta.z conio_textcolor
// [6] l = 0 -- vbuz1=vbuc1
lda #0
sta.z l
// [7] m = 0 -- vbuz1=vbuc1
lda #0
sta.z m
// [8] call conio_c64_init
jsr conio_c64_init
// [9] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
__b1_from___init1:
jmp __b1
// __start::@1
__b1:
// [10] call main
jsr main
jmp __breturn
// __start::@return
__breturn:
// [11] return
rts
}
// conio_c64_init
// Set initial cursor position
conio_c64_init: {
// Position cursor at current line
.label BASIC_CURSOR_LINE = $d6
.label line = $4c
// [12] conio_c64_init::line#0 = *conio_c64_init::BASIC_CURSOR_LINE -- vbuz1=_deref_pbuc1
lda.z BASIC_CURSOR_LINE
sta.z line
// [13] if(conio_c64_init::line#0<$19) goto conio_c64_init::@2 -- vbuz1_lt_vbuc1_then_la1
lda.z line
cmp #$19
bcc __b2_from_conio_c64_init
// [15] phi from conio_c64_init to conio_c64_init::@1 [phi:conio_c64_init->conio_c64_init::@1]
__b1_from_conio_c64_init:
// [15] phi conio_c64_init::line#2 = $19-1 [phi:conio_c64_init->conio_c64_init::@1#0] -- vbuz1=vbuc1
lda #$19-1
sta.z line
jmp __b1
// [14] phi from conio_c64_init to conio_c64_init::@2 [phi:conio_c64_init->conio_c64_init::@2]
__b2_from_conio_c64_init:
jmp __b2
// conio_c64_init::@2
__b2:
// [15] phi from conio_c64_init::@2 to conio_c64_init::@1 [phi:conio_c64_init::@2->conio_c64_init::@1]
__b1_from___b2:
// [15] phi conio_c64_init::line#2 = conio_c64_init::line#0 [phi:conio_c64_init::@2->conio_c64_init::@1#0] -- register_copy
jmp __b1
// conio_c64_init::@1
__b1:
// [16] gotoxy::y#2 = conio_c64_init::line#2
// [17] call gotoxy
// [304] phi from conio_c64_init::@1 to gotoxy [phi:conio_c64_init::@1->gotoxy]
gotoxy_from___b1:
// [304] phi gotoxy::y#4 = gotoxy::y#2 [phi:conio_c64_init::@1->gotoxy#0] -- register_copy
jsr gotoxy
jmp __breturn
// conio_c64_init::@return
__breturn:
// [18] return
rts
}
// main
main: {
.label __3 = $70
.label __26 = 8
.label __29 = 5
.label __35 = $66
.label __57 = $64
.label __61 = $d
.label __66 = $b
.label __69 = $19
.label __72 = $1b
.label __78 = $10
.label __81 = 7
.label __84 = 3
.label __88 = $36
.label __92 = $37
.label __96 = $2e
.label __97 = $2e
.label __104 = $5d
.label __107 = $5f
.label __110 = $61
.label __119 = $4a
.label __120 = $51
.label __122 = $53
.label __124 = $4a
.label __125 = $4d
.label __127 = $3a
.label __128 = $3a
.label __130 = $3c
.label __131 = $3c
.label __133 = $3e
.label __134 = $3e
.label __136 = $4f
.label __138 = $40
.label __139 = $40
.label __141 = $42
.label __142 = $42
.label __144 = $44
.label __145 = $44
.label __150 = $69
.label __151 = $57
.label __152 = $57
.label __153 = $59
.label __154 = $59
.label __155 = $5b
.label __156 = $5b
.label __177 = 8
.label __179 = $38
.label __180 = $2e
// [19] *((char *) 36879) = 8 -- _deref_pbuc1=vbuc2
lda #8
sta $900f
// [20] chrout::petscii = lock -- vbuz1=vbuc1
lda #lock
sta.z chrout.petscii
// [21] call chrout
// border and black paper
jsr chrout
jmp __b50
// main::@50
__b50:
// [22] chrout::petscii = lower -- vbuz1=vbuc1
lda #lower
sta.z chrout.petscii
// [23] call chrout
//Lock UpperCase to Lowercase key
jsr chrout
jmp __b51
// main::@51
__b51:
// [24] m = 0 -- vbuz1=vbuc1
lda #0
sta.z m
jmp __b1
//Put text in Lowercase set
// main::@1
__b1:
// [25] if(m<$28) goto main::@2 -- vbuz1_lt_vbuc1_then_la1
lda.z m
cmp #$28
bcc __b2
// [26] phi from main::@1 to main::@3 [phi:main::@1->main::@3]
__b3_from___b1:
// [26] phi n#109 = 0 [phi:main::@1->main::@3#0] -- vbuz1=vbuc1
lda #0
sta.z n
// [26] phi hiscore#110 = 0 [phi:main::@1->main::@3#1] -- vwuz1=vwuc1
lda #<0
sta.z hiscore_1
lda #>0
sta.z hiscore_1+1
// [26] phi y#114 = 0 [phi:main::@1->main::@3#2] -- vwuz1=vwuc1
lda #<0
sta.z y
lda #>0
sta.z y+1
// [26] phi rem8u#127 = 0 [phi:main::@1->main::@3#3] -- vbuz1=vbuc1
lda #0
sta.z rem8u
jmp __b3
// Load udgs. From 0-->39;
// main::@3
__b3:
// [27] call clear_screen
// [321] phi from main::@3 to clear_screen [phi:main::@3->clear_screen]
clear_screen_from___b3:
// [321] phi clear_screen::n#5 = $20 [phi:main::@3->clear_screen#0] -- vbuz1=vbuc1
lda #$20
sta.z clear_screen.n
jsr clear_screen
// [28] phi from main::@3 to main::@52 [phi:main::@3->main::@52]
__b52_from___b3:
jmp __b52
// main::@52
__b52:
// [29] call textcolor
// Clear Screen with spaces & black ink
// [334] phi from main::@52 to textcolor [phi:main::@52->textcolor]
textcolor_from___b52:
// [334] phi textcolor::color#7 = 7 [phi:main::@52->textcolor#0] -- vbuz1=vbuc1
lda #7
sta.z textcolor.color
jsr textcolor
// [30] phi from main::@52 to main::@53 [phi:main::@52->main::@53]
__b53_from___b52:
jmp __b53
// main::@53
__b53:
// [31] call cputs
// [337] phi from main::@53 to cputs [phi:main::@53->cputs]
cputs_from___b53:
// [337] phi cputs::s#11 = intro [phi:main::@53->cputs#0] -- pbuz1=pbuc1
lda #<intro
sta.z cputs.s
lda #>intro
sta.z cputs.s+1
jsr cputs
// [32] phi from main::@53 to main::@54 [phi:main::@53->main::@54]
__b54_from___b53:
jmp __b54
// main::@54
__b54:
// [33] call textcolor
// Yellow ink
// [334] phi from main::@54 to textcolor [phi:main::@54->textcolor]
textcolor_from___b54:
// [334] phi textcolor::color#7 = 1 [phi:main::@54->textcolor#0] -- vbuz1=vbuc1
lda #1
sta.z textcolor.color
jsr textcolor
// [34] phi from main::@54 to main::@55 [phi:main::@54->main::@55]
__b55_from___b54:
jmp __b55
// main::@55
__b55:
// [35] call cputs
// [337] phi from main::@55 to cputs [phi:main::@55->cputs]
cputs_from___b55:
// [337] phi cputs::s#11 = levels [phi:main::@55->cputs#0] -- pbuz1=pbuc1
lda #<levels
sta.z cputs.s
lda #>levels
sta.z cputs.s+1
jsr cputs
// [36] phi from main::@55 to main::@56 [phi:main::@55->main::@56]
__b56_from___b55:
jmp __b56
// main::@56
__b56:
// [37] call textcolor
// White
// [334] phi from main::@56 to textcolor [phi:main::@56->textcolor]
textcolor_from___b56:
// [334] phi textcolor::color#7 = 2 [phi:main::@56->textcolor#0] -- vbuz1=vbuc1
lda #2
sta.z textcolor.color
jsr textcolor
// [38] phi from main::@56 to main::@57 [phi:main::@56->main::@57]
__b57_from___b56:
jmp __b57
// main::@57
__b57:
// [39] call cputs
// [337] phi from main::@57 to cputs [phi:main::@57->cputs]
cputs_from___b57:
// [337] phi cputs::s#11 = foot [phi:main::@57->cputs#0] -- pbuz1=pbuc1
lda #<foot
sta.z cputs.s
lda #>foot
sta.z cputs.s+1
jsr cputs
jmp __b4
// Red
// main::@4
__b4:
// [40] l = *((char *) 197) -- vbuz1=_deref_pbuc1
lda.z $c5
sta.z l
// [41] l = ++ l -- vbuz1=_inc_vbuz1
inc.z l
// [42] if(l>=5+1) goto main::@4 -- vbuz1_ge_vbuc1_then_la1
lda.z l
cmp #5+1
bcs __b4
// [43] phi from main::@4 to main::@5 [phi:main::@4->main::@5]
__b5_from___b4:
jmp __b5
// main::@5
__b5:
// [44] call clear_screen
// wait for 1-3-5-7-9 keys only
// [321] phi from main::@5 to clear_screen [phi:main::@5->clear_screen]
clear_screen_from___b5:
// [321] phi clear_screen::n#5 = 4 [phi:main::@5->clear_screen#0] -- vbuz1=vbuc1
lda #4
sta.z clear_screen.n
jsr clear_screen
jmp __b58
// main::@58
__b58:
// [45] *((char *) 36869) = $ff -- _deref_pbuc1=vbuc2
lda #$ff
sta $9005
// [46] chrout::petscii = reverse_on -- vbuz1=vbuc1
lda #reverse_on
sta.z chrout.petscii
// [47] call chrout
// Graphic mode
jsr chrout
jmp __b59
// main::@59
__b59:
// [48] chrout::petscii = red -- vbuz1=vbuc1
lda #red
sta.z chrout.petscii
// [49] call chrout
jsr chrout
jmp __b60
// main::@60
__b60:
// [50] chrout::petscii = down -- vbuz1=vbuc1
lda #down
sta.z chrout.petscii
// [51] call chrout
jsr chrout
// [52] phi from main::@60 to main::@6 [phi:main::@60->main::@6]
__b6_from___b60:
// [52] phi n#89 = n#109 [phi:main::@60->main::@6#0] -- register_copy
// [52] phi k#101 = 1 [phi:main::@60->main::@6#1] -- vbuz1=vbuc1
lda #1
sta.z k
jmp __b6
//for (z=1;z<23;z++) { POKE(7680+z*22,230);POKE(c+7680+z*22,2); POKE(7679+z*22,230); POKE(c+7679+z*22,2); } // 23 rows * 22 columns (7680 to 8185). 506 positions.
//k=1; do { chrout(brick); POKE(211,20); chrout(brick); ++k; } while (k<23);
//for (k=1;k<22;k++) { chrout(brick); POKE(211,22); chrout(brick); }; // 23 rows * 22 columns (7680 to 8185). 506 positions.
// main::@6
__b6:
// [53] if(k#101<$16) goto main::@7 -- vbuz1_lt_vbuc1_then_la1
lda.z k
cmp #$16
bcc __b7
jmp __b8
// main::@8
__b8:
// [54] chrout::petscii = brick -- vbuz1=vbuc1
lda #brick
sta.z chrout.petscii
// [55] call chrout
// 23 rows * 22 columns (7680 to 8185). 506 positions.
jsr chrout
jmp __b61
// main::@61
__b61:
// [56] *((char *) 8185) = brick -- _deref_pbuc1=vbuc2
lda #brick
sta $1ff9
// [57] *((char *)$1ff9+c) = 2 -- _deref_pbuc1=vbuc2
lda #2
sta $1ff9+c
// [58] chrout::petscii = home -- vbuz1=vbuc1
lda #home
sta.z chrout.petscii
// [59] call chrout
//last brick from last line (#23) to avoid scrolling
jsr chrout
jmp __b62
// main::@62
__b62:
// [60] if(l<1+1) goto main::@12 -- vbuz1_lt_vbuc1_then_la1
lda.z l
cmp #1+1
bcc __b12_from___b62
// [61] phi from main::@62 to main::@13 [phi:main::@62->main::@13]
__b13_from___b62:
// [61] phi z#28 = 1 [phi:main::@62->main::@13#0] -- vwuz1=vbuc1
lda #<1
sta.z z_1
lda #>1
sta.z z_1+1
jmp __b13
// [61] phi from main::@73 to main::@13 [phi:main::@73->main::@13]
__b13_from___b73:
// [61] phi z#28 = z#9 [phi:main::@73->main::@13#0] -- register_copy
jmp __b13
// main::@13
__b13:
// [62] random::k#0 = 7 - l -- vbuz1=vbuc1_minus_vbuz2
lda #7
sec
sbc.z l
sta.z random.k
// [63] main::$177 = l << 1 -- vbuz1=vbuz2_rol_1
lda.z l
asl
sta.z __177
// [64] main::$26 = main::$177 + l -- vbuz1=vbuz1_plus_vbuz2
lda.z __26
clc
adc.z l
sta.z __26
// [65] random::n#0 = $1a - main::$26 -- vbuz1=vbuc1_minus_vbuz1
lda #$1a
sec
sbc.z random.n
sta.z random.n
// [66] call random
// Write differential random bricks depending on 'l' level choosen
// [345] phi from main::@13 to random [phi:main::@13->random]
random_from___b13:
// [345] phi random::n#4 = random::n#0 [phi:main::@13->random#0] -- register_copy
// [345] phi random::k#4 = random::k#0 [phi:main::@13->random#1] -- register_copy
jsr random
jmp __b71
// main::@71
__b71:
// [67] main::$29 = z#28 + m -- vwuz1=vwuz2_plus_vbuz3
lda.z m
clc
adc.z z_1
sta.z __29
lda #0
adc.z z_1+1
sta.z __29+1
// [68] if(main::$29<=$1f9) goto main::@14 -- vwuz1_le_vwuc1_then_la1
lda.z __29+1
cmp #>$1f9
bne !+
lda.z __29
cmp #<$1f9
!:
bcc __b14_from___b71
beq __b14_from___b71
// [69] phi from main::@71 main::@73 to main::@12 [phi:main::@71/main::@73->main::@12]
__b12_from___b71:
__b12_from___b73:
// [69] phi z#128 = z#28 [phi:main::@71/main::@73->main::@12#0] -- register_copy
jmp __b12
// [69] phi from main::@62 to main::@12 [phi:main::@62->main::@12]
__b12_from___b62:
// [69] phi z#128 = 1 [phi:main::@62->main::@12#0] -- vwuz1=vbuc1
lda #<1
sta.z z_1
lda #>1
sta.z z_1+1
jmp __b12
// main::@12
__b12:
// [70] *((char *) 36878) = $f -- _deref_pbuc1=vbuc2
lda #$f
sta $900e
// [71] chrout::petscii = home -- vbuz1=vbuc1
lda #home
sta.z chrout.petscii
// [72] call chrout
// Duck #1
jsr chrout
jmp __b65
// main::@65
__b65:
// [73] chrout::petscii = yellow -- vbuz1=vbuc1
lda #yellow
sta.z chrout.petscii
// [74] call chrout
jsr chrout
jmp __b66
// main::@66
__b66:
// [75] chrout::petscii = $50 -- vbuz1=vbuc1
lda #$50
sta.z chrout.petscii
// [76] call chrout
jsr chrout
jmp __b67
// main::@67
__b67:
// [77] chrout::petscii = $54 -- vbuz1=vbuc1
lda #$54
sta.z chrout.petscii
// [78] call chrout
jsr chrout
jmp __b68
// main::@68
__b68:
// [79] chrout::petscii = $53 -- vbuz1=vbuc1
lda #$53
sta.z chrout.petscii
// [80] call chrout
jsr chrout
jmp __b69
// main::@69
__b69:
// [81] chrout::petscii = $3a -- vbuz1=vbuc1
lda #$3a
sta.z chrout.petscii
// [82] call chrout
jsr chrout
jmp __b70
// main::@70
__b70:
// [83] *((char *) 211) = $12 -- _deref_pbuc1=vbuc2
lda #$12
sta.z $d3
// [84] phi from main::@70 to main::@17 [phi:main::@70->main::@17]
__b17_from___b70:
// [84] phi j#13 = 0 [phi:main::@70->main::@17#0] -- vbuz1=vbuc1
lda #0
sta.z j_1
jmp __b17
// jump to Column 18
// main::@17
__b17:
// [85] if(j#13<4) goto main::@18 -- vbuz1_lt_vbuc1_then_la1
lda.z j_1
cmp #4
bcc __b18
// [86] phi from main::@17 to main::@19 [phi:main::@17->main::@19]
__b19_from___b17:
jmp __b19
// main::@19
__b19:
// [87] call write_score
// Write 'TM:9', yellow
// [351] phi from main::@19 to write_score [phi:main::@19->write_score]
write_score_from___b19:
// [351] phi score#13 = 0 [phi:main::@19->write_score#0] -- vwuz1=vbuc1
lda #<0
sta.z score
lda #>0
sta.z score+1
jsr write_score
jmp __b75
// main::@75
__b75:
// [88] chrout::petscii = home -- vbuz1=vbuc1
lda #home
sta.z chrout.petscii
// [89] call chrout
// Write Score (yellow)
jsr chrout
jmp __b76
// main::@76
__b76:
// [90] chrout::petscii = green -- vbuz1=vbuc1
lda #green
sta.z chrout.petscii
// [91] call chrout
jsr chrout
jmp __b77
// main::@77
__b77:
// [92] *((char *) 211) = $a -- _deref_pbuc1=vbuc2
lda #$a
sta.z $d3
// [93] phi from main::@77 to main::@20 [phi:main::@77->main::@20]
__b20_from___b77:
// [93] phi j#16 = 0 [phi:main::@77->main::@20#0] -- vbuz1=vbuc1
lda #0
sta.z j_2
jmp __b20
// Jump to column 10
// main::@20
__b20:
// [94] if(j#16<5) goto main::@21 -- vbuz1_lt_vbuc1_then_la1
lda.z j_2
cmp #5
bcc __b21
// [95] phi from main::@20 to main::@22 [phi:main::@20->main::@22]
__b22_from___b20:
// [95] phi n#52 = n#89 [phi:main::@20->main::@22#0] -- register_copy
// [95] phi peephole#52 = $1f1f [phi:main::@20->main::@22#1] -- vwuz1=vwuc1
lda #<$1f1f
sta.z peephole
lda #>$1f1f
sta.z peephole+1
// [95] phi z#102 = z#128 [phi:main::@20->main::@22#2] -- register_copy
// [95] phi y#49 = y#114 [phi:main::@20->main::@22#3] -- register_copy
// [95] phi rem8u#48 = rem8u#127 [phi:main::@20->main::@22#4] -- register_copy
// [95] phi tu#13 = 1 [phi:main::@20->main::@22#5] -- vwuz1=vbuc1
lda #<1
sta.z tu
lda #>1
sta.z tu+1
jmp __b22
// Write 'DUCK', green
// [95] phi from main::@87 to main::@22 [phi:main::@87->main::@22]
__b22_from___b87:
// [95] phi n#52 = n#20 [phi:main::@87->main::@22#0] -- register_copy
// [95] phi peephole#52 = peephole#12 [phi:main::@87->main::@22#1] -- register_copy
// [95] phi z#102 = z#25 [phi:main::@87->main::@22#2] -- register_copy
// [95] phi y#49 = y#18 [phi:main::@87->main::@22#3] -- register_copy
// [95] phi rem8u#48 = rem8u#25 [phi:main::@87->main::@22#4] -- register_copy
// [95] phi tu#13 = tu#1 [phi:main::@87->main::@22#5] -- register_copy
jmp __b22
// main::@22
__b22:
// [96] chrout::petscii = home -- vbuz1=vbuc1
lda #home
sta.z chrout.petscii
// [97] call chrout
jsr chrout
jmp __b79
// main::@79
__b79:
// [98] chrout::petscii = green -- vbuz1=vbuc1
lda #green
sta.z chrout.petscii
// [99] call chrout
jsr chrout
jmp __b80
// main::@80
__b80:
// [100] chrout::petscii = reverse_on -- vbuz1=vbuc1
lda #reverse_on
sta.z chrout.petscii
// [101] call chrout
jsr chrout
jmp __b81
// main::@81
__b81:
// [102] *((char *) 211) = $f -- _deref_pbuc1=vbuc2
lda #$f
sta.z $d3
// [103] if(tu#13<$a) goto main::@23 -- vwuz1_lt_vbuc1_then_la1
// Jump to column 15
lda.z tu+1
bne !+
lda.z tu
cmp #$a
bcc __b23
!:
jmp __b45
// main::@45
__b45:
// [104] chrout::petscii = $31 -- vbuz1=vbuc1
lda #$31
sta.z chrout.petscii
// [105] call chrout
jsr chrout
jmp __b82
// main::@82
__b82:
// [106] chrout::petscii = $30 -- vbuz1=vbuc1
lda #$30
sta.z chrout.petscii
// [107] call chrout
jsr chrout
// [108] phi from main::@103 main::@104 main::@105 main::@106 main::@23 main::@82 main::@84 to main::@24 [phi:main::@103/main::@104/main::@105/main::@106/main::@23/main::@82/main::@84->main::@24]
__b24_from___b103:
__b24_from___b104:
__b24_from___b105:
__b24_from___b106:
__b24_from___b23:
__b24_from___b82:
__b24_from___b84:
jmp __b24
// Write duck number
// main::@24
__b24:
// [109] call random
// [345] phi from main::@24 to random [phi:main::@24->random]
random_from___b24:
// [345] phi random::n#4 = $ff [phi:main::@24->random#0] -- vbuz1=vbuc1
lda #$ff
sta.z random.n
// [345] phi random::k#4 = 0 [phi:main::@24->random#1] -- vbuz1=vbuc1
lda #0
sta.z random.k
jsr random
jmp __b83
// main::@83
__b83:
// [110] duck#0 = m -- vwuz1=vbuz2
lda.z m
sta.z duck
lda #0
sta.z duck+1
// [111] call random
// [345] phi from main::@83 to random [phi:main::@83->random]
random_from___b83:
// [345] phi random::n#4 = $ff [phi:main::@83->random#0] -- vbuz1=vbuc1
lda #$ff
sta.z random.n
// [345] phi random::k#4 = 0 [phi:main::@83->random#1] -- vbuz1=vbuc1
lda #0
sta.z random.k
jsr random
jmp __b84
// main::@84
__b84:
// [112] main::$61 = m + $1e15 -- vwuz1=vbuz2_plus_vwuc1
lda.z m
clc
adc #<$1e15
sta.z __61
lda #>$1e15
adc #0
sta.z __61+1
// [113] duck#1 = main::$61 + duck#0 -- vwuz1=vwuz2_plus_vwuz1
clc
lda.z duck
adc.z __61
sta.z duck
lda.z duck+1
adc.z __61+1
sta.z duck+1
// [114] main::$66 = duck#1 + 1 -- vwuz1=vwuz2_plus_1
clc
lda.z duck
adc #1
sta.z __66
lda.z duck+1
adc #0
sta.z __66+1
// [115] main::$69 = duck#1 + $16 -- vwuz1=vwuz2_plus_vbuc1
lda #$16
clc
adc.z duck
sta.z __69
lda #0
adc.z duck+1
sta.z __69+1
// [116] main::$72 = duck#1 + $17 -- vwuz1=vwuz2_plus_vbuc1
lda #$17
clc
adc.z duck
sta.z __72
lda #0
adc.z duck+1
sta.z __72+1
// [117] if(duck#1>$1fe3) goto main::@24 -- vwuz1_gt_vwuc1_then_la1
lda #>$1fe3
cmp.z duck+1
bcc __b24_from___b84
bne !+
lda #<$1fe3
cmp.z duck
bcc __b24_from___b84
!:
jmp __b106
// main::@106
__b106:
// [118] if(*((char *)duck#1)==brick) goto main::@24 -- _deref_pbuz1_eq_vbuc1_then_la1
lda #brick
ldy #0
cmp (duck),y
beq __b24_from___b106
jmp __b105
// main::@105
__b105:
// [119] if(*((char *)main::$66)==brick) goto main::@24 -- _deref_pbuz1_eq_vbuc1_then_la1
lda #brick
ldy #0
cmp (__66),y
beq __b24_from___b105
jmp __b104
// main::@104
__b104:
// [120] if(*((char *)main::$69)==brick) goto main::@24 -- _deref_pbuz1_eq_vbuc1_then_la1
lda #brick
ldy #0
cmp (__69),y
beq __b24_from___b104
jmp __b103
// main::@103
__b103:
// [121] if(*((char *)main::$72)==brick) goto main::@24 -- _deref_pbuz1_eq_vbuc1_then_la1
lda #brick
ldy #0
cmp (__72),y
beq __b24_from___b103
// [122] phi from main::@103 to main::@25 [phi:main::@103->main::@25]
__b25_from___b103:
jmp __b25
// main::@25
__b25:
// [123] call chrono_restart
jsr chrono_restart
// [124] phi from main::@25 to main::@26 [phi:main::@25->main::@26]
__b26_from___b25:
// [124] phi n#20 = n#52 [phi:main::@25->main::@26#0] -- register_copy
// [124] phi peephole#12 = peephole#52 [phi:main::@25->main::@26#1] -- register_copy
// [124] phi z#100 = z#102 [phi:main::@25->main::@26#2] -- register_copy
// [124] phi y#18 = y#49 [phi:main::@25->main::@26#3] -- register_copy
// [124] phi rem8u#25 = rem8u#48 [phi:main::@25->main::@26#4] -- register_copy
// [124] phi score#19 = score#38 [phi:main::@25->main::@26#5] -- register_copy
// [124] phi time#11 = 0 [phi:main::@25->main::@26#6] -- vwuz1=vbuc1
lda #<0
sta.z time
lda #>0
sta.z time+1
jmp __b26
// main::@26
__b26:
// [125] if(time#11<$a) goto main::@27 -- vwuz1_lt_vbuc1_then_la1
lda.z time+1
bne !+
lda.z time
cmp #$a
bcc __b27_from___b26
!:
jmp __b28
// main::@28
__b28:
// [126] tu#1 = ++ tu#13 -- vwuz1=_inc_vwuz1
inc.z tu
bne !+
inc.z tu+1
!:
// [127] score#4 = score#19 - $a -- vwuz1=vwuz1_minus_vbuc1
sec
lda.z score
sbc #$a
sta.z score
lda.z score+1
sbc #0
sta.z score+1
// [128] call write_score
// [351] phi from main::@28 to write_score [phi:main::@28->write_score]
write_score_from___b28:
// [351] phi score#13 = score#4 [phi:main::@28->write_score#0] -- register_copy
jsr write_score
jmp __b86
// main::@86
__b86:
// [129] *((char *) 36877) = $82 -- _deref_pbuc1=vbuc2
lda #$82
sta $900d
// [130] call wait
// [381] phi from main::@86 to wait [phi:main::@86->wait]
wait_from___b86:
// [381] phi z#53 = z#100 [phi:main::@86->wait#0] -- register_copy
// [381] phi wait::n#6 = $14 [phi:main::@86->wait#1] -- vbuz1=vbuc1
lda #$14
sta.z wait.n
jsr wait
jmp __b87
// main::@87
__b87:
// [131] *((char *) 36877) = 0 -- _deref_pbuc1=vbuc2
lda #0
sta $900d
// [132] main::$150 = duck#1 + c -- vwuz1=vwuz2_plus_vwuc1
lda.z duck
clc
adc #<c
sta.z __150
lda.z duck+1
adc #>c
sta.z __150+1
// [133] *((char *)main::$150) = 0 -- _deref_pbuz1=vbuc1
lda #0
ldy #0
sta (__150),y
// [134] main::$151 = duck#1 -- vwuz1=vwuz2
lda.z duck
sta.z __151
lda.z duck+1
sta.z __151+1
// [135] main::$152 = main::$151 + 1+c -- vwuz1=vwuz1_plus_vwuc1
lda.z __152
clc
adc #<1+c
sta.z __152
lda.z __152+1
adc #>1+c
sta.z __152+1
// [136] *((char *)main::$152) = 0 -- _deref_pbuz1=vbuc1
lda #0
ldy #0
sta (__152),y
// [137] main::$153 = duck#1 -- vwuz1=vwuz2
lda.z duck
sta.z __153
lda.z duck+1
sta.z __153+1
// [138] main::$154 = main::$153 + $16+c -- vwuz1=vwuz1_plus_vwuc1
lda.z __154
clc
adc #<$16+c
sta.z __154
lda.z __154+1
adc #>$16+c
sta.z __154+1
// [139] *((char *)main::$154) = 0 -- _deref_pbuz1=vbuc1
lda #0
ldy #0
sta (__154),y
// [140] main::$155 = duck#1 -- vwuz1=vwuz2
lda.z duck
sta.z __155
lda.z duck+1
sta.z __155+1
// [141] main::$156 = main::$155 + $17+c -- vwuz1=vwuz1_plus_vwuc1
lda.z __156
clc
adc #<$17+c
sta.z __156
lda.z __156+1
adc #>$17+c
sta.z __156+1
// [142] *((char *)main::$156) = 0 -- _deref_pbuz1=vbuc1
lda #0
ldy #0
sta (__156),y
// [143] if(tu#1<$b) goto main::@22 -- vwuz1_lt_vbuc1_then_la1
lda.z tu+1
bne !+
lda.z tu
cmp #$b
bcc __b22_from___b87
!:
// [144] phi from main::@87 to main::@44 [phi:main::@87->main::@44]
__b44_from___b87:
jmp __b44
// main::@44
__b44:
// [145] call clear_screen
// 10 ducks
// [321] phi from main::@44 to clear_screen [phi:main::@44->clear_screen]
clear_screen_from___b44:
// [321] phi clear_screen::n#5 = 4 [phi:main::@44->clear_screen#0] -- vbuz1=vbuc1
lda #4
sta.z clear_screen.n
jsr clear_screen
jmp __b91
// main::@91
__b91:
// [146] *((char *) 36869) = $f0 -- _deref_pbuc1=vbuc2
lda #$f0
sta $9005
// [147] chrout::petscii = lower -- vbuz1=vbuc1
lda #lower
sta.z chrout.petscii
// [148] call chrout
jsr chrout
// [149] phi from main::@91 to main::@92 [phi:main::@91->main::@92]
__b92_from___b91:
jmp __b92
// main::@92
__b92:
// [150] call textcolor
// Return to text mode, lowcase
// [334] phi from main::@92 to textcolor [phi:main::@92->textcolor]
textcolor_from___b92:
// [334] phi textcolor::color#7 = 7 [phi:main::@92->textcolor#0] -- vbuz1=vbuc1
lda #7
sta.z textcolor.color
jsr textcolor
// [151] phi from main::@92 to main::@93 [phi:main::@92->main::@93]
__b93_from___b92:
jmp __b93
// main::@93
__b93:
// [152] call cputs
// [337] phi from main::@93 to cputs [phi:main::@93->cputs]
cputs_from___b93:
// [337] phi cputs::s#11 = game_over [phi:main::@93->cputs#0] -- pbuz1=pbuc1
lda #<game_over
sta.z cputs.s
lda #>game_over
sta.z cputs.s+1
jsr cputs
// [153] phi from main::@93 to main::@94 [phi:main::@93->main::@94]
__b94_from___b93:
jmp __b94
// main::@94
__b94:
// [154] call textcolor
// Yellow
// [334] phi from main::@94 to textcolor [phi:main::@94->textcolor]
textcolor_from___b94:
// [334] phi textcolor::color#7 = 2 [phi:main::@94->textcolor#0] -- vbuz1=vbuc1
lda #2
sta.z textcolor.color
jsr textcolor
// [155] phi from main::@94 to main::@95 [phi:main::@94->main::@95]
__b95_from___b94:
jmp __b95
// main::@95
__b95:
// [156] call cputs
// [337] phi from main::@95 to cputs [phi:main::@95->cputs]
cputs_from___b95:
// [337] phi cputs::s#11 = your_score [phi:main::@95->cputs#0] -- pbuz1=pbuc1
lda #<your_score
sta.z cputs.s
lda #>your_score
sta.z cputs.s+1
jsr cputs
// [157] phi from main::@95 to main::@96 [phi:main::@95->main::@96]
__b96_from___b95:
jmp __b96
// main::@96
__b96:
// [158] call cputs
// [337] phi from main::@96 to cputs [phi:main::@96->cputs]
cputs_from___b96:
// [337] phi cputs::s#11 = buffer [phi:main::@96->cputs#0] -- pbuz1=pbuc1
lda #<buffer
sta.z cputs.s
lda #>buffer
sta.z cputs.s+1
jsr cputs
// [159] phi from main::@96 to main::@97 [phi:main::@96->main::@97]
__b97_from___b96:
jmp __b97
// main::@97
__b97:
// [160] call textcolor
// Red
// [334] phi from main::@97 to textcolor [phi:main::@97->textcolor]
textcolor_from___b97:
// [334] phi textcolor::color#7 = 3 [phi:main::@97->textcolor#0] -- vbuz1=vbuc1
lda #3
sta.z textcolor.color
jsr textcolor
// [161] phi from main::@97 to main::@98 [phi:main::@97->main::@98]
__b98_from___b97:
jmp __b98
// main::@98
__b98:
// [162] call cputs
// [337] phi from main::@98 to cputs [phi:main::@98->cputs]
cputs_from___b98:
// [337] phi cputs::s#11 = high_score [phi:main::@98->cputs#0] -- pbuz1=pbuc1
lda #<high_score
sta.z cputs.s
lda #>high_score
sta.z cputs.s+1
jsr cputs
jmp __b99
// main::@99
__b99:
// [163] if(score#38<=hiscore#110) goto main::@114 -- vwuz1_le_vwuz2_then_la1
lda.z score+1
cmp.z hiscore_1+1
bne !+
lda.z score
cmp.z hiscore_1
beq __b114
!:
bcc __b114
// [165] phi from main::@114 main::@99 to main::@46 [phi:main::@114/main::@99->main::@46]
__b46_from___b114:
__b46_from___b99:
// [165] phi hiscore#19 = hiscore#124 [phi:main::@114/main::@99->main::@46#0] -- register_copy
jmp __b46
// main::@114
__b114:
// [164] hiscore#124 = hiscore#110 -- vwuz1=vwuz2
lda.z hiscore_1
sta.z hiscore
lda.z hiscore_1+1
sta.z hiscore+1
jmp __b46_from___b114
// main::@46
__b46:
// [166] utoa::value#2 = hiscore#19 -- vwuz1=vwuz2
lda.z hiscore
sta.z utoa.value
lda.z hiscore+1
sta.z utoa.value+1
// [167] call utoa
// [390] phi from main::@46 to utoa [phi:main::@46->utoa]
utoa_from___b46:
// [390] phi utoa::value#10 = utoa::value#2 [phi:main::@46->utoa#0] -- register_copy
jsr utoa
// [168] phi from main::@46 to main::@100 [phi:main::@46->main::@100]
__b100_from___b46:
jmp __b100
// main::@100
__b100:
// [169] call cputs
// [337] phi from main::@100 to cputs [phi:main::@100->cputs]
cputs_from___b100:
// [337] phi cputs::s#11 = buffer [phi:main::@100->cputs#0] -- pbuz1=pbuc1
lda #<buffer
sta.z cputs.s
lda #>buffer
sta.z cputs.s+1
jsr cputs
// [170] phi from main::@100 to main::@101 [phi:main::@100->main::@101]
__b101_from___b100:
jmp __b101
// main::@101
__b101:
// [171] call textcolor
// Cyan
// [334] phi from main::@101 to textcolor [phi:main::@101->textcolor]
textcolor_from___b101:
// [334] phi textcolor::color#7 = 1 [phi:main::@101->textcolor#0] -- vbuz1=vbuc1
lda #1
sta.z textcolor.color
jsr textcolor
// [172] phi from main::@101 to main::@102 [phi:main::@101->main::@102]
__b102_from___b101:
jmp __b102
// main::@102
__b102:
// [173] call cputs
// [337] phi from main::@102 to cputs [phi:main::@102->cputs]
cputs_from___b102:
// [337] phi cputs::s#11 = play_again [phi:main::@102->cputs#0] -- pbuz1=pbuc1
lda #<play_again
sta.z cputs.s
lda #>play_again
sta.z cputs.s+1
jsr cputs
jmp __b47
// white
// main::@47
__b47:
// [174] j#19 = *((char *) 197) -- vbuz1=_deref_pbuc1
lda.z $c5
sta.z j_3
// [175] if(j#19==$b) goto main::@48 -- vbuz1_eq_vbuc1_then_la1
lda #$b
cmp.z j_3
beq __b48
jmp __b112
// main::@112
__b112:
// [176] if(j#19!=$1c) goto main::@47 -- vbuz1_neq_vbuc1_then_la1
lda #$1c
cmp.z j_3
bne __b47
jmp __b48
// main::@48
__b48:
// [177] if(j#19==$b) goto main::@113 -- vbuz1_eq_vbuc1_then_la1
lda #$b
cmp.z j_3
beq __b113
jmp __b49
// main::@49
__b49:
// asm { jsr$FD22 }
// N pressed. Exit game
jsr $fd22
jmp __breturn
// main::@return
__breturn:
// [179] return
rts
// main::@113
__b113:
// [180] hiscore#123 = hiscore#19 -- vwuz1=vwuz2
lda.z hiscore
sta.z hiscore_1
lda.z hiscore+1
sta.z hiscore_1+1
// [26] phi from main::@113 to main::@3 [phi:main::@113->main::@3]
__b3_from___b113:
// [26] phi n#109 = n#20 [phi:main::@113->main::@3#0] -- register_copy
// [26] phi hiscore#110 = hiscore#123 [phi:main::@113->main::@3#1] -- register_copy
// [26] phi y#114 = y#18 [phi:main::@113->main::@3#2] -- register_copy
// [26] phi rem8u#127 = rem8u#25 [phi:main::@113->main::@3#3] -- register_copy
jmp __b3
// [181] phi from main::@26 to main::@27 [phi:main::@26->main::@27]
__b27_from___b26:
jmp __b27
// main::@27
__b27:
// [182] call read_chrono
jsr read_chrono
jmp __b85
// main::@85
__b85:
// [183] m = *((char *) 37151) -- vbuz1=_deref_pbuc1
// Joystick routine
lda $911f
sta.z m
// [184] *((char *) 37154) = $7f -- _deref_pbuc1=vbuc2
lda #$7f
sta $9122
// [185] n#14 = *((char *) 37152) -- vbuz1=_deref_pbuc1
lda $9120
sta.z n
// [186] *((char *) 37154) = $ff -- _deref_pbuc1=vbuc2
lda #$ff
sta $9122
// [187] main::$78 = $10 & m -- vbuz1=vbuc1_band_vbuz2
lda #$10
and.z m
sta.z __78
// [188] if(main::$78!=0) goto main::@29 -- vbuz1_neq_0_then_la1
lda.z __78
bne __b29_from___b85
jmp __b37
// main::@37
__b37:
// [189] y#0 = -- y#18 -- vwuz1=_dec_vwuz1
lda.z y
bne !+
dec.z y+1
!:
dec.z y
// [190] phi from main::@37 main::@85 to main::@29 [phi:main::@37/main::@85->main::@29]
__b29_from___b37:
__b29_from___b85:
// [190] phi y#10 = y#0 [phi:main::@37/main::@85->main::@29#0] -- register_copy
jmp __b29
// main::@29
__b29:
// [191] main::$81 = $80 & n#14 -- vbuz1=vbuc1_band_vbuz2
lda #$80
and.z n
sta.z __81
// [192] if(main::$81!=0) goto main::@30 -- vbuz1_neq_0_then_la1
lda.z __81
bne __b30_from___b29
jmp __b38
// main::@38
__b38:
// [193] y#1 = ++ y#10 -- vwuz1=_inc_vwuz1
inc.z y
bne !+
inc.z y+1
!:
// [194] phi from main::@29 main::@38 to main::@30 [phi:main::@29/main::@38->main::@30]
__b30_from___b29:
__b30_from___b38:
// [194] phi y#11 = y#10 [phi:main::@29/main::@38->main::@30#0] -- register_copy
jmp __b30
// main::@30
__b30:
// [195] main::$84 = 4 & m -- vbuz1=vbuc1_band_vbuz2
lda #4
and.z m
sta.z __84
// [196] if(main::$84!=0) goto main::@31 -- vbuz1_neq_0_then_la1
lda.z __84
bne __b31_from___b30
jmp __b39
// main::@39
__b39:
// [197] y#2 = y#11 - $16 -- vwuz1=vwuz1_minus_vbuc1
sec
lda.z y
sbc #$16
sta.z y
lda.z y+1
sbc #0
sta.z y+1
// [198] phi from main::@30 main::@39 to main::@31 [phi:main::@30/main::@39->main::@31]
__b31_from___b30:
__b31_from___b39:
// [198] phi y#12 = y#11 [phi:main::@30/main::@39->main::@31#0] -- register_copy
jmp __b31
// main::@31
__b31:
// [199] main::$88 = 8 & m -- vbuz1=vbuc1_band_vbuz2
lda #8
and.z m
sta.z __88
// [200] if(main::$88!=0) goto main::@32 -- vbuz1_neq_0_then_la1
lda.z __88
bne __b32_from___b31
jmp __b40
// main::@40
__b40:
// [201] y#3 = y#12 + $16 -- vwuz1=vwuz1_plus_vbuc1
lda #$16
clc
adc.z y
sta.z y
bcc !+
inc.z y+1
!:
// [202] phi from main::@31 main::@40 to main::@32 [phi:main::@31/main::@40->main::@32]
__b32_from___b31:
__b32_from___b40:
// [202] phi y#13 = y#12 [phi:main::@31/main::@40->main::@32#0] -- register_copy
jmp __b32
// main::@32
__b32:
// [203] main::$92 = $20 & m -- vbuz1=vbuc1_band_vbuz2
lda #$20
and.z m
sta.z __92
// [204] if(main::$92!=0) goto main::@33 -- vbuz1_neq_0_then_la1
lda.z __92
bne __b33_from___b32
jmp __b41
// main::@41
__b41:
// [205] *((char *) 36877) = $82 -- _deref_pbuc1=vbuc2
lda #$82
sta $900d
// [206] if(peephole#12!=duck#1) goto main::@34 -- vwuz1_neq_vwuz2_then_la1
lda.z peephole+1
cmp.z duck+1
bne __b34
lda.z peephole
cmp.z duck
bne __b34
jmp __b42
// main::@42
__b42:
// [207] main::$96 = $c - div16u8u::return#2 -- vwuz1=vwuc1_minus_vwuz2
sec
lda #<$c
sbc.z div16u8u.return_1
sta.z __96
lda #>$c
sbc.z div16u8u.return_1+1
sta.z __96+1
// [208] main::$179 = main::$96 << 2 -- vwuz1=vwuz2_rol_2
lda.z __96
asl
sta.z __179
lda.z __96+1
rol
sta.z __179+1
asl.z __179
rol.z __179+1
// [209] main::$180 = main::$179 + main::$96 -- vwuz1=vwuz2_plus_vwuz1
clc
lda.z __180
adc.z __179
sta.z __180
lda.z __180+1
adc.z __179+1
sta.z __180+1
// [210] main::$97 = main::$180 << 1 -- vwuz1=vwuz1_rol_1
asl.z __97
rol.z __97+1
// [211] score#8 = score#19 + main::$97 -- vwuz1=vwuz1_plus_vwuz2
clc
lda.z score
adc.z __97
sta.z score
lda.z score+1
adc.z __97+1
sta.z score+1
// [212] call wait
// [381] phi from main::@42 to wait [phi:main::@42->wait]
wait_from___b42:
// [381] phi z#53 = z#100 [phi:main::@42->wait#0] -- register_copy
// [381] phi wait::n#6 = $a [phi:main::@42->wait#1] -- vbuz1=vbuc1
lda #$a
sta.z wait.n
jsr wait
// [213] phi from main::@42 to main::@35 [phi:main::@42->main::@35]
__b35_from___b42:
// [213] phi score#81 = score#8 [phi:main::@42->main::@35#0] -- register_copy
// [213] phi time#38 = $a [phi:main::@42->main::@35#1] -- vwuz1=vbuc1
lda #<$a
sta.z time
lda #>$a
sta.z time+1
jmp __b35
// main::@35
__b35:
// [214] *((char *) 36877) = 0 -- _deref_pbuc1=vbuc2
lda #0
sta $900d
// [215] phi from main::@32 main::@35 to main::@33 [phi:main::@32/main::@35->main::@33]
__b33_from___b32:
__b33_from___b35:
// [215] phi score#43 = score#19 [phi:main::@32/main::@35->main::@33#0] -- register_copy
// [215] phi time#17 = div16u8u::return#2 [phi:main::@32/main::@35->main::@33#1] -- register_copy
// [215] phi z#48 = z#100 [phi:main::@32/main::@35->main::@33#2] -- register_copy
jmp __b33
// main::@33
__b33:
// [216] main::$104 = y#13 + 1 -- vwuz1=vwuz2_plus_1
clc
lda.z y
adc #1
sta.z __104
lda.z y+1
adc #0
sta.z __104+1
// [217] main::$107 = y#13 + $16 -- vwuz1=vwuz2_plus_vbuc1
lda #$16
clc
adc.z y
sta.z __107
lda #0
adc.z y+1
sta.z __107+1
// [218] main::$110 = y#13 + $17 -- vwuz1=vwuz2_plus_vbuc1
lda #$17
clc
adc.z y
sta.z __110
lda #0
adc.z y+1
sta.z __110+1
// [219] if(*((char *)y#13)==brick) goto main::@36 -- _deref_pbuz1_eq_vbuc1_then_la1
lda #brick
ldy #0
cmp (y),y
beq __b36_from___b33
jmp __b111
// main::@111
__b111:
// [220] if(*((char *)main::$104)==brick) goto main::@36 -- _deref_pbuz1_eq_vbuc1_then_la1
lda #brick
ldy #0
cmp (__104),y
beq __b36_from___b111
jmp __b110
// main::@110
__b110:
// [221] if(*((char *)main::$107)!=brick) goto main::@109 -- _deref_pbuz1_neq_vbuc1_then_la1
ldy #0
lda (__107),y
cmp #brick
bne __b109
// [222] phi from main::@107 main::@108 main::@109 main::@110 main::@111 to main::@36 [phi:main::@107/main::@108/main::@109/main::@110/main::@111->main::@36]
__b36_from___b107:
__b36_from___b108:
__b36_from___b109:
__b36_from___b110:
__b36_from___b111:
jmp __b36
// [222] phi from main::@33 main::@43 to main::@36 [phi:main::@33/main::@43->main::@36]
__b36_from___b33:
__b36_from___b43:
// [222] phi y#35 = peephole#12 [phi:main::@33/main::@43->main::@36#0] -- register_copy
jmp __b36
// main::@36
__b36:
// [223] *((char *)y#35) = $fd -- _deref_pbuz1=vbuc1
lda #$fd
ldy #0
sta (y_1),y
// [224] main::$125 = y#35 + c -- vwuz1=vwuz2_plus_vwuc1
lda.z y_1
clc
adc #<c
sta.z __125
lda.z y_1+1
adc #>c
sta.z __125+1
// [225] *((char *)main::$125) = 1 -- _deref_pbuz1=vbuc1
lda #1
ldy #0
sta (__125),y
// [226] main::$127 = y#35 + 1 -- vwuz1=vwuz2_plus_1
clc
lda.z y_1
adc #1
sta.z __127
lda.z y_1+1
adc #0
sta.z __127+1
// [227] *((char *)main::$127) = $ed -- _deref_pbuz1=vbuc1
lda #$ed
ldy #0
sta (__127),y
// [228] main::$128 = main::$127 + c -- vwuz1=vwuz1_plus_vwuc1
lda.z __128
clc
adc #<c
sta.z __128
lda.z __128+1
adc #>c
sta.z __128+1
// [229] *((char *)main::$128) = 1 -- _deref_pbuz1=vbuc1
lda #1
ldy #0
sta (__128),y
// [230] main::$130 = y#35 + $16 -- vwuz1=vwuz2_plus_vbuc1
lda #$16
clc
adc.z y_1
sta.z __130
lda #0
adc.z y_1+1
sta.z __130+1
// [231] *((char *)main::$130) = $ee -- _deref_pbuz1=vbuc1
lda #$ee
ldy #0
sta (__130),y
// [232] main::$131 = main::$130 + c -- vwuz1=vwuz1_plus_vwuc1
lda.z __131
clc
adc #<c
sta.z __131
lda.z __131+1
adc #>c
sta.z __131+1
// [233] *((char *)main::$131) = 1 -- _deref_pbuz1=vbuc1
lda #1
ldy #0
sta (__131),y
// [234] main::$133 = y#35 + $17 -- vwuz1=vwuz2_plus_vbuc1
lda #$17
clc
adc.z y_1
sta.z __133
lda #0
adc.z y_1+1
sta.z __133+1
// [235] *((char *)main::$133) = $f0 -- _deref_pbuz1=vbuc1
lda #$f0
ldy #0
sta (__133),y
// [236] main::$134 = main::$133 + c -- vwuz1=vwuz1_plus_vwuc1
lda.z __134
clc
adc #<c
sta.z __134
lda.z __134+1
adc #>c
sta.z __134+1
// [237] *((char *)main::$134) = 1 -- _deref_pbuz1=vbuc1
lda #1
ldy #0
sta (__134),y
// [238] call wait
// Clear peephole if there is not bricks contact
// [381] phi from main::@36 to wait [phi:main::@36->wait]
wait_from___b36:
// [381] phi z#53 = z#48 [phi:main::@36->wait#0] -- register_copy
// [381] phi wait::n#6 = 5 [phi:main::@36->wait#1] -- vbuz1=vbuc1
lda #5
sta.z wait.n
jsr wait
jmp __b89
// main::@89
__b89:
// [239] *((char *)duck#1) = 0 -- _deref_pbuz1=vbuc1
lda #0
ldy #0
sta (duck),y
// [240] main::$136 = duck#1 + c -- vwuz1=vwuz2_plus_vwuc1
lda.z duck
clc
adc #<c
sta.z __136
lda.z duck+1
adc #>c
sta.z __136+1
// [241] *((char *)main::$136) = 7 -- _deref_pbuz1=vbuc1
lda #7
ldy #0
sta (__136),y
// [242] main::$138 = duck#1 + 1 -- vwuz1=vwuz2_plus_1
clc
lda.z duck
adc #1
sta.z __138
lda.z duck+1
adc #0
sta.z __138+1
// [243] *((char *)main::$138) = 1 -- _deref_pbuz1=vbuc1
lda #1
ldy #0
sta (__138),y
// [244] main::$139 = main::$138 + c -- vwuz1=vwuz1_plus_vwuc1
lda.z __139
clc
adc #<c
sta.z __139
lda.z __139+1
adc #>c
sta.z __139+1
// [245] *((char *)main::$139) = 7 -- _deref_pbuz1=vbuc1
lda #7
ldy #0
sta (__139),y
// [246] main::$141 = duck#1 + $16 -- vwuz1=vwuz2_plus_vbuc1
lda #$16
clc
adc.z duck
sta.z __141
lda #0
adc.z duck+1
sta.z __141+1
// [247] *((char *)main::$141) = 2 -- _deref_pbuz1=vbuc1
lda #2
ldy #0
sta (__141),y
// [248] main::$142 = main::$141 + c -- vwuz1=vwuz1_plus_vwuc1
lda.z __142
clc
adc #<c
sta.z __142
lda.z __142+1
adc #>c
sta.z __142+1
// [249] *((char *)main::$142) = 7 -- _deref_pbuz1=vbuc1
lda #7
ldy #0
sta (__142),y
// [250] main::$144 = duck#1 + $17 -- vwuz1=vwuz2_plus_vbuc1
lda #$17
clc
adc.z duck
sta.z __144
lda #0
adc.z duck+1
sta.z __144+1
// [251] *((char *)main::$144) = 3 -- _deref_pbuz1=vbuc1
lda #3
ldy #0
sta (__144),y
// [252] main::$145 = main::$144 + c -- vwuz1=vwuz1_plus_vwuc1
lda.z __145
clc
adc #<c
sta.z __145
lda.z __145+1
adc #>c
sta.z __145+1
// [253] *((char *)main::$145) = 7 -- _deref_pbuz1=vbuc1
lda #7
ldy #0
sta (__145),y
// [254] call wait
// [381] phi from main::@89 to wait [phi:main::@89->wait]
wait_from___b89:
// [381] phi z#53 = z#25 [phi:main::@89->wait#0] -- register_copy
// [381] phi wait::n#6 = 5 [phi:main::@89->wait#1] -- vbuz1=vbuc1
lda #5
sta.z wait.n
jsr wait
jmp __b90
// main::@90
__b90:
// [255] y#130 = y#35 -- vwuz1=vwuz2
lda.z y_1
sta.z y
lda.z y_1+1
sta.z y+1
// [124] phi from main::@90 to main::@26 [phi:main::@90->main::@26]
__b26_from___b90:
// [124] phi n#20 = n#14 [phi:main::@90->main::@26#0] -- register_copy
// [124] phi peephole#12 = y#35 [phi:main::@90->main::@26#1] -- register_copy
// [124] phi z#100 = z#25 [phi:main::@90->main::@26#2] -- register_copy
// [124] phi y#18 = y#130 [phi:main::@90->main::@26#3] -- register_copy
// [124] phi rem8u#25 = divr8u::rem#11 [phi:main::@90->main::@26#4] -- register_copy
// [124] phi score#19 = score#43 [phi:main::@90->main::@26#5] -- register_copy
// [124] phi time#11 = time#17 [phi:main::@90->main::@26#6] -- register_copy
jmp __b26
// main::@109
__b109:
// [256] if(*((char *)main::$110)==brick) goto main::@36 -- _deref_pbuz1_eq_vbuc1_then_la1
lda #brick
ldy #0
cmp (__110),y
beq __b36_from___b109
jmp __b108
// main::@108
__b108:
// [257] if(y#13>$1e16) goto main::@107 -- vwuz1_gt_vwuc1_then_la1
lda #>$1e16
cmp.z y+1
bcc __b107
bne !+
lda #<$1e16
cmp.z y
bcc __b107
!:
jmp __b36_from___b108
// main::@107
__b107:
// [258] if(y#13>=$1fe3) goto main::@36 -- vwuz1_ge_vwuc1_then_la1
lda.z y+1
cmp #>$1fe3
bcc !+
bne __b36_from___b107
lda.z y
cmp #<$1fe3
bcs __b36_from___b107
!:
jmp __b43
// main::@43
__b43:
// [259] main::$119 = peephole#12 + c -- vwuz1=vwuz2_plus_vwuc1
lda.z peephole
clc
adc #<c
sta.z __119
lda.z peephole+1
adc #>c
sta.z __119+1
// [260] *((char *)main::$119) = 0 -- _deref_pbuz1=vbuc1
lda #0
ldy #0
sta (__119),y
// [261] main::$120 = main::$119 + 1 -- vwuz1=vwuz2_plus_1
clc
lda.z __119
adc #1
sta.z __120
lda.z __119+1
adc #0
sta.z __120+1
// [262] *((char *)main::$120) = 0 -- _deref_pbuz1=vbuc1
lda #0
ldy #0
sta (__120),y
// [263] main::$122 = main::$119 + $16 -- vwuz1=vwuz2_plus_vbuc1
lda #$16
clc
adc.z __119
sta.z __122
lda #0
adc.z __119+1
sta.z __122+1
// [264] *((char *)main::$122) = 0 -- _deref_pbuz1=vbuc1
lda #0
ldy #0
sta (__122),y
// [265] main::$124 = main::$119 + $17 -- vwuz1=vwuz1_plus_vbuc1
lda #$17
clc
adc.z __124
sta.z __124
bcc !+
inc.z __124+1
!:
// [266] *((char *)main::$124) = 0 -- _deref_pbuz1=vbuc1
lda #0
ldy #0
sta (__124),y
// [267] y#141 = y#13 -- vwuz1=vwuz2
lda.z y
sta.z y_1
lda.z y+1
sta.z y_1+1
jmp __b36_from___b43
// main::@34
__b34:
// [268] score#6 = score#19 - $a -- vwuz1=vwuz1_minus_vbuc1
sec
lda.z score
sbc #$a
sta.z score
lda.z score+1
sbc #0
sta.z score+1
// [269] call write_score
// [351] phi from main::@34 to write_score [phi:main::@34->write_score]
write_score_from___b34:
// [351] phi score#13 = score#6 [phi:main::@34->write_score#0] -- register_copy
jsr write_score
// [270] phi from main::@34 to main::@88 [phi:main::@34->main::@88]
__b88_from___b34:
jmp __b88
// main::@88
__b88:
// [271] call wait
// [381] phi from main::@88 to wait [phi:main::@88->wait]
wait_from___b88:
// [381] phi z#53 = z#100 [phi:main::@88->wait#0] -- register_copy
// [381] phi wait::n#6 = $a [phi:main::@88->wait#1] -- vbuz1=vbuc1
lda #$a
sta.z wait.n
jsr wait
// [213] phi from main::@88 to main::@35 [phi:main::@88->main::@35]
__b35_from___b88:
// [213] phi score#81 = score#38 [phi:main::@88->main::@35#0] -- register_copy
// [213] phi time#38 = div16u8u::return#2 [phi:main::@88->main::@35#1] -- register_copy
jmp __b35
// main::@23
__b23:
// [272] main::$57 = $30 + tu#13 -- vwuz1=vbuc1_plus_vwuz2
lda #$30
clc
adc.z tu
sta.z __57
lda #0
adc.z tu+1
sta.z __57+1
// [273] chrout::petscii = main::$57 -- vbuz1=vwuz2
lda.z __57
sta.z chrout.petscii
// [274] call chrout
jsr chrout
jmp __b24_from___b23
// main::@21
__b21:
// [275] chrout::petscii = ducknumber[j#16] -- vbuz1=pbuc1_derefidx_vbuz2
ldy.z j_2
lda ducknumber,y
sta.z chrout.petscii
// [276] call chrout
jsr chrout
jmp __b78
// main::@78
__b78:
// [277] j#5 = ++ j#16 -- vbuz1=_inc_vbuz1
inc.z j_2
// [93] phi from main::@78 to main::@20 [phi:main::@78->main::@20]
__b20_from___b78:
// [93] phi j#16 = j#5 [phi:main::@78->main::@20#0] -- register_copy
jmp __b20
// main::@18
__b18:
// [278] chrout::petscii = chrono[j#13] -- vbuz1=pbuc1_derefidx_vbuz2
ldy.z j_1
lda chrono,y
sta.z chrout.petscii
// [279] call chrout
jsr chrout
jmp __b74
// main::@74
__b74:
// [280] j#3 = ++ j#13 -- vbuz1=_inc_vbuz1
inc.z j_1
// [84] phi from main::@74 to main::@17 [phi:main::@74->main::@17]
__b17_from___b74:
// [84] phi j#13 = j#3 [phi:main::@74->main::@17#0] -- register_copy
jmp __b17
// [281] phi from main::@71 to main::@14 [phi:main::@71->main::@14]
__b14_from___b71:
// [281] phi j#11 = 1 [phi:main::@71->main::@14#0] -- vbuz1=vbuc1
lda #1
sta.z j
jmp __b14
// main::@14
__b14:
// [282] if(j#11<=m) goto main::@15 -- vbuz1_le_vbuz2_then_la1
lda.z m
cmp.z j
bcs __b15
jmp __b16
// main::@16
__b16:
// [283] chrout::petscii = brick -- vbuz1=vbuc1
lda #brick
sta.z chrout.petscii
// [284] call chrout
jsr chrout
jmp __b73
// main::@73
__b73:
// [285] main::$35 = z#28 + m -- vwuz1=vwuz2_plus_vbuz3
lda.z m
clc
adc.z z_1
sta.z __35
lda #0
adc.z z_1+1
sta.z __35+1
// [286] z#9 = main::$35 + 1 -- vwuz1=vwuz2_plus_1
clc
lda.z __35
adc #1
sta.z z_1
lda.z __35+1
adc #0
sta.z z_1+1
// [287] if(z#9<$1fa) goto main::@13 -- vwuz1_lt_vwuc1_then_la1
lda.z z_1+1
cmp #>$1fa
bcc __b13_from___b73
bne !+
lda.z z_1
cmp #<$1fa
bcc __b13_from___b73
!:
jmp __b12_from___b73
// main::@15
__b15:
// [288] chrout::petscii = right -- vbuz1=vbuc1
lda #right
sta.z chrout.petscii
// [289] call chrout
jsr chrout
jmp __b72
// main::@72
__b72:
// [290] j#2 = ++ j#11 -- vbuz1=_inc_vbuz1
inc.z j
// [281] phi from main::@72 to main::@14 [phi:main::@72->main::@14]
__b14_from___b72:
// [281] phi j#11 = j#2 [phi:main::@72->main::@14#0] -- register_copy
jmp __b14
// main::@7
__b7:
// [291] chrout::petscii = brick -- vbuz1=vbuc1
lda #brick
sta.z chrout.petscii
// [292] call chrout
jsr chrout
// [293] phi from main::@7 to main::@9 [phi:main::@7->main::@9]
__b9_from___b7:
// [293] phi n#101 = 2 [phi:main::@7->main::@9#0] -- vbuz1=vbuc1
lda #2
sta.z n
jmp __b9
// main::@9
__b9:
// [294] if(n#101<$16) goto main::@10 -- vbuz1_lt_vbuc1_then_la1
lda.z n
cmp #$16
bcc __b10
jmp __b11
// main::@11
__b11:
// [295] chrout::petscii = brick -- vbuz1=vbuc1
lda #brick
sta.z chrout.petscii
// [296] call chrout
jsr chrout
jmp __b64
// main::@64
__b64:
// [297] k#1 = ++ k#101 -- vbuz1=_inc_vbuz1
inc.z k
// [52] phi from main::@64 to main::@6 [phi:main::@64->main::@6]
__b6_from___b64:
// [52] phi n#89 = n#101 [phi:main::@64->main::@6#0] -- register_copy
// [52] phi k#101 = k#1 [phi:main::@64->main::@6#1] -- register_copy
jmp __b6
// main::@10
__b10:
// [298] chrout::petscii = right -- vbuz1=vbuc1
lda #right
sta.z chrout.petscii
// [299] call chrout
jsr chrout
jmp __b63
// main::@63
__b63:
// [300] n#1 = ++ n#101 -- vbuz1=_inc_vbuz1
inc.z n
// [293] phi from main::@63 to main::@9 [phi:main::@63->main::@9]
__b9_from___b63:
// [293] phi n#101 = n#1 [phi:main::@63->main::@9#0] -- register_copy
jmp __b9
// main::@2
__b2:
// [301] main::$3 = $1c00 + m -- vwuz1=vwuc1_plus_vbuz2
lda.z m
clc
adc #<$1c00
sta.z __3
lda #>$1c00
adc #0
sta.z __3+1
// [302] *((char *)main::$3) = duck_udg[m] -- _deref_pbuz1=pbuc1_derefidx_vbuz2
ldy.z m
lda duck_udg,y
ldy #0
sta (__3),y
// [303] m = ++ m -- vbuz1=_inc_vbuz1
inc.z m
jmp __b1
}
// gotoxy
// Set the cursor to the specified position
// void gotoxy(char x, __zp($4c) char y)
gotoxy: {
.label __5 = $48
.label __6 = $2c
.label __7 = $2c
.label line_offset = $2c
.label y = $4c
.label __8 = $46
.label __9 = $2c
// [305] if(gotoxy::y#4<$19+1) goto gotoxy::@3 -- vbuz1_lt_vbuc1_then_la1
lda.z y
cmp #$19+1
bcc __b3_from_gotoxy
// [307] phi from gotoxy to gotoxy::@1 [phi:gotoxy->gotoxy::@1]
__b1_from_gotoxy:
// [307] phi gotoxy::y#5 = 0 [phi:gotoxy->gotoxy::@1#0] -- vbuz1=vbuc1
lda #0
sta.z y
jmp __b1
// [306] phi from gotoxy to gotoxy::@3 [phi:gotoxy->gotoxy::@3]
__b3_from_gotoxy:
jmp __b3
// gotoxy::@3
__b3:
// [307] phi from gotoxy::@3 to gotoxy::@1 [phi:gotoxy::@3->gotoxy::@1]
__b1_from___b3:
// [307] phi gotoxy::y#5 = gotoxy::y#4 [phi:gotoxy::@3->gotoxy::@1#0] -- register_copy
jmp __b1
// gotoxy::@1
__b1:
jmp __b2
// gotoxy::@2
__b2:
// [308] conio_cursor_x = 0 -- vbuz1=vbuc1
lda #0
sta.z conio_cursor_x
// [309] conio_cursor_y = gotoxy::y#5 -- vbuz1=vbuz2
lda.z y
sta.z conio_cursor_y
// [310] gotoxy::$7 = (unsigned int)gotoxy::y#5 -- vwuz1=_word_vbuz2
lda.z y
sta.z __7
lda #0
sta.z __7+1
// [311] gotoxy::$8 = gotoxy::$7 << 2 -- vwuz1=vwuz2_rol_2
lda.z __7
asl
sta.z __8
lda.z __7+1
rol
sta.z __8+1
asl.z __8
rol.z __8+1
// [312] gotoxy::$9 = gotoxy::$8 + gotoxy::$7 -- vwuz1=vwuz2_plus_vwuz1
clc
lda.z __9
adc.z __8
sta.z __9
lda.z __9+1
adc.z __8+1
sta.z __9+1
// [313] gotoxy::line_offset#0 = gotoxy::$9 << 3 -- vwuz1=vwuz1_rol_3
asl.z line_offset
rol.z line_offset+1
asl.z line_offset
rol.z line_offset+1
asl.z line_offset
rol.z line_offset+1
// [314] gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0 -- pbuz1=pbuc1_plus_vwuz2
lda.z line_offset
clc
adc #<DEFAULT_SCREEN
sta.z __5
lda.z line_offset+1
adc #>DEFAULT_SCREEN
sta.z __5+1
// [315] conio_line_text = gotoxy::$5 -- pbuz1=pbuz2
lda.z __5
sta.z conio_line_text
lda.z __5+1
sta.z conio_line_text+1
// [316] gotoxy::$6 = COLORRAM + gotoxy::line_offset#0 -- pbuz1=pbuc1_plus_vwuz1
lda.z __6
clc
adc #<COLORRAM
sta.z __6
lda.z __6+1
adc #>COLORRAM
sta.z __6+1
// [317] conio_line_color = gotoxy::$6 -- pbuz1=pbuz2
lda.z __6
sta.z conio_line_color
lda.z __6+1
sta.z conio_line_color+1
jmp __breturn
// gotoxy::@return
__breturn:
// [318] return
rts
}
// chrout
// void chrout(__zp($18) volatile char petscii)
chrout: {
.label petscii = $18
// asm { ldapetscii jsr$ffd2 }
lda petscii
jsr $ffd2
jmp __breturn
// chrout::@return
__breturn:
// [320] return
rts
}
// clear_screen
// void clear_screen(__zp(8) char n, char m)
clear_screen: {
.label __4 = $23
.label __5 = 9
.label n = 8
// [322] phi from clear_screen to clear_screen::@1 [phi:clear_screen->clear_screen::@1]
__b1_from_clear_screen:
// [322] phi z#2 = 0 [phi:clear_screen->clear_screen::@1#0] -- vwuz1=vbuc1
lda #<0
sta.z z
lda #>0
sta.z z+1
jmp __b1
// clear_screen::@1
__b1:
// [323] if(z#2<$1fa) goto clear_screen::@2 -- vwuz1_lt_vwuc1_then_la1
lda.z z+1
cmp #>$1fa
bcc __b2
bne !+
lda.z z
cmp #<$1fa
bcc __b2
!:
// [324] phi from clear_screen::@1 to clear_screen::@3 [phi:clear_screen::@1->clear_screen::@3]
__b3_from___b1:
jmp __b3
// clear_screen::@3
__b3:
// [325] call gotoxy
// From 0-->505 (506 bytes). ClearScreen with byte 'n' with color 'm'
// [304] phi from clear_screen::@3 to gotoxy [phi:clear_screen::@3->gotoxy]
gotoxy_from___b3:
// [304] phi gotoxy::y#4 = 0 [phi:clear_screen::@3->gotoxy#0] -- vbuz1=vbuc1
lda #0
sta.z gotoxy.y
jsr gotoxy
jmp __b4
// clear_screen::@4
__b4:
// [326] chrout::petscii = home -- vbuz1=vbuc1
lda #home
sta.z chrout.petscii
// [327] call chrout
jsr chrout
jmp __breturn
// clear_screen::@return
__breturn:
// [328] return
rts
// clear_screen::@2
__b2:
// [329] clear_screen::$5 = $1e00 + z#2 -- vwuz1=vwuc1_plus_vwuz2
lda.z z
clc
adc #<$1e00
sta.z __5
lda.z z+1
adc #>$1e00
sta.z __5+1
// [330] clear_screen::$4 = clear_screen::$5 + c -- vwuz1=vwuz2_plus_vwuc1
lda.z __5
clc
adc #<c
sta.z __4
lda.z __5+1
adc #>c
sta.z __4+1
// [331] *((char *)clear_screen::$4) = 0 -- _deref_pbuz1=vbuc1
lda #0
ldy #0
sta (__4),y
// [332] *((char *)clear_screen::$5) = clear_screen::n#5 -- _deref_pbuz1=vbuz2
lda.z n
ldy #0
sta (__5),y
// [333] z#1 = ++ z#2 -- vwuz1=_inc_vwuz1
inc.z z
bne !+
inc.z z+1
!:
// [322] phi from clear_screen::@2 to clear_screen::@1 [phi:clear_screen::@2->clear_screen::@1]
__b1_from___b2:
// [322] phi z#2 = z#1 [phi:clear_screen::@2->clear_screen::@1#0] -- register_copy
jmp __b1
}
// textcolor
// Set the color for text output. The old color setting is returned.
// char textcolor(__zp(8) char color)
textcolor: {
.label color = 8
// [335] conio_textcolor = textcolor::color#7 -- vbuz1=vbuz2
lda.z color
sta.z conio_textcolor
jmp __breturn
// textcolor::@return
__breturn:
// [336] return
rts
}
// cputs
// Output a NUL-terminated string at the current cursor position
// void cputs(__zp(5) const char *s)
cputs: {
.label c = 2
.label s = 5
// [338] phi from cputs cputs::@2 to cputs::@1 [phi:cputs/cputs::@2->cputs::@1]
__b1_from_cputs:
__b1_from___b2:
// [338] phi cputs::s#10 = cputs::s#11 [phi:cputs/cputs::@2->cputs::@1#0] -- register_copy
jmp __b1
// cputs::@1
__b1:
// [339] cputs::c#1 = *cputs::s#10 -- vbuz1=_deref_pbuz2
ldy #0
lda (s),y
sta.z c
// [340] cputs::s#0 = ++ cputs::s#10 -- pbuz1=_inc_pbuz1
inc.z s
bne !+
inc.z s+1
!:
// [341] if(0!=cputs::c#1) goto cputs::@2 -- 0_neq_vbuz1_then_la1
lda.z c
bne __b2
jmp __breturn
// cputs::@return
__breturn:
// [342] return
rts
// cputs::@2
__b2:
// [343] cputc::c#0 = cputs::c#1
// [344] call cputc
jsr cputc
jmp __b1_from___b2
}
// random
// Return to home position
// void random(__zp(3) char k, __zp(8) char n)
random: {
.label k = 3
.label n = 8
.label __3 = 2
jmp __b1
// random::@1
__b1:
// [346] m = *((char *) 37140) -- vbuz1=_deref_pbuc1
lda $9114
sta.z m
// [347] random::$3 = m -- vbuz1=vbuz2
lda.z m
sta.z __3
// [348] if(m<random::k#4) goto random::@1 -- vbuz1_lt_vbuz2_then_la1
lda.z m
cmp.z k
bcc __b1
jmp __b2
// random::@2
__b2:
// [349] if(random::$3>random::n#4) goto random::@1 -- vbuz1_gt_vbuz2_then_la1
lda.z n
cmp.z __3
bcc __b1
jmp __breturn
// random::@return
__breturn:
// [350] return
rts
}
// write_score
write_score: {
// [352] if(score#13<=$fde8) goto write_score::@15 -- vwuz1_le_vwuc1_then_la1
lda.z score+1
cmp #>$fde8
bne !+
lda.z score
cmp #<$fde8
!:
bcc __b15_from_write_score
beq __b15_from_write_score
// [354] phi from write_score to write_score::@1 [phi:write_score->write_score::@1]
__b1_from_write_score:
// [354] phi score#38 = 0 [phi:write_score->write_score::@1#0] -- vwuz1=vbuc1
lda #<0
sta.z score
lda #>0
sta.z score+1
jmp __b1
// [353] phi from write_score to write_score::@15 [phi:write_score->write_score::@15]
__b15_from_write_score:
jmp __b15
// write_score::@15
__b15:
// [354] phi from write_score::@15 to write_score::@1 [phi:write_score::@15->write_score::@1]
__b1_from___b15:
// [354] phi score#38 = score#13 [phi:write_score::@15->write_score::@1#0] -- register_copy
jmp __b1
// write_score::@1
__b1:
// [355] m = 0 -- vbuz1=vbuc1
lda #0
sta.z m
jmp __b5
// write_score::@5
__b5:
// [356] if(m<4) goto write_score::@6 -- vbuz1_lt_vbuc1_then_la1
lda.z m
cmp #4
bcc __b6
jmp __b7
// write_score::@7
__b7:
// [357] utoa::value#1 = score#38 -- vwuz1=vwuz2
lda.z score
sta.z utoa.value
lda.z score+1
sta.z utoa.value+1
// [358] call utoa
// (!!) Needed. Possibly a bug
// [390] phi from write_score::@7 to utoa [phi:write_score::@7->utoa]
utoa_from___b7:
// [390] phi utoa::value#10 = utoa::value#1 [phi:write_score::@7->utoa#0] -- register_copy
jsr utoa
jmp __b11
// write_score::@11
__b11:
// [359] if(score#38<9+1) goto write_score::@2 -- vwuz1_lt_vbuc1_then_la1
lda.z score+1
bne !+
lda.z score
cmp #9+1
bcc __b2
!:
jmp __b8
// write_score::@8
__b8:
// [360] *(points+2) = *buffer -- _deref_pbuc1=_deref_pbuc2
lda buffer
sta points+2
// [361] *(points+3) = *(buffer+1) -- _deref_pbuc1=_deref_pbuc2
lda buffer+1
sta points+3
jmp __b2
// write_score::@2
__b2:
// [362] if(score#38<$63+1) goto write_score::@3 -- vwuz1_lt_vbuc1_then_la1
lda.z score+1
bne !+
lda.z score
cmp #$63+1
bcc __b3
!:
jmp __b4
// write_score::@4
__b4:
// [363] *(points+1) = *buffer -- _deref_pbuc1=_deref_pbuc2
lda buffer
sta points+1
// [364] *(points+2) = *(buffer+1) -- _deref_pbuc1=_deref_pbuc2
lda buffer+1
sta points+2
// [365] *(points+3) = *(buffer+2) -- _deref_pbuc1=_deref_pbuc2
lda buffer+2
sta points+3
jmp __b3
// write_score::@3
__b3:
// [366] chrout::petscii = yellow -- vbuz1=vbuc1
lda #yellow
sta.z chrout.petscii
// [367] call chrout
jsr chrout
jmp __b12
// write_score::@12
__b12:
// [368] chrout::petscii = home -- vbuz1=vbuc1
lda #home
sta.z chrout.petscii
// [369] call chrout
jsr chrout
jmp __b13
// write_score::@13
__b13:
// [370] *((char *) 211) = 4 -- _deref_pbuc1=vbuc2
lda #4
sta.z $d3
// [371] m = 0 -- vbuz1=vbuc1
lda #0
sta.z m
jmp __b9
// write_score::@9
__b9:
// [372] if(m<4) goto write_score::@10 -- vbuz1_lt_vbuc1_then_la1
lda.z m
cmp #4
bcc __b10
jmp __breturn
// write_score::@return
__breturn:
// [373] return
rts
// write_score::@10
__b10:
// [374] chrout::petscii = points[m] -- vbuz1=pbuc1_derefidx_vbuz2
ldy.z m
lda points,y
sta.z chrout.petscii
// [375] call chrout
jsr chrout
jmp __b14
// write_score::@14
__b14:
// [376] m = ++ m -- vbuz1=_inc_vbuz1
inc.z m
jmp __b9
// write_score::@6
__b6:
// [377] points[m] = '0' -- pbuc1_derefidx_vbuz1=vbuc2
lda #'0'
ldy.z m
sta points,y
// [378] m = ++ m -- vbuz1=_inc_vbuz1
inc.z m
jmp __b5
}
// chrono_restart
chrono_restart: {
// asm { lda#0 ldy#0 ldx#0 jsr$ffdb }
lda #0
ldy #0
ldx #0
jsr $ffdb
jmp __breturn
// chrono_restart::@return
__breturn:
// [380] return
rts
}
// wait
// void wait(__zp(3) char n)
wait: {
.label n = 3
// [382] m = 0 -- vbuz1=vbuc1
lda #0
sta.z m
// [383] phi from wait wait::@4 to wait::@1 [phi:wait/wait::@4->wait::@1]
__b1_from_wait:
__b1_from___b4:
// [383] phi z#25 = z#53 [phi:wait/wait::@4->wait::@1#0] -- register_copy
jmp __b1
// wait::@1
__b1:
// [384] if(m<wait::n#6) goto wait::@2 -- vbuz1_lt_vbuz2_then_la1
lda.z m
cmp.z n
bcc __b2_from___b1
jmp __breturn
// wait::@return
__breturn:
// [385] return
rts
// [386] phi from wait::@1 to wait::@2 [phi:wait::@1->wait::@2]
__b2_from___b1:
// [386] phi z#23 = 0 [phi:wait::@1->wait::@2#0] -- vwuz1=vbuc1
lda #<0
sta.z z_1
lda #>0
sta.z z_1+1
jmp __b2
// wait::@2
__b2:
// [387] if(z#23<$21c) goto wait::@3 -- vwuz1_lt_vwuc1_then_la1
lda.z z_1+1
cmp #>$21c
bcc __b3
bne !+
lda.z z_1
cmp #<$21c
bcc __b3
!:
jmp __b4
// wait::@4
__b4:
// [388] m = ++ m -- vbuz1=_inc_vbuz1
inc.z m
jmp __b1_from___b4
// wait::@3
__b3:
// [389] z#4 = ++ z#23 -- vwuz1=_inc_vwuz1
inc.z z_1
bne !+
inc.z z_1+1
!:
// [386] phi from wait::@3 to wait::@2 [phi:wait::@3->wait::@2]
__b2_from___b3:
// [386] phi z#23 = z#4 [phi:wait::@3->wait::@2#0] -- register_copy
jmp __b2
}
// utoa
// Converts unsigned number value to a string representing it in RADIX format.
// If the leading digits are zero they are not included in the string.
// - value : The number to be converted to RADIX
// - buffer : receives the string representing the number and zero-termination.
// - radix : The radix to convert the number to (from the enum RADIX)
// void utoa(__zp(5) unsigned int value, __zp($d) char *buffer, char radix)
utoa: {
.label __10 = $11
.label __11 = 2
.label digit_value = 9
.label buffer = $d
.label digit = 3
.label value = 5
.label started = $10
// [391] phi from utoa to utoa::@1 [phi:utoa->utoa::@1]
__b1_from_utoa:
// [391] phi utoa::buffer#10 = buffer [phi:utoa->utoa::@1#0] -- pbuz1=pbuc1
lda #<@buffer
sta.z buffer
lda #>@buffer
sta.z buffer+1
// [391] phi utoa::started#2 = 0 [phi:utoa->utoa::@1#1] -- vbuz1=vbuc1
lda #0
sta.z started
// [391] phi utoa::value#3 = utoa::value#10 [phi:utoa->utoa::@1#2] -- register_copy
// [391] phi utoa::digit#2 = 0 [phi:utoa->utoa::@1#3] -- vbuz1=vbuc1
lda #0
sta.z digit
jmp __b1
// utoa::@1
__b1:
// [392] if(utoa::digit#2<5-1) goto utoa::@2 -- vbuz1_lt_vbuc1_then_la1
lda.z digit
cmp #5-1
bcc __b2
jmp __b3
// utoa::@3
__b3:
// [393] utoa::$11 = (char)utoa::value#3 -- vbuz1=_byte_vwuz2
lda.z value
sta.z __11
// [394] *utoa::buffer#10 = DIGITS[utoa::$11] -- _deref_pbuz1=pbuc1_derefidx_vbuz2
ldy.z __11
lda DIGITS,y
ldy #0
sta (buffer),y
// [395] utoa::buffer#3 = ++ utoa::buffer#10 -- pbuz1=_inc_pbuz1
inc.z buffer
bne !+
inc.z buffer+1
!:
// [396] *utoa::buffer#3 = 0 -- _deref_pbuz1=vbuc1
lda #0
ldy #0
sta (buffer),y
jmp __breturn
// utoa::@return
__breturn:
// [397] return
rts
// utoa::@2
__b2:
// [398] utoa::$10 = utoa::digit#2 << 1 -- vbuz1=vbuz2_rol_1
lda.z digit
asl
sta.z __10
// [399] utoa::digit_value#0 = RADIX_DECIMAL_VALUES[utoa::$10] -- vwuz1=pwuc1_derefidx_vbuz2
ldy.z __10
lda RADIX_DECIMAL_VALUES,y
sta.z digit_value
lda RADIX_DECIMAL_VALUES+1,y
sta.z digit_value+1
// [400] if(0!=utoa::started#2) goto utoa::@5 -- 0_neq_vbuz1_then_la1
lda.z started
bne __b5
jmp __b7
// utoa::@7
__b7:
// [401] if(utoa::value#3>=utoa::digit_value#0) goto utoa::@5 -- vwuz1_ge_vwuz2_then_la1
lda.z digit_value+1
cmp.z value+1
bne !+
lda.z digit_value
cmp.z value
beq __b5
!:
bcc __b5
// [402] phi from utoa::@7 to utoa::@4 [phi:utoa::@7->utoa::@4]
__b4_from___b7:
// [402] phi utoa::buffer#15 = utoa::buffer#10 [phi:utoa::@7->utoa::@4#0] -- register_copy
// [402] phi utoa::started#4 = utoa::started#2 [phi:utoa::@7->utoa::@4#1] -- register_copy
// [402] phi utoa::value#7 = utoa::value#3 [phi:utoa::@7->utoa::@4#2] -- register_copy
jmp __b4
// utoa::@4
__b4:
// [403] utoa::digit#1 = ++ utoa::digit#2 -- vbuz1=_inc_vbuz1
inc.z digit
// [391] phi from utoa::@4 to utoa::@1 [phi:utoa::@4->utoa::@1]
__b1_from___b4:
// [391] phi utoa::buffer#10 = utoa::buffer#15 [phi:utoa::@4->utoa::@1#0] -- register_copy
// [391] phi utoa::started#2 = utoa::started#4 [phi:utoa::@4->utoa::@1#1] -- register_copy
// [391] phi utoa::value#3 = utoa::value#7 [phi:utoa::@4->utoa::@1#2] -- register_copy
// [391] phi utoa::digit#2 = utoa::digit#1 [phi:utoa::@4->utoa::@1#3] -- register_copy
jmp __b1
// utoa::@5
__b5:
// [404] utoa_append::buffer#0 = utoa::buffer#10
// [405] utoa_append::value#0 = utoa::value#3
// [406] utoa_append::sub#0 = utoa::digit_value#0
// [407] call utoa_append
// [432] phi from utoa::@5 to utoa_append [phi:utoa::@5->utoa_append]
utoa_append_from___b5:
jsr utoa_append
// [408] utoa_append::return#0 = utoa_append::value#2
jmp __b6
// utoa::@6
__b6:
// [409] utoa::value#0 = utoa_append::return#0
// [410] utoa::buffer#4 = ++ utoa::buffer#10 -- pbuz1=_inc_pbuz1
inc.z buffer
bne !+
inc.z buffer+1
!:
// [402] phi from utoa::@6 to utoa::@4 [phi:utoa::@6->utoa::@4]
__b4_from___b6:
// [402] phi utoa::buffer#15 = utoa::buffer#4 [phi:utoa::@6->utoa::@4#0] -- register_copy
// [402] phi utoa::started#4 = 1 [phi:utoa::@6->utoa::@4#1] -- vbuz1=vbuc1
lda #1
sta.z started
// [402] phi utoa::value#7 = utoa::value#0 [phi:utoa::@6->utoa::@4#2] -- register_copy
jmp __b4
}
// read_chrono
read_chrono: {
.label __0 = $23
.label __5 = 9
// asm { jsr$ffde stal stxm }
jsr $ffde
sta l
stx m
// [412] read_chrono::$0 = m << 8 -- vwuz1=vbuz2_rol_8
lda.z m
sta.z __0+1
lda #0
sta.z __0
// [413] div16u8u::dividend#0 = read_chrono::$0 + l -- vwuz1=vwuz1_plus_vbuz2
lda.z l
clc
adc.z div16u8u.dividend
sta.z div16u8u.dividend
bcc !+
inc.z div16u8u.dividend+1
!:
// [414] call div16u8u
jsr div16u8u
// [415] div16u8u::return#2 = div16u8u::return#0 -- vwuz1=vwuz2
lda.z div16u8u.return
sta.z div16u8u.return_1
lda.z div16u8u.return+1
sta.z div16u8u.return_1+1
jmp __b2
// read_chrono::@2
__b2:
// [416] *((char *)$1e15+c) = 7 -- _deref_pbuc1=vbuc2
lda #7
sta $1e15+c
// [417] *((char *) 7701) = $b9 -- _deref_pbuc1=vbuc2
lda #$b9
sta $1e15
// [418] if(div16u8u::return#2>=$a) goto read_chrono::@return -- vwuz1_ge_vbuc1_then_la1
lda.z div16u8u.return_1+1
bne __breturn
lda.z div16u8u.return_1
cmp #$a
bcs __breturn
!:
jmp __b1
// read_chrono::@1
__b1:
// [419] read_chrono::$5 = $b9 - div16u8u::return#2 -- vwuz1=vwuc1_minus_vwuz2
sec
lda #<$b9
sbc.z div16u8u.return_1
sta.z __5
lda #>$b9
sbc.z div16u8u.return_1+1
sta.z __5+1
// [420] *((char *) 7701) = read_chrono::$5 -- _deref_pbuc1=vwuz1
lda.z __5
sta $1e15
jmp __breturn
// read_chrono::@return
__breturn:
// [421] return
rts
}
// cputc
// Output one character at the current cursor position
// Moves the cursor forward. Scrolls the entire screen if needed
// void cputc(__zp(2) char c)
cputc: {
.label c = 2
// [422] if(cputc::c#0==' ') goto cputc::@1 -- vbuz1_eq_vbuc1_then_la1
lda #'\n'
cmp.z c
beq __b1_from_cputc
jmp __b2
// cputc::@2
__b2:
// [423] conio_line_text[conio_cursor_x] = cputc::c#0 -- pbuz1_derefidx_vbuz2=vbuz3
lda.z c
ldy.z conio_cursor_x
sta (conio_line_text),y
// [424] conio_line_color[conio_cursor_x] = conio_textcolor -- pbuz1_derefidx_vbuz2=vbuz3
lda.z conio_textcolor
ldy.z conio_cursor_x
sta (conio_line_color),y
// [425] conio_cursor_x = ++ conio_cursor_x -- vbuz1=_inc_vbuz1
inc.z conio_cursor_x
// [426] if(conio_cursor_x!=$28) goto cputc::@return -- vbuz1_neq_vbuc1_then_la1
lda #$28
cmp.z conio_cursor_x
bne __breturn
// [427] phi from cputc::@2 to cputc::@3 [phi:cputc::@2->cputc::@3]
__b3_from___b2:
jmp __b3
// cputc::@3
__b3:
// [428] call cputln
jsr cputln
jmp __breturn
// cputc::@return
__breturn:
// [429] return
rts
// [430] phi from cputc to cputc::@1 [phi:cputc->cputc::@1]
__b1_from_cputc:
jmp __b1
// cputc::@1
__b1:
// [431] call cputln
jsr cputln
jmp __breturn
}
// utoa_append
// Used to convert a single digit of an unsigned number value to a string representation
// Counts a single digit up from '0' as long as the value is larger than sub.
// Each time the digit is increased sub is subtracted from value.
// - buffer : pointer to the char that receives the digit
// - value : The value where the digit will be derived from
// - sub : the value of a '1' in the digit. Subtracted continually while the digit is increased.
// (For decimal the subs used are 10000, 1000, 100, 10, 1)
// returns : the value reduced by sub * digit so that it is less than sub.
// __zp(5) unsigned int utoa_append(__zp($d) char *buffer, __zp(5) unsigned int value, __zp(9) unsigned int sub)
utoa_append: {
.label buffer = $d
.label value = 5
.label sub = 9
.label return = 5
.label digit = 7
// [433] phi from utoa_append to utoa_append::@1 [phi:utoa_append->utoa_append::@1]
__b1_from_utoa_append:
// [433] phi utoa_append::digit#2 = 0 [phi:utoa_append->utoa_append::@1#0] -- vbuz1=vbuc1
lda #0
sta.z digit
// [433] phi utoa_append::value#2 = utoa_append::value#0 [phi:utoa_append->utoa_append::@1#1] -- register_copy
jmp __b1
// utoa_append::@1
__b1:
// [434] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2 -- vwuz1_ge_vwuz2_then_la1
lda.z sub+1
cmp.z value+1
bne !+
lda.z sub
cmp.z value
beq __b2
!:
bcc __b2
jmp __b3
// utoa_append::@3
__b3:
// [435] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuz2
ldy.z digit
lda DIGITS,y
ldy #0
sta (buffer),y
jmp __breturn
// utoa_append::@return
__breturn:
// [436] return
rts
// utoa_append::@2
__b2:
// [437] utoa_append::digit#1 = ++ utoa_append::digit#2 -- vbuz1=_inc_vbuz1
inc.z digit
// [438] utoa_append::value#1 = utoa_append::value#2 - utoa_append::sub#0 -- vwuz1=vwuz1_minus_vwuz2
lda.z value
sec
sbc.z sub
sta.z value
lda.z value+1
sbc.z sub+1
sta.z value+1
// [433] phi from utoa_append::@2 to utoa_append::@1 [phi:utoa_append::@2->utoa_append::@1]
__b1_from___b2:
// [433] phi utoa_append::digit#2 = utoa_append::digit#1 [phi:utoa_append::@2->utoa_append::@1#0] -- register_copy
// [433] phi utoa_append::value#2 = utoa_append::value#1 [phi:utoa_append::@2->utoa_append::@1#1] -- register_copy
jmp __b1
}
// div16u8u
// Divide unsigned 16-bit unsigned long dividend with a 8-bit unsigned char divisor
// The 8-bit unsigned char remainder can be found in rem8u after the division
// __zp($30) unsigned int div16u8u(__zp($23) unsigned int dividend, char divisor)
div16u8u: {
.label divisor = $3c
.label quotient_hi = 2
.label quotient_lo = $10
.label return = $12
.label dividend = $23
.label return_1 = $30
// [439] divr8u::dividend#1 = byte1 div16u8u::dividend#0 -- vbuz1=_byte1_vwuz2
lda.z dividend+1
sta.z divr8u.dividend
// [440] call divr8u
// [456] phi from div16u8u to divr8u [phi:div16u8u->divr8u]
divr8u_from_div16u8u:
// [456] phi divr8u::dividend#5 = divr8u::dividend#1 [phi:div16u8u->divr8u#0] -- register_copy
// [456] phi divr8u::rem#10 = 0 [phi:div16u8u->divr8u#1] -- vbuz1=vbuc1
lda #0
sta.z divr8u.rem
jsr divr8u
// [441] divr8u::return#2 = divr8u::return#0
jmp __b1
// div16u8u::@1
__b1:
// [442] div16u8u::quotient_hi#0 = divr8u::return#2 -- vbuz1=vbuz2
lda.z divr8u.return
sta.z quotient_hi
// [443] divr8u::dividend#2 = byte0 div16u8u::dividend#0 -- vbuz1=_byte0_vwuz2
lda.z dividend
sta.z divr8u.dividend
// [444] divr8u::rem#4 = divr8u::rem#11
// [445] call divr8u
// [456] phi from div16u8u::@1 to divr8u [phi:div16u8u::@1->divr8u]
divr8u_from___b1:
// [456] phi divr8u::dividend#5 = divr8u::dividend#2 [phi:div16u8u::@1->divr8u#0] -- register_copy
// [456] phi divr8u::rem#10 = divr8u::rem#4 [phi:div16u8u::@1->divr8u#1] -- register_copy
jsr divr8u
// [446] divr8u::return#3 = divr8u::return#0
jmp __b2
// div16u8u::@2
__b2:
// [447] div16u8u::quotient_lo#0 = divr8u::return#3
// [448] div16u8u::return#0 = div16u8u::quotient_hi#0 w= div16u8u::quotient_lo#0 -- vwuz1=vbuz2_word_vbuz3
lda.z quotient_hi
sta.z return+1
lda.z quotient_lo
sta.z return
jmp __breturn
// div16u8u::@return
__breturn:
// [449] return
rts
}
// cputln
// Print a newline
cputln: {
// [450] conio_line_text = conio_line_text + $28 -- pbuz1=pbuz1_plus_vbuc1
lda #$28
clc
adc.z conio_line_text
sta.z conio_line_text
bcc !+
inc.z conio_line_text+1
!:
// [451] conio_line_color = conio_line_color + $28 -- pbuz1=pbuz1_plus_vbuc1
lda #$28
clc
adc.z conio_line_color
sta.z conio_line_color
bcc !+
inc.z conio_line_color+1
!:
// [452] conio_cursor_x = 0 -- vbuz1=vbuc1
lda #0
sta.z conio_cursor_x
// [453] conio_cursor_y = ++ conio_cursor_y -- vbuz1=_inc_vbuz1
inc.z conio_cursor_y
// [454] call cscroll
jsr cscroll
jmp __breturn
// cputln::@return
__breturn:
// [455] return
rts
}
// divr8u
// Performs division on two 8 bit unsigned chars and an initial remainder
// Returns dividend/divisor.
// The final remainder will be set into the global variable rem8u
// Implemented using simple binary division
// __zp($10) char divr8u(__zp(3) char dividend, char divisor, __zp($f) char rem)
divr8u: {
.label __1 = $11
.label rem = $f
.label dividend = 3
.label quotient = $10
.label i = 7
.label return = $10
// [457] phi from divr8u to divr8u::@1 [phi:divr8u->divr8u::@1]
__b1_from_divr8u:
// [457] phi divr8u::i#2 = 0 [phi:divr8u->divr8u::@1#0] -- vbuz1=vbuc1
lda #0
sta.z i
// [457] phi divr8u::quotient#3 = 0 [phi:divr8u->divr8u::@1#1] -- vbuz1=vbuc1
lda #0
sta.z quotient
// [457] phi divr8u::dividend#3 = divr8u::dividend#5 [phi:divr8u->divr8u::@1#2] -- register_copy
// [457] phi divr8u::rem#5 = divr8u::rem#10 [phi:divr8u->divr8u::@1#3] -- register_copy
jmp __b1
// [457] phi from divr8u::@3 to divr8u::@1 [phi:divr8u::@3->divr8u::@1]
__b1_from___b3:
// [457] phi divr8u::i#2 = divr8u::i#1 [phi:divr8u::@3->divr8u::@1#0] -- register_copy
// [457] phi divr8u::quotient#3 = divr8u::return#0 [phi:divr8u::@3->divr8u::@1#1] -- register_copy
// [457] phi divr8u::dividend#3 = divr8u::dividend#0 [phi:divr8u::@3->divr8u::@1#2] -- register_copy
// [457] phi divr8u::rem#5 = divr8u::rem#11 [phi:divr8u::@3->divr8u::@1#3] -- register_copy
jmp __b1
// divr8u::@1
__b1:
// [458] divr8u::rem#0 = divr8u::rem#5 << 1 -- vbuz1=vbuz1_rol_1
asl.z rem
// [459] divr8u::$1 = divr8u::dividend#3 & $80 -- vbuz1=vbuz2_band_vbuc1
lda #$80
and.z dividend
sta.z __1
// [460] if(divr8u::$1==0) goto divr8u::@2 -- vbuz1_eq_0_then_la1
lda.z __1
beq __b2_from___b1
jmp __b4
// divr8u::@4
__b4:
// [461] divr8u::rem#1 = divr8u::rem#0 | 1 -- vbuz1=vbuz1_bor_vbuc1
lda #1
ora.z rem
sta.z rem
// [462] phi from divr8u::@1 divr8u::@4 to divr8u::@2 [phi:divr8u::@1/divr8u::@4->divr8u::@2]
__b2_from___b1:
__b2_from___b4:
// [462] phi divr8u::rem#6 = divr8u::rem#0 [phi:divr8u::@1/divr8u::@4->divr8u::@2#0] -- register_copy
jmp __b2
// divr8u::@2
__b2:
// [463] divr8u::dividend#0 = divr8u::dividend#3 << 1 -- vbuz1=vbuz1_rol_1
asl.z dividend
// [464] divr8u::quotient#1 = divr8u::quotient#3 << 1 -- vbuz1=vbuz1_rol_1
asl.z quotient
// [465] if(divr8u::rem#6<div16u8u::divisor#0) goto divr8u::@3 -- vbuz1_lt_vbuc1_then_la1
lda.z rem
cmp #div16u8u.divisor
bcc __b3_from___b2
jmp __b5
// divr8u::@5
__b5:
// [466] divr8u::quotient#2 = ++ divr8u::quotient#1 -- vbuz1=_inc_vbuz1
inc.z quotient
// [467] divr8u::rem#2 = divr8u::rem#6 - div16u8u::divisor#0 -- vbuz1=vbuz1_minus_vbuc1
lax.z rem
axs #div16u8u.divisor
stx.z rem
// [468] phi from divr8u::@2 divr8u::@5 to divr8u::@3 [phi:divr8u::@2/divr8u::@5->divr8u::@3]
__b3_from___b2:
__b3_from___b5:
// [468] phi divr8u::return#0 = divr8u::quotient#1 [phi:divr8u::@2/divr8u::@5->divr8u::@3#0] -- register_copy
// [468] phi divr8u::rem#11 = divr8u::rem#6 [phi:divr8u::@2/divr8u::@5->divr8u::@3#1] -- register_copy
jmp __b3
// divr8u::@3
__b3:
// [469] divr8u::i#1 = ++ divr8u::i#2 -- vbuz1=_inc_vbuz1
inc.z i
// [470] if(divr8u::i#1!=8) goto divr8u::@1 -- vbuz1_neq_vbuc1_then_la1
lda #8
cmp.z i
bne __b1_from___b3
jmp __breturn
// divr8u::@return
__breturn:
// [471] return
rts
}
// cscroll
// Scroll the entire screen if the cursor is beyond the last line
cscroll: {
// [472] if(conio_cursor_y!=$19) goto cscroll::@return -- vbuz1_neq_vbuc1_then_la1
lda #$19
cmp.z conio_cursor_y
bne __breturn
// [473] phi from cscroll to cscroll::@1 [phi:cscroll->cscroll::@1]
__b1_from_cscroll:
jmp __b1
// cscroll::@1
__b1:
// [474] call memcpy
// [485] phi from cscroll::@1 to memcpy [phi:cscroll::@1->memcpy]
memcpy_from___b1:
// [485] phi memcpy::destination#2 = (void *)DEFAULT_SCREEN [phi:cscroll::@1->memcpy#0] -- pvoz1=pvoc1
lda #<DEFAULT_SCREEN
sta.z memcpy.destination
lda #>DEFAULT_SCREEN
sta.z memcpy.destination+1
// [485] phi memcpy::source#2 = (void *)DEFAULT_SCREEN+$28 [phi:cscroll::@1->memcpy#1] -- pvoz1=pvoc1
lda #<DEFAULT_SCREEN+$28
sta.z memcpy.source
lda #>DEFAULT_SCREEN+$28
sta.z memcpy.source+1
jsr memcpy
// [475] phi from cscroll::@1 to cscroll::@2 [phi:cscroll::@1->cscroll::@2]
__b2_from___b1:
jmp __b2
// cscroll::@2
__b2:
// [476] call memcpy
// [485] phi from cscroll::@2 to memcpy [phi:cscroll::@2->memcpy]
memcpy_from___b2:
// [485] phi memcpy::destination#2 = (void *)COLORRAM [phi:cscroll::@2->memcpy#0] -- pvoz1=pvoc1
lda #<COLORRAM
sta.z memcpy.destination
lda #>COLORRAM
sta.z memcpy.destination+1
// [485] phi memcpy::source#2 = (void *)COLORRAM+$28 [phi:cscroll::@2->memcpy#1] -- pvoz1=pvoc1
lda #<COLORRAM+$28
sta.z memcpy.source
lda #>COLORRAM+$28
sta.z memcpy.source+1
jsr memcpy
// [477] phi from cscroll::@2 to cscroll::@3 [phi:cscroll::@2->cscroll::@3]
__b3_from___b2:
jmp __b3
// cscroll::@3
__b3:
// [478] call memset
// [495] phi from cscroll::@3 to memset [phi:cscroll::@3->memset]
memset_from___b3:
// [495] phi memset::c#4 = ' ' [phi:cscroll::@3->memset#0] -- vbuz1=vbuc1
lda #' '
sta.z memset.c
// [495] phi memset::str#3 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28 [phi:cscroll::@3->memset#1] -- pvoz1=pvoc1
lda #<DEFAULT_SCREEN+$19*$28-$28
sta.z memset.str
lda #>DEFAULT_SCREEN+$19*$28-$28
sta.z memset.str+1
jsr memset
jmp __b4
// cscroll::@4
__b4:
// [479] memset::c#1 = conio_textcolor -- vbuz1=vbuz2
lda.z conio_textcolor
sta.z memset.c
// [480] call memset
// [495] phi from cscroll::@4 to memset [phi:cscroll::@4->memset]
memset_from___b4:
// [495] phi memset::c#4 = memset::c#1 [phi:cscroll::@4->memset#0] -- register_copy
// [495] phi memset::str#3 = (void *)COLORRAM+(unsigned int)$19*$28-$28 [phi:cscroll::@4->memset#1] -- pvoz1=pvoc1
lda #<COLORRAM+$19*$28-$28
sta.z memset.str
lda #>COLORRAM+$19*$28-$28
sta.z memset.str+1
jsr memset
jmp __b5
// cscroll::@5
__b5:
// [481] conio_line_text = conio_line_text - $28 -- pbuz1=pbuz1_minus_vbuc1
sec
lda.z conio_line_text
sbc #$28
sta.z conio_line_text
lda.z conio_line_text+1
sbc #0
sta.z conio_line_text+1
// [482] conio_line_color = conio_line_color - $28 -- pbuz1=pbuz1_minus_vbuc1
sec
lda.z conio_line_color
sbc #$28
sta.z conio_line_color
lda.z conio_line_color+1
sbc #0
sta.z conio_line_color+1
// [483] conio_cursor_y = -- conio_cursor_y -- vbuz1=_dec_vbuz1
dec.z conio_cursor_y
jmp __breturn
// cscroll::@return
__breturn:
// [484] return
rts
}
// memcpy
// Copy block of memory (forwards)
// Copies the values of num bytes from the location pointed to by source directly to the memory block pointed to by destination.
// void * memcpy(__zp($b) void *destination, __zp($d) void *source, unsigned int num)
memcpy: {
.label src_end = 9
.label dst = $b
.label src = $d
.label source = $d
.label destination = $b
// [486] memcpy::src_end#0 = (char *)memcpy::source#2 + (unsigned int)$19*$28-$28 -- pbuz1=pbuz2_plus_vwuc1
lda.z source
clc
adc #<$19*$28-$28
sta.z src_end
lda.z source+1
adc #>$19*$28-$28
sta.z src_end+1
// [487] memcpy::src#4 = (char *)memcpy::source#2
// [488] memcpy::dst#4 = (char *)memcpy::destination#2
// [489] phi from memcpy memcpy::@2 to memcpy::@1 [phi:memcpy/memcpy::@2->memcpy::@1]
__b1_from_memcpy:
__b1_from___b2:
// [489] phi memcpy::dst#2 = memcpy::dst#4 [phi:memcpy/memcpy::@2->memcpy::@1#0] -- register_copy
// [489] phi memcpy::src#2 = memcpy::src#4 [phi:memcpy/memcpy::@2->memcpy::@1#1] -- register_copy
jmp __b1
// memcpy::@1
__b1:
// [490] if(memcpy::src#2!=memcpy::src_end#0) goto memcpy::@2 -- pbuz1_neq_pbuz2_then_la1
lda.z src+1
cmp.z src_end+1
bne __b2
lda.z src
cmp.z src_end
bne __b2
jmp __breturn
// memcpy::@return
__breturn:
// [491] return
rts
// memcpy::@2
__b2:
// [492] *memcpy::dst#2 = *memcpy::src#2 -- _deref_pbuz1=_deref_pbuz2
ldy #0
lda (src),y
ldy #0
sta (dst),y
// [493] memcpy::dst#1 = ++ memcpy::dst#2 -- pbuz1=_inc_pbuz1
inc.z dst
bne !+
inc.z dst+1
!:
// [494] memcpy::src#1 = ++ memcpy::src#2 -- pbuz1=_inc_pbuz1
inc.z src
bne !+
inc.z src+1
!:
jmp __b1_from___b2
}
// memset
// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str.
// void * memset(__zp($b) void *str, __zp($10) char c, unsigned int num)
memset: {
.label end = $12
.label dst = $b
.label c = $10
.label str = $b
jmp __b1
// memset::@1
__b1:
// [496] memset::end#0 = (char *)memset::str#3 + $28 -- pbuz1=pbuz2_plus_vbuc1
lda #$28
clc
adc.z str
sta.z end
lda #0
adc.z str+1
sta.z end+1
// [497] memset::dst#4 = (char *)memset::str#3
// [498] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2]
__b2_from___b1:
__b2_from___b3:
// [498] phi memset::dst#2 = memset::dst#4 [phi:memset::@1/memset::@3->memset::@2#0] -- register_copy
jmp __b2
// memset::@2
__b2:
// [499] if(memset::dst#2!=memset::end#0) goto memset::@3 -- pbuz1_neq_pbuz2_then_la1
lda.z dst+1
cmp.z end+1
bne __b3
lda.z dst
cmp.z end
bne __b3
jmp __breturn
// memset::@return
__breturn:
// [500] return
rts
// memset::@3
__b3:
// [501] *memset::dst#2 = memset::c#4 -- _deref_pbuz1=vbuz2
lda.z c
ldy #0
sta (dst),y
// [502] memset::dst#1 = ++ memset::dst#2 -- pbuz1=_inc_pbuz1
inc.z dst
bne !+
inc.z dst+1
!:
jmp __b2_from___b3
}
// File Data
.segment Data
// The digits used for numbers
DIGITS: .text "0123456789abcdef"
// Values of decimal digits
RADIX_DECIMAL_VALUES: .word $2710, $3e8, $64, $a
// [0..65536] 16-bit
points: .byte 0, 0, 0, 0
buffer: .byte 0, 0, 0, 0
// for unexpanded. 37888-4096 color for expanded
ducknumber: .byte $44, $55, $43, $4b, $3a
// DUCK:
chrono: .byte $54, $4d, $3a, $39
// TM:9
duck_udg: .byte $e, $1b, $3f, $1f, $f, 7, $f, $1f, 0, 0, 0, 0, 0, $c0, $70, $bc, $1f, $1d, $1e, $f, 3, 1, 1, 3, $ce, $1e, $7c, $f8, $e0, $40, $40, $e0, 0, 0, 0, 0, 0, 0, 0, 0
// POKE CODES = 0,1,2,3,4; CHROUT CODES = 64, 65, 66, 67, 68 (with previous reverse_off "chrout(146)")
intro: .text @"\n\n\nDIFFICULTY\n----------\n\n\n"
.byte 0
levels: .text @"1.EASIEST\n\n3.EASY\n\n5.MEDIUM\n\n7.HARD\n\n9.EXPERT\n\n\n\n\n"
.byte 0
foot: .text @"PRESS: 1,3,5,7 or 9\n\n"
.byte 0
game_over: .text @"\n\n\n\nGAME OVER"
.byte 0
play_again: .text @"\n\n\nPlay Again (Y/N)?"
.byte 0
your_score: .text @"\n\n\nYour Score: "
.byte 0
high_score: .text @"\n\nHi-Score: "
.byte 0
ASSEMBLER OPTIMIZATIONS
Removing instruction jmp __init1
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b2
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b50
Removing instruction jmp __b51
Removing instruction jmp __b1
Removing instruction jmp __b3
Removing instruction jmp __b52
Removing instruction jmp __b53
Removing instruction jmp __b54
Removing instruction jmp __b55
Removing instruction jmp __b56
Removing instruction jmp __b57
Removing instruction jmp __b4
Removing instruction jmp __b5
Removing instruction jmp __b58
Removing instruction jmp __b59
Removing instruction jmp __b60
Removing instruction jmp __b6
Removing instruction jmp __b8
Removing instruction jmp __b61
Removing instruction jmp __b62
Removing instruction jmp __b13
Removing instruction jmp __b71
Removing instruction jmp __b12
Removing instruction jmp __b65
Removing instruction jmp __b66
Removing instruction jmp __b67
Removing instruction jmp __b68
Removing instruction jmp __b69
Removing instruction jmp __b70
Removing instruction jmp __b17
Removing instruction jmp __b19
Removing instruction jmp __b75
Removing instruction jmp __b76
Removing instruction jmp __b77
Removing instruction jmp __b20
Removing instruction jmp __b22
Removing instruction jmp __b79
Removing instruction jmp __b80
Removing instruction jmp __b81
Removing instruction jmp __b45
Removing instruction jmp __b82
Removing instruction jmp __b24
Removing instruction jmp __b83
Removing instruction jmp __b84
Removing instruction jmp __b106
Removing instruction jmp __b105
Removing instruction jmp __b104
Removing instruction jmp __b103
Removing instruction jmp __b25
Removing instruction jmp __b26
Removing instruction jmp __b28
Removing instruction jmp __b86
Removing instruction jmp __b87
Removing instruction jmp __b44
Removing instruction jmp __b91
Removing instruction jmp __b92
Removing instruction jmp __b93
Removing instruction jmp __b94
Removing instruction jmp __b95
Removing instruction jmp __b96
Removing instruction jmp __b97
Removing instruction jmp __b98
Removing instruction jmp __b99
Removing instruction jmp __b100
Removing instruction jmp __b101
Removing instruction jmp __b102
Removing instruction jmp __b47
Removing instruction jmp __b112
Removing instruction jmp __b48
Removing instruction jmp __b49
Removing instruction jmp __breturn
Removing instruction jmp __b27
Removing instruction jmp __b85
Removing instruction jmp __b37
Removing instruction jmp __b29
Removing instruction jmp __b38
Removing instruction jmp __b30
Removing instruction jmp __b39
Removing instruction jmp __b31
Removing instruction jmp __b40
Removing instruction jmp __b32
Removing instruction jmp __b41
Removing instruction jmp __b42
Removing instruction jmp __b35
Removing instruction jmp __b33
Removing instruction jmp __b111
Removing instruction jmp __b110
Removing instruction jmp __b36
Removing instruction jmp __b89
Removing instruction jmp __b90
Removing instruction jmp __b108
Removing instruction jmp __b43
Removing instruction jmp __b88
Removing instruction jmp __b78
Removing instruction jmp __b74
Removing instruction jmp __b14
Removing instruction jmp __b16
Removing instruction jmp __b73
Removing instruction jmp __b72
Removing instruction jmp __b9
Removing instruction jmp __b11
Removing instruction jmp __b64
Removing instruction jmp __b63
Removing instruction jmp __b3
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b3
Removing instruction jmp __b4
Removing instruction jmp __breturn
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __b15
Removing instruction jmp __b1
Removing instruction jmp __b5
Removing instruction jmp __b7
Removing instruction jmp __b11
Removing instruction jmp __b8
Removing instruction jmp __b2
Removing instruction jmp __b4
Removing instruction jmp __b3
Removing instruction jmp __b12
Removing instruction jmp __b13
Removing instruction jmp __b9
Removing instruction jmp __breturn
Removing instruction jmp __b14
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b2
Removing instruction jmp __b4
Removing instruction jmp __b1
Removing instruction jmp __b3
Removing instruction jmp __breturn
Removing instruction jmp __b7
Removing instruction jmp __b4
Removing instruction jmp __b6
Removing instruction jmp __b2
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b2
Removing instruction jmp __b3
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b1
Removing instruction jmp __b3
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b4
Removing instruction jmp __b2
Removing instruction jmp __b5
Removing instruction jmp __b3
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __b3
Removing instruction jmp __b4
Removing instruction jmp __b5
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __breturn
Succesful ASM optimization Pass5NextJumpElimination
Removing instruction lda #0
Removing instruction lda #0
Removing instruction lda.z line
Removing instruction lda #<0
Removing instruction lda #>0
Removing instruction lda #<0
Removing instruction lda #>0
Removing instruction lda #0
Removing instruction lda.z __29+1
Removing instruction lda #>0
Removing instruction lda #>0
Replacing instruction ldy #0 with TAY
Replacing instruction lda #0 with TYA
Removing instruction ldy #0
Replacing instruction lda #0 with TYA
Removing instruction ldy #0
Replacing instruction lda #0 with TYA
Removing instruction ldy #0
Removing instruction lda.z __78
Removing instruction lda.z __81
Removing instruction lda.z __84
Removing instruction lda.z __88
Removing instruction lda.z __92
Removing instruction ldy #0
Removing instruction ldy #0
Removing instruction ldy #0
Replacing instruction lda #0 with TYA
Removing instruction ldy #0
Removing instruction ldy #0
Replacing instruction lda #0 with TYA
Removing instruction ldy #0
Removing instruction ldy #0
Replacing instruction ldy #0 with TAY
Removing instruction ldy #0
Removing instruction ldy #0
Removing instruction ldy #0
Replacing instruction lda #0 with TYA
Removing instruction ldy #0
Removing instruction ldy #0
Replacing instruction lda #0 with TYA
Removing instruction ldy #0
Removing instruction ldy #0
Replacing instruction ldy #0 with TAY
Replacing instruction lda #0 with TYA
Removing instruction ldy #0
Replacing instruction lda #0 with TYA
Replacing instruction lda #0 with TYA
Removing instruction ldy #0
Replacing instruction ldy #0 with TAY
Removing instruction lda.z z_1+1
Removing instruction lda #>0
Replacing instruction ldy #0 with TAY
Removing instruction ldy #0
Removing instruction lda.z m
Removing instruction lda #>0
Replacing instruction ldy #0 with TAY
Replacing instruction ldx #0 with TAX
Removing instruction lda #>0
Removing instruction lda #0
Replacing instruction ldy.z __11 with TAY
Replacing instruction ldy #0 with TAY
Replacing instruction ldy.z __10 with TAY
Replacing instruction lda.z m with TXA
Removing instruction ldy.z conio_cursor_x
Removing instruction lda #0
Removing instruction lda.z __1
Removing instruction ldy #0
Succesful ASM optimization Pass5UnnecesaryLoadElimination
Replacing label __b2_from_conio_c64_init with __b1
Replacing label __b24_from___b106 with __b24_from___b84
Replacing label __b24_from___b105 with __b24_from___b84
Replacing label __b24_from___b104 with __b24_from___b84
Replacing label __b24_from___b103 with __b24_from___b84
Replacing label __b27_from___b26 with __b27
Replacing label __b22_from___b87 with __b22
Replacing label __b46_from___b114 with __b46_from___b99
Replacing label __b29_from___b85 with __b29
Replacing label __b30_from___b29 with __b30
Replacing label __b31_from___b30 with __b31
Replacing label __b32_from___b31 with __b32
Replacing label __b33_from___b32 with __b33
Replacing label __b36_from___b33 with __b36
Replacing label __b36_from___b109 with __b36_from___b111
Replacing label __b36_from___b108 with __b36_from___b111
Replacing label __b36_from___b107 with __b36_from___b111
Replacing label __b36_from___b107 with __b36_from___b111
Replacing label __b36_from___b43 with __b36
Replacing label __b24_from___b23 with __b24_from___b84
Replacing label __b13_from___b73 with __b13
Replacing label __b13_from___b73 with __b13
Replacing label __b3_from_gotoxy with __b2
Replacing label __b1 with __b2
Replacing label __b1_from___b2 with __b1
Replacing label __b15_from_write_score with __b1
Replacing label __b15_from_write_score with __b1
Replacing label __b1_from___b4 with __b1
Replacing label __b1_from_cputc with __b1
Replacing label __b2_from___b1 with __b2
Replacing label __b3_from___b2 with __b3
Replacing label __b1_from___b3 with __b1
Replacing label __b1_from___b2 with __b1
Replacing label __b2_from___b3 with __b2
Removing instruction __b1_from___init1:
Removing instruction __b2_from_conio_c64_init:
Removing instruction __b2:
Removing instruction __b1_from___b2:
Removing instruction gotoxy_from___b1:
Removing instruction clear_screen_from___b3:
Removing instruction __b52_from___b3:
Removing instruction __b53_from___b52:
Removing instruction cputs_from___b53:
Removing instruction __b54_from___b53:
Removing instruction __b55_from___b54:
Removing instruction cputs_from___b55:
Removing instruction __b56_from___b55:
Removing instruction __b57_from___b56:
Removing instruction cputs_from___b57:
Removing instruction __b5_from___b4:
Removing instruction __b13_from___b73:
Removing instruction __b12_from___b71:
Removing instruction __b19_from___b17:
Removing instruction __b22_from___b87:
Removing instruction __b24_from___b103:
Removing instruction __b24_from___b104:
Removing instruction __b24_from___b105:
Removing instruction __b24_from___b106:
Removing instruction __b24_from___b23:
Removing instruction __b24_from___b82:
Removing instruction random_from___b24:
Removing instruction __b25_from___b103:
Removing instruction __b44_from___b87:
Removing instruction __b92_from___b91:
Removing instruction __b93_from___b92:
Removing instruction cputs_from___b93:
Removing instruction __b94_from___b93:
Removing instruction __b95_from___b94:
Removing instruction cputs_from___b95:
Removing instruction __b96_from___b95:
Removing instruction cputs_from___b96:
Removing instruction __b97_from___b96:
Removing instruction __b98_from___b97:
Removing instruction cputs_from___b98:
Removing instruction __b46_from___b114:
Removing instruction __b100_from___b46:
Removing instruction cputs_from___b100:
Removing instruction __b101_from___b100:
Removing instruction __b102_from___b101:
Removing instruction cputs_from___b102:
Removing instruction __b27_from___b26:
Removing instruction __b29_from___b37:
Removing instruction __b29_from___b85:
Removing instruction __b30_from___b29:
Removing instruction __b30_from___b38:
Removing instruction __b31_from___b30:
Removing instruction __b31_from___b39:
Removing instruction __b32_from___b31:
Removing instruction __b32_from___b40:
Removing instruction __b33_from___b32:
Removing instruction __b33_from___b35:
Removing instruction __b36_from___b107:
Removing instruction __b36_from___b108:
Removing instruction __b36_from___b109:
Removing instruction __b36_from___b110:
Removing instruction __b36_from___b33:
Removing instruction __b36_from___b43:
Removing instruction __b88_from___b34:
Removing instruction wait_from___b88:
Removing instruction __b3_from_gotoxy:
Removing instruction __b3:
Removing instruction __b1_from___b3:
Removing instruction __b1:
Removing instruction __b3_from___b1:
Removing instruction __b1_from_cputs:
Removing instruction __b1_from___b2:
Removing instruction __b15_from_write_score:
Removing instruction __b15:
Removing instruction __b1_from___b15:
Removing instruction __b1_from_wait:
Removing instruction __b1_from___b4:
Removing instruction __b4_from___b7:
Removing instruction utoa_append_from___b5:
Removing instruction __b3_from___b2:
Removing instruction __b1_from_cputc:
Removing instruction __b1_from___b3:
Removing instruction __b2_from___b1:
Removing instruction __b2_from___b4:
Removing instruction __b3_from___b2:
Removing instruction __b3_from___b5:
Removing instruction __b1_from_cscroll:
Removing instruction memcpy_from___b1:
Removing instruction __b2_from___b1:
Removing instruction memcpy_from___b2:
Removing instruction __b3_from___b2:
Removing instruction memset_from___b3:
Removing instruction __b1_from_memcpy:
Removing instruction __b1_from___b2:
Removing instruction __b2_from___b1:
Removing instruction __b2_from___b3:
Succesful ASM optimization Pass5RedundantLabelElimination
Removing instruction __init1:
Removing instruction __b1:
Removing instruction __breturn:
Removing instruction __b1_from_conio_c64_init:
Removing instruction __breturn:
Removing instruction __b50:
Removing instruction __b51:
Removing instruction __b3_from___b1:
Removing instruction __b52:
Removing instruction textcolor_from___b52:
Removing instruction __b53:
Removing instruction __b54:
Removing instruction textcolor_from___b54:
Removing instruction __b55:
Removing instruction __b56:
Removing instruction textcolor_from___b56:
Removing instruction __b57:
Removing instruction __b5:
Removing instruction clear_screen_from___b5:
Removing instruction __b58:
Removing instruction __b59:
Removing instruction __b60:
Removing instruction __b6_from___b60:
Removing instruction __b8:
Removing instruction __b61:
Removing instruction __b62:
Removing instruction __b13_from___b62:
Removing instruction random_from___b13:
Removing instruction __b71:
Removing instruction __b65:
Removing instruction __b66:
Removing instruction __b67:
Removing instruction __b68:
Removing instruction __b69:
Removing instruction __b70:
Removing instruction __b17_from___b70:
Removing instruction __b19:
Removing instruction write_score_from___b19:
Removing instruction __b75:
Removing instruction __b76:
Removing instruction __b77:
Removing instruction __b20_from___b77:
Removing instruction __b22_from___b20:
Removing instruction __b79:
Removing instruction __b80:
Removing instruction __b81:
Removing instruction __b45:
Removing instruction __b82:
Removing instruction __b24:
Removing instruction __b83:
Removing instruction random_from___b83:
Removing instruction __b84:
Removing instruction __b106:
Removing instruction __b105:
Removing instruction __b104:
Removing instruction __b103:
Removing instruction __b25:
Removing instruction __b26_from___b25:
Removing instruction __b28:
Removing instruction write_score_from___b28:
Removing instruction __b86:
Removing instruction wait_from___b86:
Removing instruction __b87:
Removing instruction __b44:
Removing instruction clear_screen_from___b44:
Removing instruction __b91:
Removing instruction __b92:
Removing instruction textcolor_from___b92:
Removing instruction __b93:
Removing instruction __b94:
Removing instruction textcolor_from___b94:
Removing instruction __b95:
Removing instruction __b96:
Removing instruction __b97:
Removing instruction textcolor_from___b97:
Removing instruction __b98:
Removing instruction __b99:
Removing instruction utoa_from___b46:
Removing instruction __b100:
Removing instruction __b101:
Removing instruction textcolor_from___b101:
Removing instruction __b102:
Removing instruction __b112:
Removing instruction __b49:
Removing instruction __breturn:
Removing instruction __b3_from___b113:
Removing instruction __b85:
Removing instruction __b37:
Removing instruction __b38:
Removing instruction __b39:
Removing instruction __b40:
Removing instruction __b41:
Removing instruction __b42:
Removing instruction wait_from___b42:
Removing instruction __b35_from___b42:
Removing instruction __b111:
Removing instruction __b110:
Removing instruction wait_from___b36:
Removing instruction __b89:
Removing instruction wait_from___b89:
Removing instruction __b90:
Removing instruction __b26_from___b90:
Removing instruction __b108:
Removing instruction __b43:
Removing instruction write_score_from___b34:
Removing instruction __b88:
Removing instruction __b35_from___b88:
Removing instruction __b78:
Removing instruction __b20_from___b78:
Removing instruction __b74:
Removing instruction __b17_from___b74:
Removing instruction __b16:
Removing instruction __b73:
Removing instruction __b72:
Removing instruction __b14_from___b72:
Removing instruction __b9_from___b7:
Removing instruction __b11:
Removing instruction __b64:
Removing instruction __b6_from___b64:
Removing instruction __b63:
Removing instruction __b9_from___b63:
Removing instruction __b1_from_gotoxy:
Removing instruction __breturn:
Removing instruction __breturn:
Removing instruction __b1_from_clear_screen:
Removing instruction __b3:
Removing instruction gotoxy_from___b3:
Removing instruction __b4:
Removing instruction __breturn:
Removing instruction __b1_from___b2:
Removing instruction __breturn:
Removing instruction __breturn:
Removing instruction __b2:
Removing instruction __breturn:
Removing instruction __b1_from_write_score:
Removing instruction __b7:
Removing instruction utoa_from___b7:
Removing instruction __b11:
Removing instruction __b8:
Removing instruction __b4:
Removing instruction __b12:
Removing instruction __b13:
Removing instruction __breturn:
Removing instruction __b14:
Removing instruction __breturn:
Removing instruction __breturn:
Removing instruction __b4:
Removing instruction __b2_from___b3:
Removing instruction __b1_from_utoa:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b7:
Removing instruction __b1_from___b4:
Removing instruction __b6:
Removing instruction __b4_from___b6:
Removing instruction __b2:
Removing instruction __b1:
Removing instruction __b2:
Removing instruction __b3:
Removing instruction __b1_from_utoa_append:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b1_from___b2:
Removing instruction divr8u_from_div16u8u:
Removing instruction __b1:
Removing instruction divr8u_from___b1:
Removing instruction __b2:
Removing instruction __breturn:
Removing instruction __breturn:
Removing instruction __b1_from_divr8u:
Removing instruction __b4:
Removing instruction __b5:
Removing instruction __breturn:
Removing instruction __b1:
Removing instruction __b2:
Removing instruction __b3:
Removing instruction __b4:
Removing instruction memset_from___b4:
Removing instruction __b5:
Removing instruction __breturn:
Removing instruction __b1:
Removing instruction __breturn:
Succesful ASM optimization Pass5UnusedLabelElimination
Skipping double jump to __b46 in jmp __b46_from___b99
Skipping double jump to __b36 in beq __b36_from___b111
Skipping double jump to __b36 in beq __b36_from___b111
Skipping double jump to __b36 in jmp __b36_from___b111
Skipping double jump to __b36 in bne __b36_from___b111
Skipping double jump to __b36 in bcs __b36_from___b111
Skipping double jump to __b12 in jmp __b12_from___b73
Replacing jump to rts with rts in jmp __breturn
Succesful ASM optimization Pass5DoubleJumpElimination
Relabelling long label __b12_from___b73 to __b5
Relabelling long label __b12_from___b62 to __b8
Relabelling long label __b24_from___b84 to __b11
Relabelling long label __b46_from___b99 to __b16
Relabelling long label __b36_from___b111 to __b19
Relabelling long label __b14_from___b71 to __b24
Relabelling long label __b2_from___b1 to __b4
Succesful ASM optimization Pass5RelabelLongLabels
Removing instruction jmp __b1
Removing instruction jmp __b13
Removing instruction jmp __b22
Removing instruction jmp __b46
Removing instruction jmp __b36
Removing instruction jmp __b2
Removing instruction jmp __b1
Removing instruction jmp __b1
Succesful ASM optimization Pass5NextJumpElimination
Removing instruction lda #brick
Removing instruction ldy #0
Removing instruction lda #brick
Removing instruction ldy #0
Removing instruction lda #brick
Removing instruction ldy #0
Removing instruction lda #brick
Removing instruction ldy #0
Removing instruction ldy #0
Succesful ASM optimization Pass5UnnecesaryLoadElimination
Removing instruction __b19:
Succesful ASM optimization Pass5RedundantLabelElimination
Removing instruction __b5:
Removing instruction __b16:
Succesful ASM optimization Pass5UnusedLabelElimination
Fixing long branch [445] beq __b11 to bne
Fixing long branch [531] bcc __b22 to bcs
Fixing long branch [920] beq __b36 to bne
Fixing long branch [936] bne __b36 to beq
Fixing long branch [941] bcs __b36 to bcc
Fixing long branch [1052] bcc __b13 to bcs
Fixing long branch [1058] bcc __b13 to bcs
Fixing long branch [161] bcc __b2 to bcs
Fixing long branch [235] bcc __b7 to bcs
Fixing long branch [287] bcc __b24 to bcs
Fixing long branch [290] beq __b24 to bne
Fixing long branch [329] bcc __b18 to bcs
Fixing long branch [352] bcc __b21 to bcs
Fixing long branch [381] bcc __b23 to bcs
Fixing long branch [471] bcc __b27 to bcs
Fixing long branch [711] bne __b34 to beq
Fixing long branch [716] bne __b34 to beq
Fixing long branch [790] bne __b109 to beq
FINAL SYMBOL TABLE
__constant char * const COLORRAM = (char *) 55296
__constant char * const DEFAULT_SCREEN = (char *) 1024
__constant char DIGITS[] = "0123456789abcdef"z
__constant const char LIGHT_BLUE = $e
__constant char RADIX::BINARY = 2
__constant char RADIX::DECIMAL = $a
__constant char RADIX::HEXADECIMAL = $10
__constant char RADIX::OCTAL = 8
__constant unsigned int RADIX_DECIMAL_VALUES[] = { $2710, $3e8, $64, $a }
void __start()
__constant const char brick = $e6
__constant char buffer[] = { 0, 0, 0, 0 }
__constant const unsigned int c = $7800
__constant const char chrono[] = { $54, $4d, $3a, $39 }
void chrono_restart()
void chrout(volatile char petscii)
__loadstore volatile char chrout::petscii // zp[1]:24 3.0310104636363637E7
void clear_screen(char n , char m)
unsigned int clear_screen::$4 // zp[2]:35 100001.0
unsigned int clear_screen::$5 // zp[2]:9 66667.33333333333
char clear_screen::m
char clear_screen::n
char clear_screen::n#5 // n zp[1]:8 12500.125
void conio_c64_init()
__constant char * const conio_c64_init::BASIC_CURSOR_LINE = (char *) 214
char conio_c64_init::line
char conio_c64_init::line#0 // line zp[1]:76 11.0
char conio_c64_init::line#2 // line zp[1]:76 22.0
__loadstore char conio_cursor_x // zp[1]:39 200133.45333333334
__loadstore char conio_cursor_y // zp[1]:29 3516593.4945054944
__loadstore char *conio_line_color // zp[2]:30 2662771.1807228914
__loadstore char *conio_line_text // zp[2]:32 2600117.7411764706
__loadstore char conio_textcolor // zp[1]:34 1629048.4677419355
void cputc(char c)
char cputc::c
char cputc::c#0 // c zp[1]:2 1050001.5
void cputln()
void cputs(const char *s)
char cputs::c
char cputs::c#1 // c zp[1]:2 100001.0
const char *cputs::s
const char *cputs::s#0 // s zp[2]:5 50000.5
const char *cputs::s#10 // s zp[2]:5 150502.0
const char *cputs::s#11 // s zp[2]:5 1001.0
void cscroll()
unsigned int div16u8u(unsigned int dividend , char divisor)
unsigned int div16u8u::dividend
unsigned int div16u8u::dividend#0 // dividend zp[2]:35 420000.60000000003
char div16u8u::divisor
__constant char div16u8u::divisor#0 = $3c // divisor
unsigned int div16u8u::quotient
char div16u8u::quotient_hi
char div16u8u::quotient_hi#0 // quotient_hi zp[1]:2 333333.6666666667
char div16u8u::quotient_lo
char div16u8u::quotient_lo#0 // quotient_lo zp[1]:16 2000002.0
unsigned int div16u8u::return
unsigned int div16u8u::return#0 // return zp[2]:18 366667.3333333334
unsigned int div16u8u::return#2 // return_1 zp[2]:48 9166.833333333332
char divr8u(char dividend , char divisor , char rem)
char divr8u::$1 // zp[1]:17 2.00000000002E11
char divr8u::dividend
char divr8u::dividend#0 // dividend zp[1]:3 2.500000000025E10
char divr8u::dividend#1 // dividend zp[1]:3 2000002.0
char divr8u::dividend#2 // dividend zp[1]:3 1000001.0
char divr8u::dividend#3 // dividend zp[1]:3 5.0001666667333336E10
char divr8u::dividend#5 // dividend zp[1]:3 1.2000003E7
char divr8u::divisor
char divr8u::i
char divr8u::i#1 // i zp[1]:7 1.500000000015E11
char divr8u::i#2 // i zp[1]:7 1.6666666666833334E10
char divr8u::quotient
char divr8u::quotient#1 // quotient zp[1]:16 1.500000000015E11
char divr8u::quotient#2 // quotient zp[1]:16 1.00000000001E11
char divr8u::quotient#3 // quotient zp[1]:16 2.8571428571714287E10
char divr8u::rem
char divr8u::rem#0 // rem zp[1]:15 1.00000000001E11
char divr8u::rem#1 // rem zp[1]:15 2.00000000002E11
char divr8u::rem#10 // rem zp[1]:15 1.1000002E7
char divr8u::rem#11 // rem zp[1]:15 2.702711801846847E9
char divr8u::rem#2 // rem zp[1]:15 2.00000000002E11
char divr8u::rem#4 // rem zp[1]:15 2000002.0
char divr8u::rem#5 // rem zp[1]:15 2.00010000003E11
char divr8u::rem#6 // rem zp[1]:15 1.00000000001E11
char divr8u::return
char divr8u::return#0 // return zp[1]:16 5.000033333416667E10
char divr8u::return#2 // return zp[1]:16 2000002.0
char divr8u::return#3 // return zp[1]:16 2000002.0
__constant const char down = $11
unsigned int duck
unsigned int duck#0 // duck zp[2]:22 6.6666667333333336E7
unsigned int duck#1 // duck zp[2]:22 4237745.88135593
__constant const char duck_udg[] = { $e, $1b, $3f, $1f, $f, 7, $f, $1f, 0, 0, 0, 0, 0, $c0, $70, $bc, $1f, $1d, $1e, $f, 3, 1, 1, 3, $ce, $1e, $7c, $f8, $e0, $40, $40, $e0, 0, 0, 0, 0, 0, 0, 0, 0 }
__constant const char ducknumber[] = { $44, $55, $43, $4b, $3a }
__constant const char foot[] = "PRESS: 1,3,5,7 or 9
"
__constant const char game_over[] = "
GAME OVER"
void gotoxy(char x , char y)
char *gotoxy::$5 // zp[2]:72 20002.0
char *gotoxy::$6 // zp[2]:44 20002.0
unsigned int gotoxy::$7 // zp[2]:44 15001.5
unsigned int gotoxy::$8 // zp[2]:70 20002.0
unsigned int gotoxy::$9 // zp[2]:44 20002.0
unsigned int gotoxy::line_offset
unsigned int gotoxy::line_offset#0 // line_offset zp[2]:44 10001.0
char gotoxy::x
char gotoxy::y
char gotoxy::y#2 // y zp[1]:76 22.0
char gotoxy::y#4 // y zp[1]:76 6671.0
char gotoxy::y#5 // y zp[1]:76 6667.333333333333
__constant const char green = $1e
__constant const char high_score[] = "
Hi-Score: "
unsigned int hiscore
unsigned int hiscore#110 // hiscore_1 zp[2]:108 1.1744186046511627
unsigned int hiscore#123 // hiscore_1 zp[2]:108 202.0
unsigned int hiscore#124 // hiscore zp[2]:42 202.0
unsigned int hiscore#19 // hiscore zp[2]:42 31.076923076923077
__constant const char home = $13
__constant const char intro[] = "
DIFFICULTY
----------
"
char j
char j#11 // j zp[1]:50 7500.75
char j#13 // j_1 zp[1]:85 1001.0
char j#16 // j_2 zp[1]:86 1001.0
char j#19 // j_3 zp[1]:104 1034.6666666666667
char j#2 // j zp[1]:50 20002.0
char j#3 // j_1 zp[1]:85 2002.0
char j#5 // j_2 zp[1]:86 2002.0
char k
char k#1 // k zp[1]:99 2002.0
char k#101 // k zp[1]:99 273.0
__loadstore volatile char l // zp[1]:107 455.79148936170213
__constant const char levels[] = "1.EASIEST
3.EASY
5.MEDIUM
7.HARD
9.EXPERT
"
__constant const char lock = 8
__constant const char lower = $e
__loadstore volatile char m // zp[1]:4 3.8961039106499544E16
void main()
unsigned int main::$104 // zp[2]:93 2500.25
unsigned int main::$107 // zp[2]:95 2500.25
unsigned int main::$110 // zp[2]:97 2500.25
unsigned int main::$119 // zp[2]:74 6667.333333333333
unsigned int main::$120 // zp[2]:81 10001.0
unsigned int main::$122 // zp[2]:83 10001.0
unsigned int main::$124 // zp[2]:74 10001.0
unsigned int main::$125 // zp[2]:77 10001.0
unsigned int main::$127 // zp[2]:58 10001.0
unsigned int main::$128 // zp[2]:58 10001.0
unsigned int main::$130 // zp[2]:60 10001.0
unsigned int main::$131 // zp[2]:60 10001.0
unsigned int main::$133 // zp[2]:62 10001.0
unsigned int main::$134 // zp[2]:62 10001.0
unsigned int main::$136 // zp[2]:79 10001.0
unsigned int main::$138 // zp[2]:64 10001.0
unsigned int main::$139 // zp[2]:64 10001.0
unsigned int main::$141 // zp[2]:66 10001.0
unsigned int main::$142 // zp[2]:66 10001.0
unsigned int main::$144 // zp[2]:68 10001.0
unsigned int main::$145 // zp[2]:68 10001.0
unsigned int main::$150 // zp[2]:105 1001.0
unsigned int main::$151 // zp[2]:87 2002.0
unsigned int main::$152 // zp[2]:87 1001.0
unsigned int main::$153 // zp[2]:89 2002.0
unsigned int main::$154 // zp[2]:89 1001.0
unsigned int main::$155 // zp[2]:91 2002.0
unsigned int main::$156 // zp[2]:91 1001.0
char main::$177 // zp[1]:8 2002.0
unsigned int main::$179 // zp[2]:56 20002.0
unsigned int main::$180 // zp[2]:46 20002.0
char main::$26 // zp[1]:8 2002.0
unsigned int main::$29 // zp[2]:5 2002.0
unsigned int main::$3 // zp[2]:112 101.0
unsigned int main::$35 // zp[2]:102 2002.0
unsigned int main::$57 // zp[2]:100 2002.0
unsigned int main::$61 // zp[2]:13 2.00000002E8
unsigned int main::$66 // zp[2]:11 2.00000002E7
unsigned int main::$69 // zp[2]:25 2.00000002E7
unsigned int main::$72 // zp[2]:27 2.00000002E7
char main::$78 // zp[1]:16 20002.0
char main::$81 // zp[1]:7 20002.0
char main::$84 // zp[1]:3 20002.0
char main::$88 // zp[1]:54 20002.0
char main::$92 // zp[1]:55 20002.0
unsigned int main::$96 // zp[2]:46 15001.5
unsigned int main::$97 // zp[2]:46 20002.0
void * memcpy(void *destination , void *source , unsigned int num)
void *memcpy::destination
void *memcpy::destination#2 // destination zp[2]:11
char *memcpy::dst
char *memcpy::dst#1 // dst zp[2]:11 1.000000000001E12
char *memcpy::dst#2 // dst zp[2]:11 1.0003333333346667E12
char *memcpy::dst#4 // dst zp[2]:11 2.000000002E9
unsigned int memcpy::num
void *memcpy::return
void *memcpy::source
void *memcpy::source#2 // source zp[2]:13
char *memcpy::src
char *memcpy::src#1 // src zp[2]:13 2.000000000002E12
char *memcpy::src#2 // src zp[2]:13 1.00025000000125E12
char *memcpy::src#4 // src zp[2]:13 1.000000001E9
char *memcpy::src_end
char *memcpy::src_end#0 // src_end zp[2]:9 1.2512500000025E11
void * memset(void *str , char c , unsigned int num)
char memset::c
char memset::c#1 // c zp[1]:16 2.00000002E8
char memset::c#4 // c zp[1]:16 1.4287142857171426E11
char *memset::dst
char *memset::dst#1 // dst zp[2]:11 2.000000000002E12
char *memset::dst#2 // dst zp[2]:11 1.3336666666683335E12
char *memset::dst#4 // dst zp[2]:11 2.000000002E9
char *memset::end
char *memset::end#0 // end zp[2]:18 1.668333333336667E11
unsigned int memset::num
void *memset::return
void *memset::str
void *memset::str#3 // str zp[2]:11
char n
char n#1 // n zp[1]:51 20002.0
char n#101 // n zp[1]:51 4429.142857142857
char n#109 // n zp[1]:51 7.769230769230769
char n#14 // n zp[1]:51 344.8620689655172
char n#20 // n zp[1]:51 220.07272727272726
char n#52 // n zp[1]:51 93.84375
char n#89 // n zp[1]:51 35.644067796610166
unsigned int peephole
unsigned int peephole#12 // peephole zp[2]:52 617.7352941176471
unsigned int peephole#52 // peephole zp[2]:52 62.5625
__constant const char play_again[] = "
Play Again (Y/N)?"
__constant char points[] = { 0, 0, 0, 0 }
void random(char k , char n)
char random::$3 // zp[1]:2 5.5E17
char random::k
char random::k#0 // k zp[1]:3 500.5
char random::k#4 // k zp[1]:3 2.000000000000002E17
2022-01-30 20:41:50 +00:00
char random::n
char random::n#0 // n zp[1]:8 2002.0
char random::n#4 // n zp[1]:8 2.00000000000002E16
void read_chrono()
unsigned int read_chrono::$0 // zp[2]:35 200002.0
unsigned int read_chrono::$5 // zp[2]:9 200002.0
__constant const char red = $1c
char rem8u
char rem8u#127 // rem8u zp[1]:15 11.6
char rem8u#25 // rem8u zp[1]:15 220.07272727272726
char rem8u#48 // rem8u zp[1]:15 93.84375
__constant const char reverse_on = $12
__constant const char right = $1d
unsigned int score
unsigned int score#13 // score zp[2]:42 70334.66666666666
unsigned int score#19 // score zp[2]:42 1272.9090909090908
unsigned int score#38 // score zp[2]:42 3843.0654205607475
unsigned int score#4 // score zp[2]:42 2002.0
unsigned int score#43 // score zp[2]:42 566.0943396226415
unsigned int score#6 // score zp[2]:42 20002.0
unsigned int score#8 // score zp[2]:42 10001.0
unsigned int score#81 // score zp[2]:42 15001.5
char textcolor(char color)
char textcolor::color
char textcolor::color#7 // color zp[1]:8 1001.0
char textcolor::old
char textcolor::return
unsigned int time
unsigned int time#11 // time zp[2]:48 20002.0
unsigned int time#17 // time zp[2]:48 566.0943396226415
unsigned int time#38 // time zp[2]:48 10001.0
unsigned int tu
unsigned int tu#1 // tu zp[2]:110 166.83333333333334
unsigned int tu#13 // tu zp[2]:110 32.032
void utoa(unsigned int value , char *buffer , char radix)
char utoa::$10 // zp[1]:17 2.0000000002E10
char utoa::$11 // zp[1]:2 2000002.0
char *utoa::buffer
char *utoa::buffer#10 // buffer zp[2]:13 2.857285714714286E9
char *utoa::buffer#15 // buffer zp[2]:13 1.50000000015E10
char *utoa::buffer#3 // buffer zp[2]:13 2000002.0
char *utoa::buffer#4 // buffer zp[2]:13 2.0000000002E10
char utoa::digit
char utoa::digit#1 // digit zp[1]:3 2.0000000002E10
char utoa::digit#2 // digit zp[1]:3 2.857142857428571E9
unsigned int utoa::digit_value
unsigned int utoa::digit_value#0 // digit_value zp[2]:9 6.0000000006E9
unsigned int *utoa::digit_values
char utoa::max_digits
char utoa::radix
char utoa::started
char utoa::started#2 // started zp[1]:16 5.0000000005E9
char utoa::started#4 // started zp[1]:16 1.0000000001E10
unsigned int utoa::value
unsigned int utoa::value#0 // value zp[2]:5 1.0000000001E10
unsigned int utoa::value#1 // value zp[2]:5 200002.0
unsigned int utoa::value#10 // value zp[2]:5 1100103.0
unsigned int utoa::value#2 // value zp[2]:5 202.0
unsigned int utoa::value#3 // value zp[2]:5 5.714428572142858E9
unsigned int utoa::value#7 // value zp[2]:5 1.50000000015E10
unsigned int utoa_append(char *buffer , unsigned int value , unsigned int sub)
char *utoa_append::buffer
char *utoa_append::buffer#0 // buffer zp[2]:13 1.375000000025E10
char utoa_append::digit
char utoa_append::digit#1 // digit zp[1]:7 1.0E16
char utoa_append::digit#2 // digit zp[1]:7 1.000005E16
unsigned int utoa_append::return
unsigned int utoa_append::return#0 // return zp[2]:5 2.0000000002E10
unsigned int utoa_append::sub
unsigned int utoa_append::sub#0 // sub zp[2]:9 3.333335E15
unsigned int utoa_append::value
unsigned int utoa_append::value#0 // value zp[2]:5 3.6666666667333336E10
unsigned int utoa_append::value#1 // value zp[2]:5 2.0E16
unsigned int utoa_append::value#2 // value zp[2]:5 5.000018333333334E15
void wait(char n)
char wait::n
char wait::n#6 // n zp[1]:3 1.25000000125E8
void write_score()
unsigned int y
unsigned int y#0 // y zp[2]:40 20002.0
unsigned int y#1 // y zp[2]:40 20002.0
unsigned int y#10 // y zp[2]:40 13334.666666666666
unsigned int y#11 // y zp[2]:40 13334.666666666666
unsigned int y#114 // y zp[2]:40 11.6
unsigned int y#12 // y zp[2]:40 13334.666666666666
unsigned int y#13 // y zp[2]:40 2285.9428571428575
unsigned int y#130 // y zp[2]:40 20002.0
unsigned int y#141 // y_1 zp[2]:52 20002.0
unsigned int y#18 // y zp[2]:40 509.61904761904765
unsigned int y#2 // y zp[2]:40 20002.0
unsigned int y#3 // y zp[2]:40 20002.0
unsigned int y#35 // y_1 zp[2]:52 2353.1764705882347
unsigned int y#49 // y zp[2]:40 93.84375
__constant const char yellow = $9e
__constant const char your_score[] = "
Your Score: "
unsigned int z
unsigned int z#1 // z zp[2]:37 200002.0
unsigned int z#100 // z_1 zp[2]:20 1050.15
unsigned int z#102 // z_1 zp[2]:20 93.84375
unsigned int z#128 // z_1 zp[2]:20 93.84375
unsigned int z#2 // z zp[2]:37 66667.33333333333
unsigned int z#23 // z_1 zp[2]:20 1.0333333334666666E10
unsigned int z#25 // z_1 zp[2]:20 2.564438476923077E7
unsigned int z#28 // z_1 zp[2]:20 266.93333333333334
unsigned int z#4 // z_1 zp[2]:20 2.0000000002E10
unsigned int z#48 // z_1 zp[2]:20 857.2285714285714
unsigned int z#53 // z_1 zp[2]:20 70503.0
unsigned int z#9 // z_1 zp[2]:20 2002.0
zp[1]:76 [ conio_c64_init::line#2 conio_c64_init::line#0 gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ]
zp[2]:108 [ hiscore#110 hiscore#123 ]
zp[1]:99 [ k#101 k#1 ]
zp[1]:85 [ j#13 j#3 ]
zp[1]:86 [ j#16 j#5 ]
zp[2]:110 [ tu#13 tu#1 ]
zp[2]:52 [ peephole#52 peephole#12 y#35 y#141 ]
zp[1]:51 [ n#52 n#89 n#109 n#20 n#101 n#14 n#1 ]
zp[2]:48 [ time#11 time#17 time#38 div16u8u::return#2 ]
zp[2]:40 [ y#13 y#12 y#11 y#10 y#0 y#49 y#114 y#18 y#130 y#1 y#2 y#3 ]
zp[2]:42 [ score#81 hiscore#19 hiscore#124 score#19 score#43 score#38 score#8 score#13 score#4 score#6 ]
zp[1]:50 [ j#11 j#2 ]
zp[2]:37 [ z#2 z#1 ]
zp[1]:8 [ random::n#4 random::n#0 main::$26 main::$177 textcolor::color#7 clear_screen::n#5 ]
zp[2]:20 [ z#53 z#48 z#100 z#102 z#128 z#28 z#9 z#25 z#23 z#4 ]
zp[1]:15 [ divr8u::rem#5 divr8u::rem#10 divr8u::rem#4 rem8u#48 rem8u#127 rem8u#25 divr8u::rem#11 divr8u::rem#6 divr8u::rem#0 divr8u::rem#1 divr8u::rem#2 ]
zp[1]:39 [ conio_cursor_x ]
zp[1]:29 [ conio_cursor_y ]
zp[2]:32 [ conio_line_text ]
zp[2]:30 [ conio_line_color ]
zp[1]:34 [ conio_textcolor ]
zp[1]:107 [ l ]
zp[1]:4 [ m ]
zp[1]:24 [ chrout::petscii ]
zp[2]:5 [ main::$29 utoa::value#3 utoa::value#7 utoa::value#10 utoa::value#2 utoa::value#1 utoa::value#0 utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 utoa_append::return#0 cputs::s#10 cputs::s#11 cputs::s#0 ]
zp[2]:22 [ duck#0 duck#1 ]
zp[2]:13 [ main::$61 memcpy::source#2 memcpy::src#2 memcpy::src#4 memcpy::src#1 utoa::buffer#10 utoa::buffer#15 utoa::buffer#4 utoa::buffer#3 utoa_append::buffer#0 ]
zp[2]:11 [ main::$66 memset::str#3 memset::dst#2 memset::dst#4 memset::dst#1 memcpy::destination#2 memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ]
zp[2]:25 [ main::$69 ]
zp[2]:27 [ main::$72 ]
zp[2]:105 [ main::$150 ]
zp[2]:87 [ main::$151 main::$152 ]
zp[2]:89 [ main::$153 main::$154 ]
zp[2]:91 [ main::$155 main::$156 ]
zp[1]:104 [ j#19 ]
zp[1]:16 [ main::$78 memset::c#4 memset::c#1 divr8u::quotient#3 divr8u::return#0 divr8u::quotient#1 divr8u::quotient#2 divr8u::return#2 divr8u::return#3 div16u8u::quotient_lo#0 utoa::started#2 utoa::started#4 ]
zp[1]:7 [ main::$81 divr8u::i#2 divr8u::i#1 utoa_append::digit#2 utoa_append::digit#1 ]
zp[1]:3 [ main::$84 divr8u::dividend#3 divr8u::dividend#5 divr8u::dividend#1 divr8u::dividend#2 divr8u::dividend#0 utoa::digit#2 utoa::digit#1 wait::n#6 random::k#4 random::k#0 ]
zp[1]:54 [ main::$88 ]
zp[1]:55 [ main::$92 ]
zp[2]:46 [ main::$96 main::$180 main::$97 ]
zp[2]:56 [ main::$179 ]
zp[2]:93 [ main::$104 ]
zp[2]:95 [ main::$107 ]
zp[2]:97 [ main::$110 ]
zp[2]:77 [ main::$125 ]
zp[2]:58 [ main::$127 main::$128 ]
zp[2]:60 [ main::$130 main::$131 ]
zp[2]:62 [ main::$133 main::$134 ]
zp[2]:79 [ main::$136 ]
zp[2]:64 [ main::$138 main::$139 ]
zp[2]:66 [ main::$141 main::$142 ]
zp[2]:68 [ main::$144 main::$145 ]
zp[2]:74 [ main::$119 main::$124 ]
zp[2]:81 [ main::$120 ]
zp[2]:83 [ main::$122 ]
zp[2]:100 [ main::$57 ]
zp[2]:102 [ main::$35 ]
zp[2]:112 [ main::$3 ]
zp[2]:44 [ gotoxy::$7 gotoxy::$9 gotoxy::line_offset#0 gotoxy::$6 ]
zp[2]:70 [ gotoxy::$8 ]
zp[2]:72 [ gotoxy::$5 ]
zp[2]:35 [ read_chrono::$0 div16u8u::dividend#0 clear_screen::$4 ]
zp[1]:2 [ div16u8u::quotient_hi#0 utoa::$11 random::$3 cputs::c#1 cputc::c#0 ]
zp[1]:17 [ divr8u::$1 utoa::$10 ]
zp[2]:9 [ memcpy::src_end#0 read_chrono::$5 utoa::digit_value#0 utoa_append::sub#0 clear_screen::$5 ]
zp[2]:18 [ memset::end#0 div16u8u::return#0 ]
FINAL ASSEMBLER
Score: 2147483647
// File Comments
/// @file
/// Functions for performing input and output.
// Upstart
// Commodore 64 PRG executable file
.file [name="ducks-total.prg", type="prg", segments="Program"]
.segmentdef Program [segments="Basic, Code, Data"]
.segmentdef Basic [start=$0801]
.segmentdef Code [start=$80d]
.segmentdef Data [startAfter="Code"]
.segment Basic
:BasicUpstart(__start)
// Global Constants & labels
.const LIGHT_BLUE = $e
.const down = $11
.const right = $1d
.const lock = 8
.const lower = $e
.const home = $13
.const reverse_on = $12
.const brick = $e6
.const green = $1e
.const yellow = $9e
.const red = $1c
.const c = $7800
/// Color Ram
.label COLORRAM = $d800
/// Default address of screen character matrix
.label DEFAULT_SCREEN = $400
// The number of bytes on the screen
// The current cursor x-position
.label conio_cursor_x = $27
// The current cursor y-position
.label conio_cursor_y = $1d
// The current text cursor line start
.label conio_line_text = $20
// The current color cursor line start
.label conio_line_color = $1e
// The current text color
.label conio_textcolor = $22
.label l = $6b
.label m = 4
.label z = $25
.label z_1 = $14
.label n = $33
.label k = $63
.label j = $32
.label j_1 = $55
.label j_2 = $56
.label duck = $16
// [0..255] 8-bit
.label tu = $6e
// Volume to max
.label score = $2a
.label y = $28
.label time = $30
.label j_3 = $68
// Remainder after signed 8 bit division
.label rem8u = $f
.label peephole = $34
.label y_1 = $34
.label hiscore = $2a
.label hiscore_1 = $6c
.segment Code
// __start
__start: {
// __start::__init1
// __ma char conio_cursor_x = 0
// [1] conio_cursor_x = 0 -- vbuz1=vbuc1
lda #0
sta.z conio_cursor_x
// __ma char conio_cursor_y = 0
// [2] conio_cursor_y = 0 -- vbuz1=vbuc1
sta.z conio_cursor_y
// __ma char *conio_line_text = CONIO_SCREEN_TEXT
// [3] conio_line_text = DEFAULT_SCREEN -- pbuz1=pbuc1
lda #<DEFAULT_SCREEN
sta.z conio_line_text
lda #>DEFAULT_SCREEN
sta.z conio_line_text+1
// __ma char *conio_line_color = CONIO_SCREEN_COLORS
// [4] conio_line_color = COLORRAM -- pbuz1=pbuc1
lda #<COLORRAM
sta.z conio_line_color
lda #>COLORRAM
sta.z conio_line_color+1
// __ma char conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
// [5] conio_textcolor = LIGHT_BLUE -- vbuz1=vbuc1
lda #LIGHT_BLUE
sta.z conio_textcolor
// j,k,l,m
// [6] l = 0 -- vbuz1=vbuc1
lda #0
sta.z l
// j,k,l,m,n=0
// [7] m = 0 -- vbuz1=vbuc1
sta.z m
// #pragma constructor_for(conio_c64_init, cputc, clrscr, cscroll)
// [8] call conio_c64_init
jsr conio_c64_init
// [9] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
// __start::@1
// [10] call main
jsr main
// __start::@return
// [11] return
rts
}
// conio_c64_init
// Set initial cursor position
conio_c64_init: {
// Position cursor at current line
.label BASIC_CURSOR_LINE = $d6
.label line = $4c
// char line = *BASIC_CURSOR_LINE
// [12] conio_c64_init::line#0 = *conio_c64_init::BASIC_CURSOR_LINE -- vbuz1=_deref_pbuc1
lda.z BASIC_CURSOR_LINE
sta.z line
// if(line>=CONIO_HEIGHT)
// [13] if(conio_c64_init::line#0<$19) goto conio_c64_init::@2 -- vbuz1_lt_vbuc1_then_la1
cmp #$19
bcc __b1
// [15] phi from conio_c64_init to conio_c64_init::@1 [phi:conio_c64_init->conio_c64_init::@1]
// [15] phi conio_c64_init::line#2 = $19-1 [phi:conio_c64_init->conio_c64_init::@1#0] -- vbuz1=vbuc1
lda #$19-1
sta.z line
// [14] phi from conio_c64_init to conio_c64_init::@2 [phi:conio_c64_init->conio_c64_init::@2]
// conio_c64_init::@2
// [15] phi from conio_c64_init::@2 to conio_c64_init::@1 [phi:conio_c64_init::@2->conio_c64_init::@1]
// [15] phi conio_c64_init::line#2 = conio_c64_init::line#0 [phi:conio_c64_init::@2->conio_c64_init::@1#0] -- register_copy
// conio_c64_init::@1
__b1:
// gotoxy(0, line)
// [16] gotoxy::y#2 = conio_c64_init::line#2
// [17] call gotoxy
// [304] phi from conio_c64_init::@1 to gotoxy [phi:conio_c64_init::@1->gotoxy]
// [304] phi gotoxy::y#4 = gotoxy::y#2 [phi:conio_c64_init::@1->gotoxy#0] -- register_copy
jsr gotoxy
// conio_c64_init::@return
// }
// [18] return
rts
}
// main
main: {
.label __3 = $70
.label __26 = 8
.label __29 = 5
.label __35 = $66
.label __57 = $64
.label __61 = $d
.label __66 = $b
.label __69 = $19
.label __72 = $1b
.label __78 = $10
.label __81 = 7
.label __84 = 3
.label __88 = $36
.label __92 = $37
.label __96 = $2e
.label __97 = $2e
.label __104 = $5d
.label __107 = $5f
.label __110 = $61
.label __119 = $4a
.label __120 = $51
.label __122 = $53
.label __124 = $4a
.label __125 = $4d
.label __127 = $3a
.label __128 = $3a
.label __130 = $3c
.label __131 = $3c
.label __133 = $3e
.label __134 = $3e
.label __136 = $4f
.label __138 = $40
.label __139 = $40
.label __141 = $42
.label __142 = $42
.label __144 = $44
.label __145 = $44
.label __150 = $69
.label __151 = $57
.label __152 = $57
.label __153 = $59
.label __154 = $59
.label __155 = $5b
.label __156 = $5b
.label __177 = 8
.label __179 = $38
.label __180 = $2e
// POKE
// [19] *((char *) 36879) = 8 -- _deref_pbuc1=vbuc2
lda #8
sta $900f
// chrout(lock)
// [20] chrout::petscii = lock -- vbuz1=vbuc1
lda #lock
sta.z chrout.petscii
// [21] call chrout
// border and black paper
jsr chrout
// main::@50
// chrout(lower)
// [22] chrout::petscii = lower -- vbuz1=vbuc1
lda #lower
sta.z chrout.petscii
// [23] call chrout
//Lock UpperCase to Lowercase key
jsr chrout
// main::@51
// m=0
// [24] m = 0 -- vbuz1=vbuc1
lda #0
sta.z m
//Put text in Lowercase set
// main::@1
__b1:
// for (m=0; m<40; m++)
// [25] if(m<$28) goto main::@2 -- vbuz1_lt_vbuc1_then_la1
lda.z m
cmp #$28
bcs !__b2+
jmp __b2
!__b2:
// [26] phi from main::@1 to main::@3 [phi:main::@1->main::@3]
// [26] phi n#109 = 0 [phi:main::@1->main::@3#0] -- vbuz1=vbuc1
lda #0
sta.z n
// [26] phi hiscore#110 = 0 [phi:main::@1->main::@3#1] -- vwuz1=vwuc1
sta.z hiscore_1
sta.z hiscore_1+1
// [26] phi y#114 = 0 [phi:main::@1->main::@3#2] -- vwuz1=vwuc1
sta.z y
sta.z y+1
// [26] phi rem8u#127 = 0 [phi:main::@1->main::@3#3] -- vbuz1=vbuc1
sta.z rem8u
// Load udgs. From 0-->39;
// main::@3
__b3:
// clear_screen(32,0)
// [27] call clear_screen
// [321] phi from main::@3 to clear_screen [phi:main::@3->clear_screen]
// [321] phi clear_screen::n#5 = $20 [phi:main::@3->clear_screen#0] -- vbuz1=vbuc1
lda #$20
sta.z clear_screen.n
jsr clear_screen
// [28] phi from main::@3 to main::@52 [phi:main::@3->main::@52]
// main::@52
// textcolor(7)
// [29] call textcolor
// Clear Screen with spaces & black ink
// [334] phi from main::@52 to textcolor [phi:main::@52->textcolor]
// [334] phi textcolor::color#7 = 7 [phi:main::@52->textcolor#0] -- vbuz1=vbuc1
lda #7
sta.z textcolor.color
jsr textcolor
// [30] phi from main::@52 to main::@53 [phi:main::@52->main::@53]
// main::@53
// cputs(intro)
// [31] call cputs
// [337] phi from main::@53 to cputs [phi:main::@53->cputs]
// [337] phi cputs::s#11 = intro [phi:main::@53->cputs#0] -- pbuz1=pbuc1
lda #<intro
sta.z cputs.s
lda #>intro
sta.z cputs.s+1
jsr cputs
// [32] phi from main::@53 to main::@54 [phi:main::@53->main::@54]
// main::@54
// textcolor(1)
// [33] call textcolor
// Yellow ink
// [334] phi from main::@54 to textcolor [phi:main::@54->textcolor]
// [334] phi textcolor::color#7 = 1 [phi:main::@54->textcolor#0] -- vbuz1=vbuc1
lda #1
sta.z textcolor.color
jsr textcolor
// [34] phi from main::@54 to main::@55 [phi:main::@54->main::@55]
// main::@55
// cputs(levels)
// [35] call cputs
// [337] phi from main::@55 to cputs [phi:main::@55->cputs]
// [337] phi cputs::s#11 = levels [phi:main::@55->cputs#0] -- pbuz1=pbuc1
lda #<levels
sta.z cputs.s
lda #>levels
sta.z cputs.s+1
jsr cputs
// [36] phi from main::@55 to main::@56 [phi:main::@55->main::@56]
// main::@56
// textcolor(2)
// [37] call textcolor
// White
// [334] phi from main::@56 to textcolor [phi:main::@56->textcolor]
// [334] phi textcolor::color#7 = 2 [phi:main::@56->textcolor#0] -- vbuz1=vbuc1
lda #2
sta.z textcolor.color
jsr textcolor
// [38] phi from main::@56 to main::@57 [phi:main::@56->main::@57]
// main::@57
// cputs(foot)
// [39] call cputs
// [337] phi from main::@57 to cputs [phi:main::@57->cputs]
// [337] phi cputs::s#11 = foot [phi:main::@57->cputs#0] -- pbuz1=pbuc1
lda #<foot
sta.z cputs.s
lda #>foot
sta.z cputs.s+1
jsr cputs
// Red
// main::@4
__b4:
// l=PEEK
// [40] l = *((char *) 197) -- vbuz1=_deref_pbuc1
lda.z $c5
sta.z l
// ++l;
// [41] l = ++ l -- vbuz1=_inc_vbuz1
inc.z l
// while (l>5)
// [42] if(l>=5+1) goto main::@4 -- vbuz1_ge_vbuc1_then_la1
lda.z l
cmp #5+1
bcs __b4
// [43] phi from main::@4 to main::@5 [phi:main::@4->main::@5]
// main::@5
// clear_screen(4,0)
// [44] call clear_screen
// wait for 1-3-5-7-9 keys only
// [321] phi from main::@5 to clear_screen [phi:main::@5->clear_screen]
// [321] phi clear_screen::n#5 = 4 [phi:main::@5->clear_screen#0] -- vbuz1=vbuc1
lda #4
sta.z clear_screen.n
jsr clear_screen
// main::@58
// POKE
// [45] *((char *) 36869) = $ff -- _deref_pbuc1=vbuc2
lda #$ff
sta $9005
// chrout(reverse_on)
// [46] chrout::petscii = reverse_on -- vbuz1=vbuc1
lda #reverse_on
sta.z chrout.petscii
// [47] call chrout
// Graphic mode
jsr chrout
// main::@59
// chrout(red)
// [48] chrout::petscii = red -- vbuz1=vbuc1
lda #red
sta.z chrout.petscii
// [49] call chrout
jsr chrout
// main::@60
// chrout(down)
// [50] chrout::petscii = down -- vbuz1=vbuc1
lda #down
sta.z chrout.petscii
// [51] call chrout
jsr chrout
// [52] phi from main::@60 to main::@6 [phi:main::@60->main::@6]
// [52] phi n#89 = n#109 [phi:main::@60->main::@6#0] -- register_copy
// [52] phi k#101 = 1 [phi:main::@60->main::@6#1] -- vbuz1=vbuc1
lda #1
sta.z k
//for (z=1;z<23;z++) { POKE(7680+z*22,230);POKE(c+7680+z*22,2); POKE(7679+z*22,230); POKE(c+7679+z*22,2); } // 23 rows * 22 columns (7680 to 8185). 506 positions.
//k=1; do { chrout(brick); POKE(211,20); chrout(brick); ++k; } while (k<23);
//for (k=1;k<22;k++) { chrout(brick); POKE(211,22); chrout(brick); }; // 23 rows * 22 columns (7680 to 8185). 506 positions.
// main::@6
__b6:
// for (k=1;k<22;k++)
// [53] if(k#101<$16) goto main::@7 -- vbuz1_lt_vbuc1_then_la1
lda.z k
cmp #$16
bcs !__b7+
jmp __b7
!__b7:
// main::@8
// chrout(brick)
// [54] chrout::petscii = brick -- vbuz1=vbuc1
lda #brick
sta.z chrout.petscii
// [55] call chrout
// 23 rows * 22 columns (7680 to 8185). 506 positions.
jsr chrout
// main::@61
// POKE
// [56] *((char *) 8185) = brick -- _deref_pbuc1=vbuc2
lda #brick
sta $1ff9
// [57] *((char *)$1ff9+c) = 2 -- _deref_pbuc1=vbuc2
lda #2
sta $1ff9+c
// chrout(home)
// [58] chrout::petscii = home -- vbuz1=vbuc1
lda #home
sta.z chrout.petscii
// [59] call chrout
//last brick from last line (#23) to avoid scrolling
jsr chrout
// main::@62
// if (l>1)
// [60] if(l<1+1) goto main::@12 -- vbuz1_lt_vbuc1_then_la1
lda.z l
cmp #1+1
bcc __b8
// [61] phi from main::@62 to main::@13 [phi:main::@62->main::@13]
// [61] phi z#28 = 1 [phi:main::@62->main::@13#0] -- vwuz1=vbuc1
lda #<1
sta.z z_1
lda #>1
sta.z z_1+1
// [61] phi from main::@73 to main::@13 [phi:main::@73->main::@13]
// [61] phi z#28 = z#9 [phi:main::@73->main::@13#0] -- register_copy
// main::@13
__b13:
// random((7-l),26-(3*l))
// [62] random::k#0 = 7 - l -- vbuz1=vbuc1_minus_vbuz2
lda #7
sec
sbc.z l
sta.z random.k
// 3*l
// [63] main::$177 = l << 1 -- vbuz1=vbuz2_rol_1
lda.z l
asl
sta.z __177
// [64] main::$26 = main::$177 + l -- vbuz1=vbuz1_plus_vbuz2
lda.z __26
clc
adc.z l
sta.z __26
// random((7-l),26-(3*l))
// [65] random::n#0 = $1a - main::$26 -- vbuz1=vbuc1_minus_vbuz1
lda #$1a
sec
sbc.z random.n
sta.z random.n
// [66] call random
// Write differential random bricks depending on 'l' level choosen
// [345] phi from main::@13 to random [phi:main::@13->random]
// [345] phi random::n#4 = random::n#0 [phi:main::@13->random#0] -- register_copy
// [345] phi random::k#4 = random::k#0 [phi:main::@13->random#1] -- register_copy
jsr random
// main::@71
// z+m
// [67] main::$29 = z#28 + m -- vwuz1=vwuz2_plus_vbuz3
lda.z m
clc
adc.z z_1
sta.z __29
lda #0
adc.z z_1+1
sta.z __29+1
// if (z+m>505)
// [68] if(main::$29<=$1f9) goto main::@14 -- vwuz1_le_vwuc1_then_la1
cmp #>$1f9
bne !+
lda.z __29
cmp #<$1f9
!:
bcs !__b24+
jmp __b24
!__b24:
bne !__b24+
jmp __b24
!__b24:
// [69] phi from main::@71 main::@73 to main::@12 [phi:main::@71/main::@73->main::@12]
// [69] phi z#128 = z#28 [phi:main::@71/main::@73->main::@12#0] -- register_copy
jmp __b12
// [69] phi from main::@62 to main::@12 [phi:main::@62->main::@12]
__b8:
// [69] phi z#128 = 1 [phi:main::@62->main::@12#0] -- vwuz1=vbuc1
lda #<1
sta.z z_1
lda #>1
sta.z z_1+1
// main::@12
__b12:
// POKE
// [70] *((char *) 36878) = $f -- _deref_pbuc1=vbuc2
lda #$f
sta $900e
// chrout(home)
// [71] chrout::petscii = home -- vbuz1=vbuc1
lda #home
sta.z chrout.petscii
// [72] call chrout
// Duck #1
jsr chrout
// main::@65
// chrout(yellow)
// [73] chrout::petscii = yellow -- vbuz1=vbuc1
lda #yellow
sta.z chrout.petscii
// [74] call chrout
jsr chrout
// main::@66
// chrout(80)
// [75] chrout::petscii = $50 -- vbuz1=vbuc1
lda #$50
sta.z chrout.petscii
// [76] call chrout
jsr chrout
// main::@67
// chrout(84)
// [77] chrout::petscii = $54 -- vbuz1=vbuc1
lda #$54
sta.z chrout.petscii
// [78] call chrout
jsr chrout
// main::@68
// chrout(83)
// [79] chrout::petscii = $53 -- vbuz1=vbuc1
lda #$53
sta.z chrout.petscii
// [80] call chrout
jsr chrout
// main::@69
// chrout(58)
// [81] chrout::petscii = $3a -- vbuz1=vbuc1
lda #$3a
sta.z chrout.petscii
// [82] call chrout
jsr chrout
// main::@70
// POKE
// [83] *((char *) 211) = $12 -- _deref_pbuc1=vbuc2
lda #$12
sta.z $d3
// [84] phi from main::@70 to main::@17 [phi:main::@70->main::@17]
// [84] phi j#13 = 0 [phi:main::@70->main::@17#0] -- vbuz1=vbuc1
lda #0
sta.z j_1
// jump to Column 18
// main::@17
__b17:
// for (j=0; j<4; ++j)
// [85] if(j#13<4) goto main::@18 -- vbuz1_lt_vbuc1_then_la1
lda.z j_1
cmp #4
bcs !__b18+
jmp __b18
!__b18:
// [86] phi from main::@17 to main::@19 [phi:main::@17->main::@19]
// main::@19
// write_score()
// [87] call write_score
// Write 'TM:9', yellow
// [351] phi from main::@19 to write_score [phi:main::@19->write_score]
// [351] phi score#13 = 0 [phi:main::@19->write_score#0] -- vwuz1=vbuc1
lda #<0
sta.z score
sta.z score+1
jsr write_score
// main::@75
// chrout(home)
// [88] chrout::petscii = home -- vbuz1=vbuc1
lda #home
sta.z chrout.petscii
// [89] call chrout
// Write Score (yellow)
jsr chrout
// main::@76
// chrout(green)
// [90] chrout::petscii = green -- vbuz1=vbuc1
lda #green
sta.z chrout.petscii
// [91] call chrout
jsr chrout
// main::@77
// POKE
// [92] *((char *) 211) = $a -- _deref_pbuc1=vbuc2
lda #$a
sta.z $d3
// [93] phi from main::@77 to main::@20 [phi:main::@77->main::@20]
// [93] phi j#16 = 0 [phi:main::@77->main::@20#0] -- vbuz1=vbuc1
lda #0
sta.z j_2
// Jump to column 10
// main::@20
__b20:
// for (j=0; j<5; j++)
// [94] if(j#16<5) goto main::@21 -- vbuz1_lt_vbuc1_then_la1
lda.z j_2
cmp #5
bcs !__b21+
jmp __b21
!__b21:
// [95] phi from main::@20 to main::@22 [phi:main::@20->main::@22]
// [95] phi n#52 = n#89 [phi:main::@20->main::@22#0] -- register_copy
// [95] phi peephole#52 = $1f1f [phi:main::@20->main::@22#1] -- vwuz1=vwuc1
lda #<$1f1f
sta.z peephole
lda #>$1f1f
sta.z peephole+1
// [95] phi z#102 = z#128 [phi:main::@20->main::@22#2] -- register_copy
// [95] phi y#49 = y#114 [phi:main::@20->main::@22#3] -- register_copy
// [95] phi rem8u#48 = rem8u#127 [phi:main::@20->main::@22#4] -- register_copy
// [95] phi tu#13 = 1 [phi:main::@20->main::@22#5] -- vwuz1=vbuc1
lda #<1
sta.z tu
lda #>1
sta.z tu+1
// Write 'DUCK', green
// [95] phi from main::@87 to main::@22 [phi:main::@87->main::@22]
// [95] phi n#52 = n#20 [phi:main::@87->main::@22#0] -- register_copy
// [95] phi peephole#52 = peephole#12 [phi:main::@87->main::@22#1] -- register_copy
// [95] phi z#102 = z#25 [phi:main::@87->main::@22#2] -- register_copy
// [95] phi y#49 = y#18 [phi:main::@87->main::@22#3] -- register_copy
// [95] phi rem8u#48 = rem8u#25 [phi:main::@87->main::@22#4] -- register_copy
// [95] phi tu#13 = tu#1 [phi:main::@87->main::@22#5] -- register_copy
// main::@22
__b22:
// chrout(home)
// [96] chrout::petscii = home -- vbuz1=vbuc1
lda #home
sta.z chrout.petscii
// [97] call chrout
jsr chrout
// main::@79
// chrout(green)
// [98] chrout::petscii = green -- vbuz1=vbuc1
lda #green
sta.z chrout.petscii
// [99] call chrout
jsr chrout
// main::@80
// chrout(reverse_on)
// [100] chrout::petscii = reverse_on -- vbuz1=vbuc1
lda #reverse_on
sta.z chrout.petscii
// [101] call chrout
jsr chrout
// main::@81
// POKE
// [102] *((char *) 211) = $f -- _deref_pbuc1=vbuc2
lda #$f
sta.z $d3
// if (tu<10)
// [103] if(tu#13<$a) goto main::@23 -- vwuz1_lt_vbuc1_then_la1
// Jump to column 15
lda.z tu+1
bne !+
lda.z tu
cmp #$a
bcs !__b23+
jmp __b23
!__b23:
!:
// main::@45
// chrout(49)
// [104] chrout::petscii = $31 -- vbuz1=vbuc1
lda #$31
sta.z chrout.petscii
// [105] call chrout
jsr chrout
// main::@82
// chrout(48)
// [106] chrout::petscii = $30 -- vbuz1=vbuc1
lda #$30
sta.z chrout.petscii
// [107] call chrout
jsr chrout
// [108] phi from main::@103 main::@104 main::@105 main::@106 main::@23 main::@82 main::@84 to main::@24 [phi:main::@103/main::@104/main::@105/main::@106/main::@23/main::@82/main::@84->main::@24]
__b11:
// Write duck number
// main::@24
// random(0,255)
// [109] call random
// [345] phi from main::@24 to random [phi:main::@24->random]
// [345] phi random::n#4 = $ff [phi:main::@24->random#0] -- vbuz1=vbuc1
lda #$ff
sta.z random.n
// [345] phi random::k#4 = 0 [phi:main::@24->random#1] -- vbuz1=vbuc1
lda #0
sta.z random.k
jsr random
// main::@83
// duck=m
// [110] duck#0 = m -- vwuz1=vbuz2
lda.z m
sta.z duck
lda #0
sta.z duck+1
// random(0,255)
// [111] call random
// [345] phi from main::@83 to random [phi:main::@83->random]
// [345] phi random::n#4 = $ff [phi:main::@83->random#0] -- vbuz1=vbuc1
lda #$ff
sta.z random.n
// [345] phi random::k#4 = 0 [phi:main::@83->random#1] -- vbuz1=vbuc1
lda #0
sta.z random.k
jsr random
// main::@84
// m+7701
// [112] main::$61 = m + $1e15 -- vwuz1=vbuz2_plus_vwuc1
lda.z m
clc
adc #<$1e15
sta.z __61
lda #>$1e15
adc #0
sta.z __61+1
// duck=m+7701+duck
// [113] duck#1 = main::$61 + duck#0 -- vwuz1=vwuz2_plus_vwuz1
clc
lda.z duck
adc.z __61
sta.z duck
lda.z duck+1
adc.z __61+1
sta.z duck+1
// PEEK
// [114] main::$66 = duck#1 + 1 -- vwuz1=vwuz2_plus_1
clc
lda.z duck
adc #1
sta.z __66
lda.z duck+1
adc #0
sta.z __66+1
// [115] main::$69 = duck#1 + $16 -- vwuz1=vwuz2_plus_vbuc1
lda #$16
clc
adc.z duck
sta.z __69
lda #0
adc.z duck+1
sta.z __69+1
// [116] main::$72 = duck#1 + $17 -- vwuz1=vwuz2_plus_vbuc1
lda #$17
clc
adc.z duck
sta.z __72
lda #0
adc.z duck+1
sta.z __72+1
// while ((duck>8163) || PEEK(duck)==brick || PEEK(duck+1)==brick || PEEK(duck+22)==brick || PEEK(duck+23)==brick)
// [117] if(duck#1>$1fe3) goto main::@24 -- vwuz1_gt_vwuc1_then_la1
lda #>$1fe3
cmp.z duck+1
bcc __b11
bne !+
lda #<$1fe3
cmp.z duck
bcc __b11
!:
// main::@106
// [118] if(*((char *)duck#1)==brick) goto main::@24 -- _deref_pbuz1_eq_vbuc1_then_la1
lda #brick
ldy #0
cmp (duck),y
beq __b11
// main::@105
// [119] if(*((char *)main::$66)==brick) goto main::@24 -- _deref_pbuz1_eq_vbuc1_then_la1
cmp (__66),y
beq __b11
// main::@104
// [120] if(*((char *)main::$69)==brick) goto main::@24 -- _deref_pbuz1_eq_vbuc1_then_la1
cmp (__69),y
beq __b11
// main::@103
// [121] if(*((char *)main::$72)==brick) goto main::@24 -- _deref_pbuz1_eq_vbuc1_then_la1
cmp (__72),y
bne !__b11+
jmp __b11
!__b11:
// [122] phi from main::@103 to main::@25 [phi:main::@103->main::@25]
// main::@25
// chrono_restart()
// [123] call chrono_restart
jsr chrono_restart
// [124] phi from main::@25 to main::@26 [phi:main::@25->main::@26]
// [124] phi n#20 = n#52 [phi:main::@25->main::@26#0] -- register_copy
// [124] phi peephole#12 = peephole#52 [phi:main::@25->main::@26#1] -- register_copy
// [124] phi z#100 = z#102 [phi:main::@25->main::@26#2] -- register_copy
// [124] phi y#18 = y#49 [phi:main::@25->main::@26#3] -- register_copy
// [124] phi rem8u#25 = rem8u#48 [phi:main::@25->main::@26#4] -- register_copy
// [124] phi score#19 = score#38 [phi:main::@25->main::@26#5] -- register_copy
// [124] phi time#11 = 0 [phi:main::@25->main::@26#6] -- vwuz1=vbuc1
lda #<0
sta.z time
sta.z time+1
// main::@26
__b26:
// while (time<10)
// [125] if(time#11<$a) goto main::@27 -- vwuz1_lt_vbuc1_then_la1
lda.z time+1
bne !+
lda.z time
cmp #$a
bcs !__b27+
jmp __b27
!__b27:
!:
// main::@28
// tu++;
// [126] tu#1 = ++ tu#13 -- vwuz1=_inc_vwuz1
inc.z tu
bne !+
inc.z tu+1
!:
// score=score-10
// [127] score#4 = score#19 - $a -- vwuz1=vwuz1_minus_vbuc1
sec
lda.z score
sbc #$a
sta.z score
lda.z score+1
sbc #0
sta.z score+1
// write_score()
// [128] call write_score
// [351] phi from main::@28 to write_score [phi:main::@28->write_score]
// [351] phi score#13 = score#4 [phi:main::@28->write_score#0] -- register_copy
jsr write_score
// main::@86
// POKE
// [129] *((char *) 36877) = $82 -- _deref_pbuc1=vbuc2
lda #$82
sta $900d
// wait(20)
// [130] call wait
// [381] phi from main::@86 to wait [phi:main::@86->wait]
// [381] phi z#53 = z#100 [phi:main::@86->wait#0] -- register_copy
// [381] phi wait::n#6 = $14 [phi:main::@86->wait#1] -- vbuz1=vbuc1
lda #$14
sta.z wait.n
jsr wait
// main::@87
// POKE
// [131] *((char *) 36877) = 0 -- _deref_pbuc1=vbuc2
lda #0
sta $900d
// [132] main::$150 = duck#1 + c -- vwuz1=vwuz2_plus_vwuc1
lda.z duck
clc
adc #<c
sta.z __150
lda.z duck+1
adc #>c
sta.z __150+1
// [133] *((char *)main::$150) = 0 -- _deref_pbuz1=vbuc1
lda #0
tay
sta (__150),y
// [134] main::$151 = duck#1 -- vwuz1=vwuz2
lda.z duck
sta.z __151
lda.z duck+1
sta.z __151+1
// [135] main::$152 = main::$151 + 1+c -- vwuz1=vwuz1_plus_vwuc1
lda.z __152
clc
adc #<1+c
sta.z __152
lda.z __152+1
adc #>1+c
sta.z __152+1
// [136] *((char *)main::$152) = 0 -- _deref_pbuz1=vbuc1
tya
sta (__152),y
// [137] main::$153 = duck#1 -- vwuz1=vwuz2
lda.z duck
sta.z __153
lda.z duck+1
sta.z __153+1
// [138] main::$154 = main::$153 + $16+c -- vwuz1=vwuz1_plus_vwuc1
lda.z __154
clc
adc #<$16+c
sta.z __154
lda.z __154+1
adc #>$16+c
sta.z __154+1
// [139] *((char *)main::$154) = 0 -- _deref_pbuz1=vbuc1
tya
sta (__154),y
// [140] main::$155 = duck#1 -- vwuz1=vwuz2
lda.z duck
sta.z __155
lda.z duck+1
sta.z __155+1
// [141] main::$156 = main::$155 + $17+c -- vwuz1=vwuz1_plus_vwuc1
lda.z __156
clc
adc #<$17+c
sta.z __156
lda.z __156+1
adc #>$17+c
sta.z __156+1
// [142] *((char *)main::$156) = 0 -- _deref_pbuz1=vbuc1
tya
sta (__156),y
// while (tu<11)
// [143] if(tu#1<$b) goto main::@22 -- vwuz1_lt_vbuc1_then_la1
lda.z tu+1
bne !+
lda.z tu
cmp #$b
bcs !__b22+
jmp __b22
!__b22:
!:
// [144] phi from main::@87 to main::@44 [phi:main::@87->main::@44]
// main::@44
// clear_screen(4,0)
// [145] call clear_screen
// 10 ducks
// [321] phi from main::@44 to clear_screen [phi:main::@44->clear_screen]
// [321] phi clear_screen::n#5 = 4 [phi:main::@44->clear_screen#0] -- vbuz1=vbuc1
lda #4
sta.z clear_screen.n
jsr clear_screen
// main::@91
// POKE
// [146] *((char *) 36869) = $f0 -- _deref_pbuc1=vbuc2
lda #$f0
sta $9005
// chrout(lower)
// [147] chrout::petscii = lower -- vbuz1=vbuc1
lda #lower
sta.z chrout.petscii
// [148] call chrout
jsr chrout
// [149] phi from main::@91 to main::@92 [phi:main::@91->main::@92]
// main::@92
// textcolor(7)
// [150] call textcolor
// Return to text mode, lowcase
// [334] phi from main::@92 to textcolor [phi:main::@92->textcolor]
// [334] phi textcolor::color#7 = 7 [phi:main::@92->textcolor#0] -- vbuz1=vbuc1
lda #7
sta.z textcolor.color
jsr textcolor
// [151] phi from main::@92 to main::@93 [phi:main::@92->main::@93]
// main::@93
// cputs(game_over)
// [152] call cputs
// [337] phi from main::@93 to cputs [phi:main::@93->cputs]
// [337] phi cputs::s#11 = game_over [phi:main::@93->cputs#0] -- pbuz1=pbuc1
lda #<game_over
sta.z cputs.s
lda #>game_over
sta.z cputs.s+1
jsr cputs
// [153] phi from main::@93 to main::@94 [phi:main::@93->main::@94]
// main::@94
// textcolor(2)
// [154] call textcolor
// Yellow
// [334] phi from main::@94 to textcolor [phi:main::@94->textcolor]
// [334] phi textcolor::color#7 = 2 [phi:main::@94->textcolor#0] -- vbuz1=vbuc1
lda #2
sta.z textcolor.color
jsr textcolor
// [155] phi from main::@94 to main::@95 [phi:main::@94->main::@95]
// main::@95
// cputs(your_score)
// [156] call cputs
// [337] phi from main::@95 to cputs [phi:main::@95->cputs]
// [337] phi cputs::s#11 = your_score [phi:main::@95->cputs#0] -- pbuz1=pbuc1
lda #<your_score
sta.z cputs.s
lda #>your_score
sta.z cputs.s+1
jsr cputs
// [157] phi from main::@95 to main::@96 [phi:main::@95->main::@96]
// main::@96
// cputs(buffer)
// [158] call cputs
// [337] phi from main::@96 to cputs [phi:main::@96->cputs]
// [337] phi cputs::s#11 = buffer [phi:main::@96->cputs#0] -- pbuz1=pbuc1
lda #<buffer
sta.z cputs.s
lda #>buffer
sta.z cputs.s+1
jsr cputs
// [159] phi from main::@96 to main::@97 [phi:main::@96->main::@97]
// main::@97
// textcolor(3)
// [160] call textcolor
// Red
// [334] phi from main::@97 to textcolor [phi:main::@97->textcolor]
// [334] phi textcolor::color#7 = 3 [phi:main::@97->textcolor#0] -- vbuz1=vbuc1
lda #3
sta.z textcolor.color
jsr textcolor
// [161] phi from main::@97 to main::@98 [phi:main::@97->main::@98]
// main::@98
// cputs(high_score)
// [162] call cputs
// [337] phi from main::@98 to cputs [phi:main::@98->cputs]
// [337] phi cputs::s#11 = high_score [phi:main::@98->cputs#0] -- pbuz1=pbuc1
lda #<high_score
sta.z cputs.s
lda #>high_score
sta.z cputs.s+1
jsr cputs
// main::@99
// if (score>hiscore)
// [163] if(score#38<=hiscore#110) goto main::@114 -- vwuz1_le_vwuz2_then_la1
lda.z score+1
cmp.z hiscore_1+1
bne !+
lda.z score
cmp.z hiscore_1
beq __b114
!:
bcc __b114
// [165] phi from main::@114 main::@99 to main::@46 [phi:main::@114/main::@99->main::@46]
// [165] phi hiscore#19 = hiscore#124 [phi:main::@114/main::@99->main::@46#0] -- register_copy
jmp __b46
// main::@114
__b114:
// [164] hiscore#124 = hiscore#110 -- vwuz1=vwuz2
lda.z hiscore_1
sta.z hiscore
lda.z hiscore_1+1
sta.z hiscore+1
// main::@46
__b46:
// utoa(hiscore,buffer,10)
// [166] utoa::value#2 = hiscore#19 -- vwuz1=vwuz2
lda.z hiscore
sta.z utoa.value
lda.z hiscore+1
sta.z utoa.value+1
// [167] call utoa
// [390] phi from main::@46 to utoa [phi:main::@46->utoa]
// [390] phi utoa::value#10 = utoa::value#2 [phi:main::@46->utoa#0] -- register_copy
jsr utoa
// [168] phi from main::@46 to main::@100 [phi:main::@46->main::@100]
// main::@100
// cputs(buffer)
// [169] call cputs
// [337] phi from main::@100 to cputs [phi:main::@100->cputs]
// [337] phi cputs::s#11 = buffer [phi:main::@100->cputs#0] -- pbuz1=pbuc1
lda #<buffer
sta.z cputs.s
lda #>buffer
sta.z cputs.s+1
jsr cputs
// [170] phi from main::@100 to main::@101 [phi:main::@100->main::@101]
// main::@101
// textcolor(1)
// [171] call textcolor
// Cyan
// [334] phi from main::@101 to textcolor [phi:main::@101->textcolor]
// [334] phi textcolor::color#7 = 1 [phi:main::@101->textcolor#0] -- vbuz1=vbuc1
lda #1
sta.z textcolor.color
jsr textcolor
// [172] phi from main::@101 to main::@102 [phi:main::@101->main::@102]
// main::@102
// cputs(play_again)
// [173] call cputs
// [337] phi from main::@102 to cputs [phi:main::@102->cputs]
// [337] phi cputs::s#11 = play_again [phi:main::@102->cputs#0] -- pbuz1=pbuc1
lda #<play_again
sta.z cputs.s
lda #>play_again
sta.z cputs.s+1
jsr cputs
// white
// main::@47
__b47:
// j=PEEK
// [174] j#19 = *((char *) 197) -- vbuz1=_deref_pbuc1
lda.z $c5
sta.z j_3
// while (j!= 11 && j!=28 )
// [175] if(j#19==$b) goto main::@48 -- vbuz1_eq_vbuc1_then_la1
lda #$b
cmp.z j_3
beq __b48
// main::@112
// [176] if(j#19!=$1c) goto main::@47 -- vbuz1_neq_vbuc1_then_la1
lda #$1c
cmp.z j_3
bne __b47
// main::@48
__b48:
// while (j==11)
// [177] if(j#19==$b) goto main::@113 -- vbuz1_eq_vbuc1_then_la1
lda #$b
cmp.z j_3
beq __b113
// main::@49
// asm
// asm { jsr$FD22 }
// N pressed. Exit game
jsr $fd22
// main::@return
// }
// [179] return
rts
// main::@113
__b113:
// [180] hiscore#123 = hiscore#19 -- vwuz1=vwuz2
lda.z hiscore
sta.z hiscore_1
lda.z hiscore+1
sta.z hiscore_1+1
// [26] phi from main::@113 to main::@3 [phi:main::@113->main::@3]
// [26] phi n#109 = n#20 [phi:main::@113->main::@3#0] -- register_copy
// [26] phi hiscore#110 = hiscore#123 [phi:main::@113->main::@3#1] -- register_copy
// [26] phi y#114 = y#18 [phi:main::@113->main::@3#2] -- register_copy
// [26] phi rem8u#127 = rem8u#25 [phi:main::@113->main::@3#3] -- register_copy
jmp __b3
// [181] phi from main::@26 to main::@27 [phi:main::@26->main::@27]
// main::@27
__b27:
// read_chrono()
// [182] call read_chrono
jsr read_chrono
// main::@85
// m=PEEK
// [183] m = *((char *) 37151) -- vbuz1=_deref_pbuc1
// Joystick routine
lda $911f
sta.z m
// POKE
// [184] *((char *) 37154) = $7f -- _deref_pbuc1=vbuc2
lda #$7f
sta $9122
// n=PEEK
// [185] n#14 = *((char *) 37152) -- vbuz1=_deref_pbuc1
lda $9120
sta.z n
// POKE
// [186] *((char *) 37154) = $ff -- _deref_pbuc1=vbuc2
lda #$ff
sta $9122
// 16&m
// [187] main::$78 = $10 & m -- vbuz1=vbuc1_band_vbuz2
lda #$10
and.z m
sta.z __78
// if ((16&m)==0)
// [188] if(main::$78!=0) goto main::@29 -- vbuz1_neq_0_then_la1
bne __b29
// main::@37
// y--;
// [189] y#0 = -- y#18 -- vwuz1=_dec_vwuz1
lda.z y
bne !+
dec.z y+1
!:
dec.z y
// [190] phi from main::@37 main::@85 to main::@29 [phi:main::@37/main::@85->main::@29]
// [190] phi y#10 = y#0 [phi:main::@37/main::@85->main::@29#0] -- register_copy
// main::@29
__b29:
// 128&n
// [191] main::$81 = $80 & n#14 -- vbuz1=vbuc1_band_vbuz2
lda #$80
and.z n
sta.z __81
// if ((128&n)==0)
// [192] if(main::$81!=0) goto main::@30 -- vbuz1_neq_0_then_la1
bne __b30
// main::@38
// y++;
// [193] y#1 = ++ y#10 -- vwuz1=_inc_vwuz1
inc.z y
bne !+
inc.z y+1
!:
// [194] phi from main::@29 main::@38 to main::@30 [phi:main::@29/main::@38->main::@30]
// [194] phi y#11 = y#10 [phi:main::@29/main::@38->main::@30#0] -- register_copy
// main::@30
__b30:
// 4&m
// [195] main::$84 = 4 & m -- vbuz1=vbuc1_band_vbuz2
lda #4
and.z m
sta.z __84
// if ((4&m)==0)
// [196] if(main::$84!=0) goto main::@31 -- vbuz1_neq_0_then_la1
bne __b31
// main::@39
// y=y-22
// [197] y#2 = y#11 - $16 -- vwuz1=vwuz1_minus_vbuc1
sec
lda.z y
sbc #$16
sta.z y
lda.z y+1
sbc #0
sta.z y+1
// [198] phi from main::@30 main::@39 to main::@31 [phi:main::@30/main::@39->main::@31]
// [198] phi y#12 = y#11 [phi:main::@30/main::@39->main::@31#0] -- register_copy
// main::@31
__b31:
// 8&m
// [199] main::$88 = 8 & m -- vbuz1=vbuc1_band_vbuz2
lda #8
and.z m
sta.z __88
// if ((8&m)==0)
// [200] if(main::$88!=0) goto main::@32 -- vbuz1_neq_0_then_la1
bne __b32
// main::@40
// y=y+22
// [201] y#3 = y#12 + $16 -- vwuz1=vwuz1_plus_vbuc1
lda #$16
clc
adc.z y
sta.z y
bcc !+
inc.z y+1
!:
// [202] phi from main::@31 main::@40 to main::@32 [phi:main::@31/main::@40->main::@32]
// [202] phi y#13 = y#12 [phi:main::@31/main::@40->main::@32#0] -- register_copy
// main::@32
__b32:
// 32&m
// [203] main::$92 = $20 & m -- vbuz1=vbuc1_band_vbuz2
lda #$20
and.z m
sta.z __92
// if ((32&m)==0)
// [204] if(main::$92!=0) goto main::@33 -- vbuz1_neq_0_then_la1
bne __b33
// main::@41
// POKE
// [205] *((char *) 36877) = $82 -- _deref_pbuc1=vbuc2
lda #$82
sta $900d
// if (peephole!=duck)
// [206] if(peephole#12!=duck#1) goto main::@34 -- vwuz1_neq_vwuz2_then_la1
lda.z peephole+1
cmp.z duck+1
beq !__b34+
jmp __b34
!__b34:
lda.z peephole
cmp.z duck
beq !__b34+
jmp __b34
!__b34:
// main::@42
// 12-time
// [207] main::$96 = $c - div16u8u::return#2 -- vwuz1=vwuc1_minus_vwuz2
sec
lda #<$c
sbc.z div16u8u.return_1
sta.z __96
lda #>$c
sbc.z div16u8u.return_1+1
sta.z __96+1
// (12-time)*10
// [208] main::$179 = main::$96 << 2 -- vwuz1=vwuz2_rol_2
lda.z __96
asl
sta.z __179
lda.z __96+1
rol
sta.z __179+1
asl.z __179
rol.z __179+1
// [209] main::$180 = main::$179 + main::$96 -- vwuz1=vwuz2_plus_vwuz1
clc
lda.z __180
adc.z __179
sta.z __180
lda.z __180+1
adc.z __179+1
sta.z __180+1
// [210] main::$97 = main::$180 << 1 -- vwuz1=vwuz1_rol_1
asl.z __97
rol.z __97+1
// score=score+(12-time)*10
// [211] score#8 = score#19 + main::$97 -- vwuz1=vwuz1_plus_vwuz2
clc
lda.z score
adc.z __97
sta.z score
lda.z score+1
adc.z __97+1
sta.z score+1
// wait(10)
// [212] call wait
// [381] phi from main::@42 to wait [phi:main::@42->wait]
// [381] phi z#53 = z#100 [phi:main::@42->wait#0] -- register_copy
// [381] phi wait::n#6 = $a [phi:main::@42->wait#1] -- vbuz1=vbuc1
lda #$a
sta.z wait.n
jsr wait
// [213] phi from main::@42 to main::@35 [phi:main::@42->main::@35]
// [213] phi score#81 = score#8 [phi:main::@42->main::@35#0] -- register_copy
// [213] phi time#38 = $a [phi:main::@42->main::@35#1] -- vwuz1=vbuc1
lda #<$a
sta.z time
lda #>$a
sta.z time+1
// main::@35
__b35:
// POKE
// [214] *((char *) 36877) = 0 -- _deref_pbuc1=vbuc2
lda #0
sta $900d
// [215] phi from main::@32 main::@35 to main::@33 [phi:main::@32/main::@35->main::@33]
// [215] phi score#43 = score#19 [phi:main::@32/main::@35->main::@33#0] -- register_copy
// [215] phi time#17 = div16u8u::return#2 [phi:main::@32/main::@35->main::@33#1] -- register_copy
// [215] phi z#48 = z#100 [phi:main::@32/main::@35->main::@33#2] -- register_copy
// main::@33
__b33:
// PEEK
// [216] main::$104 = y#13 + 1 -- vwuz1=vwuz2_plus_1
clc
lda.z y
adc #1
sta.z __104
lda.z y+1
adc #0
sta.z __104+1
// [217] main::$107 = y#13 + $16 -- vwuz1=vwuz2_plus_vbuc1
lda #$16
clc
adc.z y
sta.z __107
lda #0
adc.z y+1
sta.z __107+1
// [218] main::$110 = y#13 + $17 -- vwuz1=vwuz2_plus_vbuc1
lda #$17
clc
adc.z y
sta.z __110
lda #0
adc.z y+1
sta.z __110+1
// if (PEEK(y)!=brick && PEEK(y+1)!=brick && PEEK(y+22)!=brick && PEEK(y+23)!=brick && y>7702 && y<8163)
// [219] if(*((char *)y#13)==brick) goto main::@36 -- _deref_pbuz1_eq_vbuc1_then_la1
lda #brick
ldy #0
cmp (y),y
beq __b36
// main::@111
// [220] if(*((char *)main::$104)==brick) goto main::@36 -- _deref_pbuz1_eq_vbuc1_then_la1
cmp (__104),y
beq __b36
// main::@110
// [221] if(*((char *)main::$107)!=brick) goto main::@109 -- _deref_pbuz1_neq_vbuc1_then_la1
lda (__107),y
cmp #brick
beq !__b109+
jmp __b109
!__b109:
// [222] phi from main::@107 main::@108 main::@109 main::@110 main::@111 to main::@36 [phi:main::@107/main::@108/main::@109/main::@110/main::@111->main::@36]
// [222] phi from main::@33 main::@43 to main::@36 [phi:main::@33/main::@43->main::@36]
// [222] phi y#35 = peephole#12 [phi:main::@33/main::@43->main::@36#0] -- register_copy
// main::@36
__b36:
// POKE
// [223] *((char *)y#35) = $fd -- _deref_pbuz1=vbuc1
lda #$fd
ldy #0
sta (y_1),y
// [224] main::$125 = y#35 + c -- vwuz1=vwuz2_plus_vwuc1
lda.z y_1
clc
adc #<c
sta.z __125
lda.z y_1+1
adc #>c
sta.z __125+1
// [225] *((char *)main::$125) = 1 -- _deref_pbuz1=vbuc1
lda #1
sta (__125),y
// [226] main::$127 = y#35 + 1 -- vwuz1=vwuz2_plus_1
clc
lda.z y_1
adc #1
sta.z __127
lda.z y_1+1
adc #0
sta.z __127+1
// [227] *((char *)main::$127) = $ed -- _deref_pbuz1=vbuc1
lda #$ed
sta (__127),y
// [228] main::$128 = main::$127 + c -- vwuz1=vwuz1_plus_vwuc1
lda.z __128
clc
adc #<c
sta.z __128
lda.z __128+1
adc #>c
sta.z __128+1
// [229] *((char *)main::$128) = 1 -- _deref_pbuz1=vbuc1
lda #1
sta (__128),y
// [230] main::$130 = y#35 + $16 -- vwuz1=vwuz2_plus_vbuc1
lda #$16
clc
adc.z y_1
sta.z __130
tya
adc.z y_1+1
sta.z __130+1
// [231] *((char *)main::$130) = $ee -- _deref_pbuz1=vbuc1
lda #$ee
sta (__130),y
// [232] main::$131 = main::$130 + c -- vwuz1=vwuz1_plus_vwuc1
lda.z __131
clc
adc #<c
sta.z __131
lda.z __131+1
adc #>c
sta.z __131+1
// [233] *((char *)main::$131) = 1 -- _deref_pbuz1=vbuc1
lda #1
sta (__131),y
// [234] main::$133 = y#35 + $17 -- vwuz1=vwuz2_plus_vbuc1
lda #$17
clc
adc.z y_1
sta.z __133
tya
adc.z y_1+1
sta.z __133+1
// [235] *((char *)main::$133) = $f0 -- _deref_pbuz1=vbuc1
lda #$f0
sta (__133),y
// [236] main::$134 = main::$133 + c -- vwuz1=vwuz1_plus_vwuc1
lda.z __134
clc
adc #<c
sta.z __134
lda.z __134+1
adc #>c
sta.z __134+1
// [237] *((char *)main::$134) = 1 -- _deref_pbuz1=vbuc1
lda #1
sta (__134),y
// wait(5)
// [238] call wait
// Clear peephole if there is not bricks contact
// [381] phi from main::@36 to wait [phi:main::@36->wait]
// [381] phi z#53 = z#48 [phi:main::@36->wait#0] -- register_copy
// [381] phi wait::n#6 = 5 [phi:main::@36->wait#1] -- vbuz1=vbuc1
lda #5
sta.z wait.n
jsr wait
// main::@89
// POKE
// [239] *((char *)duck#1) = 0 -- _deref_pbuz1=vbuc1
lda #0
tay
sta (duck),y
// [240] main::$136 = duck#1 + c -- vwuz1=vwuz2_plus_vwuc1
lda.z duck
clc
adc #<c
sta.z __136
lda.z duck+1
adc #>c
sta.z __136+1
// [241] *((char *)main::$136) = 7 -- _deref_pbuz1=vbuc1
lda #7
sta (__136),y
// [242] main::$138 = duck#1 + 1 -- vwuz1=vwuz2_plus_1
clc
lda.z duck
adc #1
sta.z __138
lda.z duck+1
adc #0
sta.z __138+1
// [243] *((char *)main::$138) = 1 -- _deref_pbuz1=vbuc1
lda #1
sta (__138),y
// [244] main::$139 = main::$138 + c -- vwuz1=vwuz1_plus_vwuc1
lda.z __139
clc
adc #<c
sta.z __139
lda.z __139+1
adc #>c
sta.z __139+1
// [245] *((char *)main::$139) = 7 -- _deref_pbuz1=vbuc1
lda #7
sta (__139),y
// [246] main::$141 = duck#1 + $16 -- vwuz1=vwuz2_plus_vbuc1
lda #$16
clc
adc.z duck
sta.z __141
tya
adc.z duck+1
sta.z __141+1
// [247] *((char *)main::$141) = 2 -- _deref_pbuz1=vbuc1
lda #2
sta (__141),y
// [248] main::$142 = main::$141 + c -- vwuz1=vwuz1_plus_vwuc1
lda.z __142
clc
adc #<c
sta.z __142
lda.z __142+1
adc #>c
sta.z __142+1
// [249] *((char *)main::$142) = 7 -- _deref_pbuz1=vbuc1
lda #7
sta (__142),y
// [250] main::$144 = duck#1 + $17 -- vwuz1=vwuz2_plus_vbuc1
lda #$17
clc
adc.z duck
sta.z __144
tya
adc.z duck+1
sta.z __144+1
// [251] *((char *)main::$144) = 3 -- _deref_pbuz1=vbuc1
lda #3
sta (__144),y
// [252] main::$145 = main::$144 + c -- vwuz1=vwuz1_plus_vwuc1
lda.z __145
clc
adc #<c
sta.z __145
lda.z __145+1
adc #>c
sta.z __145+1
// [253] *((char *)main::$145) = 7 -- _deref_pbuz1=vbuc1
lda #7
sta (__145),y
// wait(5)
// [254] call wait
// [381] phi from main::@89 to wait [phi:main::@89->wait]
// [381] phi z#53 = z#25 [phi:main::@89->wait#0] -- register_copy
// [381] phi wait::n#6 = 5 [phi:main::@89->wait#1] -- vbuz1=vbuc1
lda #5
sta.z wait.n
jsr wait
// main::@90
// [255] y#130 = y#35 -- vwuz1=vwuz2
lda.z y_1
sta.z y
lda.z y_1+1
sta.z y+1
// [124] phi from main::@90 to main::@26 [phi:main::@90->main::@26]
// [124] phi n#20 = n#14 [phi:main::@90->main::@26#0] -- register_copy
// [124] phi peephole#12 = y#35 [phi:main::@90->main::@26#1] -- register_copy
// [124] phi z#100 = z#25 [phi:main::@90->main::@26#2] -- register_copy
// [124] phi y#18 = y#130 [phi:main::@90->main::@26#3] -- register_copy
// [124] phi rem8u#25 = divr8u::rem#11 [phi:main::@90->main::@26#4] -- register_copy
// [124] phi score#19 = score#43 [phi:main::@90->main::@26#5] -- register_copy
// [124] phi time#11 = time#17 [phi:main::@90->main::@26#6] -- register_copy
jmp __b26
// main::@109
__b109:
// if (PEEK(y)!=brick && PEEK(y+1)!=brick && PEEK(y+22)!=brick && PEEK(y+23)!=brick && y>7702 && y<8163)
// [256] if(*((char *)main::$110)==brick) goto main::@36 -- _deref_pbuz1_eq_vbuc1_then_la1
lda #brick
ldy #0
cmp (__110),y
bne !__b36+
jmp __b36
!__b36:
// main::@108
// [257] if(y#13>$1e16) goto main::@107 -- vwuz1_gt_vwuc1_then_la1
lda #>$1e16
cmp.z y+1
bcc __b107
bne !+
lda #<$1e16
cmp.z y
bcc __b107
!:
jmp __b36
// main::@107
__b107:
// [258] if(y#13>=$1fe3) goto main::@36 -- vwuz1_ge_vwuc1_then_la1
lda.z y+1
cmp #>$1fe3
bcc !+
beq !__b36+
jmp __b36
!__b36:
lda.z y
cmp #<$1fe3
bcc !__b36+
jmp __b36
!__b36:
!:
// main::@43
// POKE
// [259] main::$119 = peephole#12 + c -- vwuz1=vwuz2_plus_vwuc1
lda.z peephole
clc
adc #<c
sta.z __119
lda.z peephole+1
adc #>c
sta.z __119+1
// [260] *((char *)main::$119) = 0 -- _deref_pbuz1=vbuc1
lda #0
tay
sta (__119),y
// [261] main::$120 = main::$119 + 1 -- vwuz1=vwuz2_plus_1
clc
lda.z __119
adc #1
sta.z __120
lda.z __119+1
adc #0
sta.z __120+1
// [262] *((char *)main::$120) = 0 -- _deref_pbuz1=vbuc1
tya
sta (__120),y
// [263] main::$122 = main::$119 + $16 -- vwuz1=vwuz2_plus_vbuc1
lda #$16
clc
adc.z __119
sta.z __122
tya
adc.z __119+1
sta.z __122+1
// [264] *((char *)main::$122) = 0 -- _deref_pbuz1=vbuc1
tya
sta (__122),y
// [265] main::$124 = main::$119 + $17 -- vwuz1=vwuz1_plus_vbuc1
lda #$17
clc
adc.z __124
sta.z __124
bcc !+
inc.z __124+1
!:
// [266] *((char *)main::$124) = 0 -- _deref_pbuz1=vbuc1
lda #0
tay
sta (__124),y
// [267] y#141 = y#13 -- vwuz1=vwuz2
lda.z y
sta.z y_1
lda.z y+1
sta.z y_1+1
jmp __b36
// main::@34
__b34:
// score=score-10
// [268] score#6 = score#19 - $a -- vwuz1=vwuz1_minus_vbuc1
sec
lda.z score
sbc #$a
sta.z score
lda.z score+1
sbc #0
sta.z score+1
// write_score()
// [269] call write_score
// [351] phi from main::@34 to write_score [phi:main::@34->write_score]
// [351] phi score#13 = score#6 [phi:main::@34->write_score#0] -- register_copy
jsr write_score
// [270] phi from main::@34 to main::@88 [phi:main::@34->main::@88]
// main::@88
// wait(10)
// [271] call wait
// [381] phi from main::@88 to wait [phi:main::@88->wait]
// [381] phi z#53 = z#100 [phi:main::@88->wait#0] -- register_copy
// [381] phi wait::n#6 = $a [phi:main::@88->wait#1] -- vbuz1=vbuc1
lda #$a
sta.z wait.n
jsr wait
// [213] phi from main::@88 to main::@35 [phi:main::@88->main::@35]
// [213] phi score#81 = score#38 [phi:main::@88->main::@35#0] -- register_copy
// [213] phi time#38 = div16u8u::return#2 [phi:main::@88->main::@35#1] -- register_copy
jmp __b35
// main::@23
__b23:
// 48+tu
// [272] main::$57 = $30 + tu#13 -- vwuz1=vbuc1_plus_vwuz2
lda #$30
clc
adc.z tu
sta.z __57
lda #0
adc.z tu+1
sta.z __57+1
// chrout(48+tu)
// [273] chrout::petscii = main::$57 -- vbuz1=vwuz2
lda.z __57
sta.z chrout.petscii
// [274] call chrout
jsr chrout
jmp __b11
// main::@21
__b21:
// chrout(ducknumber[j])
// [275] chrout::petscii = ducknumber[j#16] -- vbuz1=pbuc1_derefidx_vbuz2
ldy.z j_2
lda ducknumber,y
sta.z chrout.petscii
// [276] call chrout
jsr chrout
// main::@78
// for (j=0; j<5; j++)
// [277] j#5 = ++ j#16 -- vbuz1=_inc_vbuz1
inc.z j_2
// [93] phi from main::@78 to main::@20 [phi:main::@78->main::@20]
// [93] phi j#16 = j#5 [phi:main::@78->main::@20#0] -- register_copy
jmp __b20
// main::@18
__b18:
// chrout(chrono[j])
// [278] chrout::petscii = chrono[j#13] -- vbuz1=pbuc1_derefidx_vbuz2
ldy.z j_1
lda chrono,y
sta.z chrout.petscii
// [279] call chrout
jsr chrout
// main::@74
// for (j=0; j<4; ++j)
// [280] j#3 = ++ j#13 -- vbuz1=_inc_vbuz1
inc.z j_1
// [84] phi from main::@74 to main::@17 [phi:main::@74->main::@17]
// [84] phi j#13 = j#3 [phi:main::@74->main::@17#0] -- register_copy
jmp __b17
// [281] phi from main::@71 to main::@14 [phi:main::@71->main::@14]
__b24:
// [281] phi j#11 = 1 [phi:main::@71->main::@14#0] -- vbuz1=vbuc1
lda #1
sta.z j
// main::@14
__b14:
// for (j=1; j<=m; ++j)
// [282] if(j#11<=m) goto main::@15 -- vbuz1_le_vbuz2_then_la1
lda.z m
cmp.z j
bcs __b15
// main::@16
// chrout(brick)
// [283] chrout::petscii = brick -- vbuz1=vbuc1
lda #brick
sta.z chrout.petscii
// [284] call chrout
jsr chrout
// main::@73
// z+m
// [285] main::$35 = z#28 + m -- vwuz1=vwuz2_plus_vbuz3
lda.z m
clc
adc.z z_1
sta.z __35
lda #0
adc.z z_1+1
sta.z __35+1
// z=z+m+1
// [286] z#9 = main::$35 + 1 -- vwuz1=vwuz2_plus_1
clc
lda.z __35
adc #1
sta.z z_1
lda.z __35+1
adc #0
sta.z z_1+1
// while (z<506)
// [287] if(z#9<$1fa) goto main::@13 -- vwuz1_lt_vwuc1_then_la1
cmp #>$1fa
bcs !__b13+
jmp __b13
!__b13:
bne !+
lda.z z_1
cmp #<$1fa
bcs !__b13+
jmp __b13
!__b13:
!:
jmp __b12
// main::@15
__b15:
// chrout(right)
// [288] chrout::petscii = right -- vbuz1=vbuc1
lda #right
sta.z chrout.petscii
// [289] call chrout
jsr chrout
// main::@72
// for (j=1; j<=m; ++j)
// [290] j#2 = ++ j#11 -- vbuz1=_inc_vbuz1
inc.z j
// [281] phi from main::@72 to main::@14 [phi:main::@72->main::@14]
// [281] phi j#11 = j#2 [phi:main::@72->main::@14#0] -- register_copy
jmp __b14
// main::@7
__b7:
// chrout(brick)
// [291] chrout::petscii = brick -- vbuz1=vbuc1
lda #brick
sta.z chrout.petscii
// [292] call chrout
jsr chrout
// [293] phi from main::@7 to main::@9 [phi:main::@7->main::@9]
// [293] phi n#101 = 2 [phi:main::@7->main::@9#0] -- vbuz1=vbuc1
lda #2
sta.z n
// main::@9
__b9:
// for(n=2;n<22;++n)
// [294] if(n#101<$16) goto main::@10 -- vbuz1_lt_vbuc1_then_la1
lda.z n
cmp #$16
bcc __b10
// main::@11
// chrout(brick)
// [295] chrout::petscii = brick -- vbuz1=vbuc1
lda #brick
sta.z chrout.petscii
// [296] call chrout
jsr chrout
// main::@64
// for (k=1;k<22;k++)
// [297] k#1 = ++ k#101 -- vbuz1=_inc_vbuz1
inc.z k
// [52] phi from main::@64 to main::@6 [phi:main::@64->main::@6]
// [52] phi n#89 = n#101 [phi:main::@64->main::@6#0] -- register_copy
// [52] phi k#101 = k#1 [phi:main::@64->main::@6#1] -- register_copy
jmp __b6
// main::@10
__b10:
// chrout(right)
// [298] chrout::petscii = right -- vbuz1=vbuc1
lda #right
sta.z chrout.petscii
// [299] call chrout
jsr chrout
// main::@63
// for(n=2;n<22;++n)
// [300] n#1 = ++ n#101 -- vbuz1=_inc_vbuz1
inc.z n
// [293] phi from main::@63 to main::@9 [phi:main::@63->main::@9]
// [293] phi n#101 = n#1 [phi:main::@63->main::@9#0] -- register_copy
jmp __b9
// main::@2
__b2:
// POKE
// [301] main::$3 = $1c00 + m -- vwuz1=vwuc1_plus_vbuz2
lda.z m
clc
adc #<$1c00
sta.z __3
lda #>$1c00
adc #0
sta.z __3+1
// [302] *((char *)main::$3) = duck_udg[m] -- _deref_pbuz1=pbuc1_derefidx_vbuz2
ldy.z m
lda duck_udg,y
ldy #0
sta (__3),y
// for (m=0; m<40; m++)
// [303] m = ++ m -- vbuz1=_inc_vbuz1
inc.z m
jmp __b1
}
// gotoxy
// Set the cursor to the specified position
// void gotoxy(char x, __zp($4c) char y)
gotoxy: {
.label __5 = $48
.label __6 = $2c
.label __7 = $2c
.label line_offset = $2c
.label y = $4c
.label __8 = $46
.label __9 = $2c
// if(y>CONIO_HEIGHT)
// [305] if(gotoxy::y#4<$19+1) goto gotoxy::@3 -- vbuz1_lt_vbuc1_then_la1
lda.z y
cmp #$19+1
bcc __b2
// [307] phi from gotoxy to gotoxy::@1 [phi:gotoxy->gotoxy::@1]
// [307] phi gotoxy::y#5 = 0 [phi:gotoxy->gotoxy::@1#0] -- vbuz1=vbuc1
lda #0
sta.z y
// [306] phi from gotoxy to gotoxy::@3 [phi:gotoxy->gotoxy::@3]
// gotoxy::@3
// [307] phi from gotoxy::@3 to gotoxy::@1 [phi:gotoxy::@3->gotoxy::@1]
// [307] phi gotoxy::y#5 = gotoxy::y#4 [phi:gotoxy::@3->gotoxy::@1#0] -- register_copy
// gotoxy::@1
// gotoxy::@2
__b2:
// conio_cursor_x = x
// [308] conio_cursor_x = 0 -- vbuz1=vbuc1
lda #0
sta.z conio_cursor_x
// conio_cursor_y = y
// [309] conio_cursor_y = gotoxy::y#5 -- vbuz1=vbuz2
lda.z y
sta.z conio_cursor_y
// unsigned int line_offset = (unsigned int)y*CONIO_WIDTH
// [310] gotoxy::$7 = (unsigned int)gotoxy::y#5 -- vwuz1=_word_vbuz2
lda.z y
sta.z __7
lda #0
sta.z __7+1
// [311] gotoxy::$8 = gotoxy::$7 << 2 -- vwuz1=vwuz2_rol_2
lda.z __7
asl
sta.z __8
lda.z __7+1
rol
sta.z __8+1
asl.z __8
rol.z __8+1
// [312] gotoxy::$9 = gotoxy::$8 + gotoxy::$7 -- vwuz1=vwuz2_plus_vwuz1
clc
lda.z __9
adc.z __8
sta.z __9
lda.z __9+1
adc.z __8+1
sta.z __9+1
// [313] gotoxy::line_offset#0 = gotoxy::$9 << 3 -- vwuz1=vwuz1_rol_3
asl.z line_offset
rol.z line_offset+1
asl.z line_offset
rol.z line_offset+1
asl.z line_offset
rol.z line_offset+1
// CONIO_SCREEN_TEXT + line_offset
// [314] gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0 -- pbuz1=pbuc1_plus_vwuz2
lda.z line_offset
clc
adc #<DEFAULT_SCREEN
sta.z __5
lda.z line_offset+1
adc #>DEFAULT_SCREEN
sta.z __5+1
// conio_line_text = CONIO_SCREEN_TEXT + line_offset
// [315] conio_line_text = gotoxy::$5 -- pbuz1=pbuz2
lda.z __5
sta.z conio_line_text
lda.z __5+1
sta.z conio_line_text+1
// CONIO_SCREEN_COLORS + line_offset
// [316] gotoxy::$6 = COLORRAM + gotoxy::line_offset#0 -- pbuz1=pbuc1_plus_vwuz1
lda.z __6
clc
adc #<COLORRAM
sta.z __6
lda.z __6+1
adc #>COLORRAM
sta.z __6+1
// conio_line_color = CONIO_SCREEN_COLORS + line_offset
// [317] conio_line_color = gotoxy::$6 -- pbuz1=pbuz2
lda.z __6
sta.z conio_line_color
lda.z __6+1
sta.z conio_line_color+1
// gotoxy::@return
// }
// [318] return
rts
}
// chrout
// void chrout(__zp($18) volatile char petscii)
chrout: {
.label petscii = $18
// asm
// asm { ldapetscii jsr$ffd2 }
lda petscii
jsr $ffd2
// chrout::@return
// }
// [320] return
rts
}
// clear_screen
// void clear_screen(__zp(8) char n, char m)
clear_screen: {
.label __4 = $23
.label __5 = 9
.label n = 8
// [322] phi from clear_screen to clear_screen::@1 [phi:clear_screen->clear_screen::@1]
// [322] phi z#2 = 0 [phi:clear_screen->clear_screen::@1#0] -- vwuz1=vbuc1
lda #<0
sta.z z
sta.z z+1
// clear_screen::@1
__b1:
// for (z=0; z<506; ++z)
// [323] if(z#2<$1fa) goto clear_screen::@2 -- vwuz1_lt_vwuc1_then_la1
lda.z z+1
cmp #>$1fa
bcc __b2
bne !+
lda.z z
cmp #<$1fa
bcc __b2
!:
// [324] phi from clear_screen::@1 to clear_screen::@3 [phi:clear_screen::@1->clear_screen::@3]
// clear_screen::@3
// gotoxy(0,0)
// [325] call gotoxy
// From 0-->505 (506 bytes). ClearScreen with byte 'n' with color 'm'
// [304] phi from clear_screen::@3 to gotoxy [phi:clear_screen::@3->gotoxy]
// [304] phi gotoxy::y#4 = 0 [phi:clear_screen::@3->gotoxy#0] -- vbuz1=vbuc1
lda #0
sta.z gotoxy.y
jsr gotoxy
// clear_screen::@4
// chrout(home)
// [326] chrout::petscii = home -- vbuz1=vbuc1
lda #home
sta.z chrout.petscii
// [327] call chrout
jsr chrout
// clear_screen::@return
// }
// [328] return
rts
// clear_screen::@2
__b2:
// POKE
// [329] clear_screen::$5 = $1e00 + z#2 -- vwuz1=vwuc1_plus_vwuz2
lda.z z
clc
adc #<$1e00
sta.z __5
lda.z z+1
adc #>$1e00
sta.z __5+1
// [330] clear_screen::$4 = clear_screen::$5 + c -- vwuz1=vwuz2_plus_vwuc1
lda.z __5
clc
adc #<c
sta.z __4
lda.z __5+1
adc #>c
sta.z __4+1
// [331] *((char *)clear_screen::$4) = 0 -- _deref_pbuz1=vbuc1
lda #0
tay
sta (__4),y
// [332] *((char *)clear_screen::$5) = clear_screen::n#5 -- _deref_pbuz1=vbuz2
lda.z n
sta (__5),y
// for (z=0; z<506; ++z)
// [333] z#1 = ++ z#2 -- vwuz1=_inc_vwuz1
inc.z z
bne !+
inc.z z+1
!:
// [322] phi from clear_screen::@2 to clear_screen::@1 [phi:clear_screen::@2->clear_screen::@1]
// [322] phi z#2 = z#1 [phi:clear_screen::@2->clear_screen::@1#0] -- register_copy
jmp __b1
}
// textcolor
// Set the color for text output. The old color setting is returned.
// char textcolor(__zp(8) char color)
textcolor: {
.label color = 8
// conio_textcolor = color
// [335] conio_textcolor = textcolor::color#7 -- vbuz1=vbuz2
lda.z color
sta.z conio_textcolor
// textcolor::@return
// }
// [336] return
rts
}
// cputs
// Output a NUL-terminated string at the current cursor position
// void cputs(__zp(5) const char *s)
cputs: {
.label c = 2
.label s = 5
// [338] phi from cputs cputs::@2 to cputs::@1 [phi:cputs/cputs::@2->cputs::@1]
// [338] phi cputs::s#10 = cputs::s#11 [phi:cputs/cputs::@2->cputs::@1#0] -- register_copy
// cputs::@1
__b1:
// while(c=*s++)
// [339] cputs::c#1 = *cputs::s#10 -- vbuz1=_deref_pbuz2
ldy #0
lda (s),y
sta.z c
// [340] cputs::s#0 = ++ cputs::s#10 -- pbuz1=_inc_pbuz1
inc.z s
bne !+
inc.z s+1
!:
// [341] if(0!=cputs::c#1) goto cputs::@2 -- 0_neq_vbuz1_then_la1
lda.z c
bne __b2
// cputs::@return
// }
// [342] return
rts
// cputs::@2
__b2:
// cputc(c)
// [343] cputc::c#0 = cputs::c#1
// [344] call cputc
jsr cputc
jmp __b1
}
// random
// Return to home position
// void random(__zp(3) char k, __zp(8) char n)
random: {
.label k = 3
.label n = 8
.label __3 = 2
// random::@1
__b1:
// m=PEEK
// [346] m = *((char *) 37140) -- vbuz1=_deref_pbuc1
lda $9114
sta.z m
// m>n
// [347] random::$3 = m -- vbuz1=vbuz2
sta.z __3
// while (m<k || m>n)
// [348] if(m<random::k#4) goto random::@1 -- vbuz1_lt_vbuz2_then_la1
lda.z m
cmp.z k
bcc __b1
// random::@2
// [349] if(random::$3>random::n#4) goto random::@1 -- vbuz1_gt_vbuz2_then_la1
lda.z n
cmp.z __3
bcc __b1
// random::@return
// }
// [350] return
rts
}
// write_score
write_score: {
// if (score>65000)
// [352] if(score#13<=$fde8) goto write_score::@15 -- vwuz1_le_vwuc1_then_la1
lda.z score+1
cmp #>$fde8
bne !+
lda.z score
cmp #<$fde8
!:
bcc __b1
beq __b1
// [354] phi from write_score to write_score::@1 [phi:write_score->write_score::@1]
// [354] phi score#38 = 0 [phi:write_score->write_score::@1#0] -- vwuz1=vbuc1
lda #<0
sta.z score
sta.z score+1
// [353] phi from write_score to write_score::@15 [phi:write_score->write_score::@15]
// write_score::@15
// [354] phi from write_score::@15 to write_score::@1 [phi:write_score::@15->write_score::@1]
// [354] phi score#38 = score#13 [phi:write_score::@15->write_score::@1#0] -- register_copy
// write_score::@1
__b1:
// m=0
// [355] m = 0 -- vbuz1=vbuc1
lda #0
sta.z m
// write_score::@5
__b5:
// for (m=0;m<4;m++)
// [356] if(m<4) goto write_score::@6 -- vbuz1_lt_vbuc1_then_la1
lda.z m
cmp #4
bcc __b6
// write_score::@7
// utoa(score,buffer,10)
// [357] utoa::value#1 = score#38 -- vwuz1=vwuz2
lda.z score
sta.z utoa.value
lda.z score+1
sta.z utoa.value+1
// [358] call utoa
// (!!) Needed. Possibly a bug
// [390] phi from write_score::@7 to utoa [phi:write_score::@7->utoa]
// [390] phi utoa::value#10 = utoa::value#1 [phi:write_score::@7->utoa#0] -- register_copy
jsr utoa
// write_score::@11
// if (score>9)
// [359] if(score#38<9+1) goto write_score::@2 -- vwuz1_lt_vbuc1_then_la1
lda.z score+1
bne !+
lda.z score
cmp #9+1
bcc __b2
!:
// write_score::@8
// points[2]=buffer[0]
// [360] *(points+2) = *buffer -- _deref_pbuc1=_deref_pbuc2
lda buffer
sta points+2
// points[3]=buffer[1]
// [361] *(points+3) = *(buffer+1) -- _deref_pbuc1=_deref_pbuc2
lda buffer+1
sta points+3
// write_score::@2
__b2:
// if (score>99)
// [362] if(score#38<$63+1) goto write_score::@3 -- vwuz1_lt_vbuc1_then_la1
lda.z score+1
bne !+
lda.z score
cmp #$63+1
bcc __b3
!:
// write_score::@4
// points[1]=buffer[0]
// [363] *(points+1) = *buffer -- _deref_pbuc1=_deref_pbuc2
lda buffer
sta points+1
// points[2]=buffer[1]
// [364] *(points+2) = *(buffer+1) -- _deref_pbuc1=_deref_pbuc2
lda buffer+1
sta points+2
// points[3]=buffer[2]
// [365] *(points+3) = *(buffer+2) -- _deref_pbuc1=_deref_pbuc2
lda buffer+2
sta points+3
// write_score::@3
__b3:
// chrout(yellow)
// [366] chrout::petscii = yellow -- vbuz1=vbuc1
lda #yellow
sta.z chrout.petscii
// [367] call chrout
jsr chrout
// write_score::@12
// chrout(home)
// [368] chrout::petscii = home -- vbuz1=vbuc1
lda #home
sta.z chrout.petscii
// [369] call chrout
jsr chrout
// write_score::@13
// POKE
// [370] *((char *) 211) = 4 -- _deref_pbuc1=vbuc2
lda #4
sta.z $d3
// m=0
// [371] m = 0 -- vbuz1=vbuc1
lda #0
sta.z m
// write_score::@9
__b9:
// for (m=0;m<4;m++)
// [372] if(m<4) goto write_score::@10 -- vbuz1_lt_vbuc1_then_la1
lda.z m
cmp #4
bcc __b10
// write_score::@return
// }
// [373] return
rts
// write_score::@10
__b10:
// chrout(points[m])
// [374] chrout::petscii = points[m] -- vbuz1=pbuc1_derefidx_vbuz2
ldy.z m
lda points,y
sta.z chrout.petscii
// [375] call chrout
jsr chrout
// write_score::@14
// for (m=0;m<4;m++)
// [376] m = ++ m -- vbuz1=_inc_vbuz1
inc.z m
jmp __b9
// write_score::@6
__b6:
// points[m]='0'
// [377] points[m] = '0' -- pbuc1_derefidx_vbuz1=vbuc2
lda #'0'
ldy.z m
sta points,y
// for (m=0;m<4;m++)
// [378] m = ++ m -- vbuz1=_inc_vbuz1
inc.z m
jmp __b5
}
// chrono_restart
chrono_restart: {
// asm
// asm { lda#0 ldy#0 ldx#0 jsr$ffdb }
lda #0
tay
tax
jsr $ffdb
// chrono_restart::@return
// }
// [380] return
rts
}
// wait
// void wait(__zp(3) char n)
wait: {
.label n = 3
// m=0
// [382] m = 0 -- vbuz1=vbuc1
lda #0
sta.z m
// [383] phi from wait wait::@4 to wait::@1 [phi:wait/wait::@4->wait::@1]
// [383] phi z#25 = z#53 [phi:wait/wait::@4->wait::@1#0] -- register_copy
// wait::@1
__b1:
// for (m=0;m<n;++m)
// [384] if(m<wait::n#6) goto wait::@2 -- vbuz1_lt_vbuz2_then_la1
lda.z m
cmp.z n
bcc __b4
// wait::@return
// }
// [385] return
rts
// [386] phi from wait::@1 to wait::@2 [phi:wait::@1->wait::@2]
__b4:
// [386] phi z#23 = 0 [phi:wait::@1->wait::@2#0] -- vwuz1=vbuc1
lda #<0
sta.z z_1
sta.z z_1+1
// wait::@2
__b2:
// for (z=0;z<540;++z)
// [387] if(z#23<$21c) goto wait::@3 -- vwuz1_lt_vwuc1_then_la1
lda.z z_1+1
cmp #>$21c
bcc __b3
bne !+
lda.z z_1
cmp #<$21c
bcc __b3
!:
// wait::@4
// for (m=0;m<n;++m)
// [388] m = ++ m -- vbuz1=_inc_vbuz1
inc.z m
jmp __b1
// wait::@3
__b3:
// for (z=0;z<540;++z)
// [389] z#4 = ++ z#23 -- vwuz1=_inc_vwuz1
inc.z z_1
bne !+
inc.z z_1+1
!:
// [386] phi from wait::@3 to wait::@2 [phi:wait::@3->wait::@2]
// [386] phi z#23 = z#4 [phi:wait::@3->wait::@2#0] -- register_copy
jmp __b2
}
// utoa
// Converts unsigned number value to a string representing it in RADIX format.
// If the leading digits are zero they are not included in the string.
// - value : The number to be converted to RADIX
// - buffer : receives the string representing the number and zero-termination.
// - radix : The radix to convert the number to (from the enum RADIX)
// void utoa(__zp(5) unsigned int value, __zp($d) char *buffer, char radix)
utoa: {
.label __10 = $11
.label __11 = 2
.label digit_value = 9
.label buffer = $d
.label digit = 3
.label value = 5
.label started = $10
// [391] phi from utoa to utoa::@1 [phi:utoa->utoa::@1]
// [391] phi utoa::buffer#10 = buffer [phi:utoa->utoa::@1#0] -- pbuz1=pbuc1
lda #<@buffer
sta.z buffer
lda #>@buffer
sta.z buffer+1
// [391] phi utoa::started#2 = 0 [phi:utoa->utoa::@1#1] -- vbuz1=vbuc1
lda #0
sta.z started
// [391] phi utoa::value#3 = utoa::value#10 [phi:utoa->utoa::@1#2] -- register_copy
// [391] phi utoa::digit#2 = 0 [phi:utoa->utoa::@1#3] -- vbuz1=vbuc1
sta.z digit
// utoa::@1
__b1:
// for( char digit=0; digit<max_digits-1; digit++ )
// [392] if(utoa::digit#2<5-1) goto utoa::@2 -- vbuz1_lt_vbuc1_then_la1
lda.z digit
cmp #5-1
bcc __b2
// utoa::@3
// *buffer++ = DIGITS[(char)value]
// [393] utoa::$11 = (char)utoa::value#3 -- vbuz1=_byte_vwuz2
lda.z value
sta.z __11
// [394] *utoa::buffer#10 = DIGITS[utoa::$11] -- _deref_pbuz1=pbuc1_derefidx_vbuz2
tay
lda DIGITS,y
ldy #0
sta (buffer),y
// *buffer++ = DIGITS[(char)value];
// [395] utoa::buffer#3 = ++ utoa::buffer#10 -- pbuz1=_inc_pbuz1
inc.z buffer
bne !+
inc.z buffer+1
!:
// *buffer = 0
// [396] *utoa::buffer#3 = 0 -- _deref_pbuz1=vbuc1
lda #0
tay
sta (buffer),y
// utoa::@return
// }
// [397] return
rts
// utoa::@2
__b2:
// unsigned int digit_value = digit_values[digit]
// [398] utoa::$10 = utoa::digit#2 << 1 -- vbuz1=vbuz2_rol_1
lda.z digit
asl
sta.z __10
// [399] utoa::digit_value#0 = RADIX_DECIMAL_VALUES[utoa::$10] -- vwuz1=pwuc1_derefidx_vbuz2
tay
lda RADIX_DECIMAL_VALUES,y
sta.z digit_value
lda RADIX_DECIMAL_VALUES+1,y
sta.z digit_value+1
// if (started || value >= digit_value)
// [400] if(0!=utoa::started#2) goto utoa::@5 -- 0_neq_vbuz1_then_la1
lda.z started
bne __b5
// utoa::@7
// [401] if(utoa::value#3>=utoa::digit_value#0) goto utoa::@5 -- vwuz1_ge_vwuz2_then_la1
lda.z digit_value+1
cmp.z value+1
bne !+
lda.z digit_value
cmp.z value
beq __b5
!:
bcc __b5
// [402] phi from utoa::@7 to utoa::@4 [phi:utoa::@7->utoa::@4]
// [402] phi utoa::buffer#15 = utoa::buffer#10 [phi:utoa::@7->utoa::@4#0] -- register_copy
// [402] phi utoa::started#4 = utoa::started#2 [phi:utoa::@7->utoa::@4#1] -- register_copy
// [402] phi utoa::value#7 = utoa::value#3 [phi:utoa::@7->utoa::@4#2] -- register_copy
// utoa::@4
__b4:
// for( char digit=0; digit<max_digits-1; digit++ )
// [403] utoa::digit#1 = ++ utoa::digit#2 -- vbuz1=_inc_vbuz1
inc.z digit
// [391] phi from utoa::@4 to utoa::@1 [phi:utoa::@4->utoa::@1]
// [391] phi utoa::buffer#10 = utoa::buffer#15 [phi:utoa::@4->utoa::@1#0] -- register_copy
// [391] phi utoa::started#2 = utoa::started#4 [phi:utoa::@4->utoa::@1#1] -- register_copy
// [391] phi utoa::value#3 = utoa::value#7 [phi:utoa::@4->utoa::@1#2] -- register_copy
// [391] phi utoa::digit#2 = utoa::digit#1 [phi:utoa::@4->utoa::@1#3] -- register_copy
jmp __b1
// utoa::@5
__b5:
// utoa_append(buffer++, value, digit_value)
// [404] utoa_append::buffer#0 = utoa::buffer#10
// [405] utoa_append::value#0 = utoa::value#3
// [406] utoa_append::sub#0 = utoa::digit_value#0
// [407] call utoa_append
// [432] phi from utoa::@5 to utoa_append [phi:utoa::@5->utoa_append]
jsr utoa_append
// utoa_append(buffer++, value, digit_value)
// [408] utoa_append::return#0 = utoa_append::value#2
// utoa::@6
// value = utoa_append(buffer++, value, digit_value)
// [409] utoa::value#0 = utoa_append::return#0
// value = utoa_append(buffer++, value, digit_value);
// [410] utoa::buffer#4 = ++ utoa::buffer#10 -- pbuz1=_inc_pbuz1
inc.z buffer
bne !+
inc.z buffer+1
!:
// [402] phi from utoa::@6 to utoa::@4 [phi:utoa::@6->utoa::@4]
// [402] phi utoa::buffer#15 = utoa::buffer#4 [phi:utoa::@6->utoa::@4#0] -- register_copy
// [402] phi utoa::started#4 = 1 [phi:utoa::@6->utoa::@4#1] -- vbuz1=vbuc1
lda #1
sta.z started
// [402] phi utoa::value#7 = utoa::value#0 [phi:utoa::@6->utoa::@4#2] -- register_copy
jmp __b4
}
// read_chrono
read_chrono: {
.label __0 = $23
.label __5 = 9
// asm
// asm { jsr$ffde stal stxm }
jsr $ffde
sta l
stx m
// m*256
// [412] read_chrono::$0 = m << 8 -- vwuz1=vbuz2_rol_8
txa
sta.z __0+1
lda #0
sta.z __0
// div16u8u((m*256)+l,60)
// [413] div16u8u::dividend#0 = read_chrono::$0 + l -- vwuz1=vwuz1_plus_vbuz2
lda.z l
clc
adc.z div16u8u.dividend
sta.z div16u8u.dividend
bcc !+
inc.z div16u8u.dividend+1
!:
// [414] call div16u8u
jsr div16u8u
// [415] div16u8u::return#2 = div16u8u::return#0 -- vwuz1=vwuz2
lda.z div16u8u.return
sta.z div16u8u.return_1
lda.z div16u8u.return+1
sta.z div16u8u.return_1+1
// read_chrono::@2
// POKE
// [416] *((char *)$1e15+c) = 7 -- _deref_pbuc1=vbuc2
lda #7
sta $1e15+c
// [417] *((char *) 7701) = $b9 -- _deref_pbuc1=vbuc2
lda #$b9
sta $1e15
// if (time<10)
// [418] if(div16u8u::return#2>=$a) goto read_chrono::@return -- vwuz1_ge_vbuc1_then_la1
lda.z div16u8u.return_1+1
bne __breturn
lda.z div16u8u.return_1
cmp #$a
bcs __breturn
!:
// read_chrono::@1
// POKE
// [419] read_chrono::$5 = $b9 - div16u8u::return#2 -- vwuz1=vwuc1_minus_vwuz2
sec
lda #<$b9
sbc.z div16u8u.return_1
sta.z __5
lda #>$b9
sbc.z div16u8u.return_1+1
sta.z __5+1
// [420] *((char *) 7701) = read_chrono::$5 -- _deref_pbuc1=vwuz1
lda.z __5
sta $1e15
// read_chrono::@return
__breturn:
// }
// [421] return
rts
}
// cputc
// Output one character at the current cursor position
// Moves the cursor forward. Scrolls the entire screen if needed
// void cputc(__zp(2) char c)
cputc: {
.label c = 2
// if(c=='\n')
// [422] if(cputc::c#0==' ') goto cputc::@1 -- vbuz1_eq_vbuc1_then_la1
lda #'\n'
cmp.z c
beq __b1
// cputc::@2
// conio_line_text[conio_cursor_x] = c
// [423] conio_line_text[conio_cursor_x] = cputc::c#0 -- pbuz1_derefidx_vbuz2=vbuz3
lda.z c
ldy.z conio_cursor_x
sta (conio_line_text),y
// conio_line_color[conio_cursor_x] = conio_textcolor
// [424] conio_line_color[conio_cursor_x] = conio_textcolor -- pbuz1_derefidx_vbuz2=vbuz3
lda.z conio_textcolor
sta (conio_line_color),y
// if(++conio_cursor_x==CONIO_WIDTH)
// [425] conio_cursor_x = ++ conio_cursor_x -- vbuz1=_inc_vbuz1
inc.z conio_cursor_x
// [426] if(conio_cursor_x!=$28) goto cputc::@return -- vbuz1_neq_vbuc1_then_la1
lda #$28
cmp.z conio_cursor_x
bne __breturn
// [427] phi from cputc::@2 to cputc::@3 [phi:cputc::@2->cputc::@3]
// cputc::@3
// cputln()
// [428] call cputln
jsr cputln
// cputc::@return
__breturn:
// }
// [429] return
rts
// [430] phi from cputc to cputc::@1 [phi:cputc->cputc::@1]
// cputc::@1
__b1:
// cputln()
// [431] call cputln
jsr cputln
rts
}
// utoa_append
// Used to convert a single digit of an unsigned number value to a string representation
// Counts a single digit up from '0' as long as the value is larger than sub.
// Each time the digit is increased sub is subtracted from value.
// - buffer : pointer to the char that receives the digit
// - value : The value where the digit will be derived from
// - sub : the value of a '1' in the digit. Subtracted continually while the digit is increased.
// (For decimal the subs used are 10000, 1000, 100, 10, 1)
// returns : the value reduced by sub * digit so that it is less than sub.
// __zp(5) unsigned int utoa_append(__zp($d) char *buffer, __zp(5) unsigned int value, __zp(9) unsigned int sub)
utoa_append: {
.label buffer = $d
.label value = 5
.label sub = 9
.label return = 5
.label digit = 7
// [433] phi from utoa_append to utoa_append::@1 [phi:utoa_append->utoa_append::@1]
// [433] phi utoa_append::digit#2 = 0 [phi:utoa_append->utoa_append::@1#0] -- vbuz1=vbuc1
lda #0
sta.z digit
// [433] phi utoa_append::value#2 = utoa_append::value#0 [phi:utoa_append->utoa_append::@1#1] -- register_copy
// utoa_append::@1
__b1:
// while (value >= sub)
// [434] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2 -- vwuz1_ge_vwuz2_then_la1
lda.z sub+1
cmp.z value+1
bne !+
lda.z sub
cmp.z value
beq __b2
!:
bcc __b2
// utoa_append::@3
// *buffer = DIGITS[digit]
// [435] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuz2
ldy.z digit
lda DIGITS,y
ldy #0
sta (buffer),y
// utoa_append::@return
// }
// [436] return
rts
// utoa_append::@2
__b2:
// digit++;
// [437] utoa_append::digit#1 = ++ utoa_append::digit#2 -- vbuz1=_inc_vbuz1
inc.z digit
// value -= sub
// [438] utoa_append::value#1 = utoa_append::value#2 - utoa_append::sub#0 -- vwuz1=vwuz1_minus_vwuz2
lda.z value
sec
sbc.z sub
sta.z value
lda.z value+1
sbc.z sub+1
sta.z value+1
// [433] phi from utoa_append::@2 to utoa_append::@1 [phi:utoa_append::@2->utoa_append::@1]
// [433] phi utoa_append::digit#2 = utoa_append::digit#1 [phi:utoa_append::@2->utoa_append::@1#0] -- register_copy
// [433] phi utoa_append::value#2 = utoa_append::value#1 [phi:utoa_append::@2->utoa_append::@1#1] -- register_copy
jmp __b1
}
// div16u8u
// Divide unsigned 16-bit unsigned long dividend with a 8-bit unsigned char divisor
// The 8-bit unsigned char remainder can be found in rem8u after the division
// __zp($30) unsigned int div16u8u(__zp($23) unsigned int dividend, char divisor)
div16u8u: {
.label divisor = $3c
.label quotient_hi = 2
.label quotient_lo = $10
.label return = $12
.label dividend = $23
.label return_1 = $30
// unsigned char quotient_hi = divr8u(BYTE1(dividend), divisor, 0)
// [439] divr8u::dividend#1 = byte1 div16u8u::dividend#0 -- vbuz1=_byte1_vwuz2
lda.z dividend+1
sta.z divr8u.dividend
// [440] call divr8u
// [456] phi from div16u8u to divr8u [phi:div16u8u->divr8u]
// [456] phi divr8u::dividend#5 = divr8u::dividend#1 [phi:div16u8u->divr8u#0] -- register_copy
// [456] phi divr8u::rem#10 = 0 [phi:div16u8u->divr8u#1] -- vbuz1=vbuc1
lda #0
sta.z divr8u.rem
jsr divr8u
// unsigned char quotient_hi = divr8u(BYTE1(dividend), divisor, 0)
// [441] divr8u::return#2 = divr8u::return#0
// div16u8u::@1
// [442] div16u8u::quotient_hi#0 = divr8u::return#2 -- vbuz1=vbuz2
lda.z divr8u.return
sta.z quotient_hi
// unsigned char quotient_lo = divr8u(BYTE0(dividend), divisor, rem8u)
// [443] divr8u::dividend#2 = byte0 div16u8u::dividend#0 -- vbuz1=_byte0_vwuz2
lda.z dividend
sta.z divr8u.dividend
// [444] divr8u::rem#4 = divr8u::rem#11
// [445] call divr8u
// [456] phi from div16u8u::@1 to divr8u [phi:div16u8u::@1->divr8u]
// [456] phi divr8u::dividend#5 = divr8u::dividend#2 [phi:div16u8u::@1->divr8u#0] -- register_copy
// [456] phi divr8u::rem#10 = divr8u::rem#4 [phi:div16u8u::@1->divr8u#1] -- register_copy
jsr divr8u
// unsigned char quotient_lo = divr8u(BYTE0(dividend), divisor, rem8u)
// [446] divr8u::return#3 = divr8u::return#0
// div16u8u::@2
// [447] div16u8u::quotient_lo#0 = divr8u::return#3
// unsigned int quotient = MAKEWORD( quotient_hi, quotient_lo )
// [448] div16u8u::return#0 = div16u8u::quotient_hi#0 w= div16u8u::quotient_lo#0 -- vwuz1=vbuz2_word_vbuz3
lda.z quotient_hi
sta.z return+1
lda.z quotient_lo
sta.z return
// div16u8u::@return
// }
// [449] return
rts
}
// cputln
// Print a newline
cputln: {
// conio_line_text += CONIO_WIDTH
// [450] conio_line_text = conio_line_text + $28 -- pbuz1=pbuz1_plus_vbuc1
lda #$28
clc
adc.z conio_line_text
sta.z conio_line_text
bcc !+
inc.z conio_line_text+1
!:
// conio_line_color += CONIO_WIDTH
// [451] conio_line_color = conio_line_color + $28 -- pbuz1=pbuz1_plus_vbuc1
lda #$28
clc
adc.z conio_line_color
sta.z conio_line_color
bcc !+
inc.z conio_line_color+1
!:
// conio_cursor_x = 0
// [452] conio_cursor_x = 0 -- vbuz1=vbuc1
lda #0
sta.z conio_cursor_x
// conio_cursor_y++;
// [453] conio_cursor_y = ++ conio_cursor_y -- vbuz1=_inc_vbuz1
inc.z conio_cursor_y
// cscroll()
// [454] call cscroll
jsr cscroll
// cputln::@return
// }
// [455] return
rts
}
// divr8u
// Performs division on two 8 bit unsigned chars and an initial remainder
// Returns dividend/divisor.
// The final remainder will be set into the global variable rem8u
// Implemented using simple binary division
// __zp($10) char divr8u(__zp(3) char dividend, char divisor, __zp($f) char rem)
divr8u: {
.label __1 = $11
.label rem = $f
.label dividend = 3
.label quotient = $10
.label i = 7
.label return = $10
// [457] phi from divr8u to divr8u::@1 [phi:divr8u->divr8u::@1]
// [457] phi divr8u::i#2 = 0 [phi:divr8u->divr8u::@1#0] -- vbuz1=vbuc1
lda #0
sta.z i
// [457] phi divr8u::quotient#3 = 0 [phi:divr8u->divr8u::@1#1] -- vbuz1=vbuc1
sta.z quotient
// [457] phi divr8u::dividend#3 = divr8u::dividend#5 [phi:divr8u->divr8u::@1#2] -- register_copy
// [457] phi divr8u::rem#5 = divr8u::rem#10 [phi:divr8u->divr8u::@1#3] -- register_copy
// [457] phi from divr8u::@3 to divr8u::@1 [phi:divr8u::@3->divr8u::@1]
// [457] phi divr8u::i#2 = divr8u::i#1 [phi:divr8u::@3->divr8u::@1#0] -- register_copy
// [457] phi divr8u::quotient#3 = divr8u::return#0 [phi:divr8u::@3->divr8u::@1#1] -- register_copy
// [457] phi divr8u::dividend#3 = divr8u::dividend#0 [phi:divr8u::@3->divr8u::@1#2] -- register_copy
// [457] phi divr8u::rem#5 = divr8u::rem#11 [phi:divr8u::@3->divr8u::@1#3] -- register_copy
// divr8u::@1
__b1:
// rem = rem << 1
// [458] divr8u::rem#0 = divr8u::rem#5 << 1 -- vbuz1=vbuz1_rol_1
asl.z rem
// dividend & $80
// [459] divr8u::$1 = divr8u::dividend#3 & $80 -- vbuz1=vbuz2_band_vbuc1
lda #$80
and.z dividend
sta.z __1
// if( (dividend & $80) != 0 )
// [460] if(divr8u::$1==0) goto divr8u::@2 -- vbuz1_eq_0_then_la1
beq __b2
// divr8u::@4
// rem = rem | 1
// [461] divr8u::rem#1 = divr8u::rem#0 | 1 -- vbuz1=vbuz1_bor_vbuc1
lda #1
ora.z rem
sta.z rem
// [462] phi from divr8u::@1 divr8u::@4 to divr8u::@2 [phi:divr8u::@1/divr8u::@4->divr8u::@2]
// [462] phi divr8u::rem#6 = divr8u::rem#0 [phi:divr8u::@1/divr8u::@4->divr8u::@2#0] -- register_copy
// divr8u::@2
__b2:
// dividend = dividend << 1
// [463] divr8u::dividend#0 = divr8u::dividend#3 << 1 -- vbuz1=vbuz1_rol_1
asl.z dividend
// quotient = quotient << 1
// [464] divr8u::quotient#1 = divr8u::quotient#3 << 1 -- vbuz1=vbuz1_rol_1
asl.z quotient
// if(rem>=divisor)
// [465] if(divr8u::rem#6<div16u8u::divisor#0) goto divr8u::@3 -- vbuz1_lt_vbuc1_then_la1
lda.z rem
cmp #div16u8u.divisor
bcc __b3
// divr8u::@5
// quotient++;
// [466] divr8u::quotient#2 = ++ divr8u::quotient#1 -- vbuz1=_inc_vbuz1
inc.z quotient
// rem = rem - divisor
// [467] divr8u::rem#2 = divr8u::rem#6 - div16u8u::divisor#0 -- vbuz1=vbuz1_minus_vbuc1
lax.z rem
axs #div16u8u.divisor
stx.z rem
// [468] phi from divr8u::@2 divr8u::@5 to divr8u::@3 [phi:divr8u::@2/divr8u::@5->divr8u::@3]
// [468] phi divr8u::return#0 = divr8u::quotient#1 [phi:divr8u::@2/divr8u::@5->divr8u::@3#0] -- register_copy
// [468] phi divr8u::rem#11 = divr8u::rem#6 [phi:divr8u::@2/divr8u::@5->divr8u::@3#1] -- register_copy
// divr8u::@3
__b3:
// for( char i : 0..7)
// [469] divr8u::i#1 = ++ divr8u::i#2 -- vbuz1=_inc_vbuz1
inc.z i
// [470] if(divr8u::i#1!=8) goto divr8u::@1 -- vbuz1_neq_vbuc1_then_la1
lda #8
cmp.z i
bne __b1
// divr8u::@return
// }
// [471] return
rts
}
// cscroll
// Scroll the entire screen if the cursor is beyond the last line
cscroll: {
// if(conio_cursor_y==CONIO_HEIGHT)
// [472] if(conio_cursor_y!=$19) goto cscroll::@return -- vbuz1_neq_vbuc1_then_la1
lda #$19
cmp.z conio_cursor_y
bne __breturn
// [473] phi from cscroll to cscroll::@1 [phi:cscroll->cscroll::@1]
// cscroll::@1
// memcpy(CONIO_SCREEN_TEXT, CONIO_SCREEN_TEXT+CONIO_WIDTH, CONIO_BYTES-CONIO_WIDTH)
// [474] call memcpy
// [485] phi from cscroll::@1 to memcpy [phi:cscroll::@1->memcpy]
// [485] phi memcpy::destination#2 = (void *)DEFAULT_SCREEN [phi:cscroll::@1->memcpy#0] -- pvoz1=pvoc1
lda #<DEFAULT_SCREEN
sta.z memcpy.destination
lda #>DEFAULT_SCREEN
sta.z memcpy.destination+1
// [485] phi memcpy::source#2 = (void *)DEFAULT_SCREEN+$28 [phi:cscroll::@1->memcpy#1] -- pvoz1=pvoc1
lda #<DEFAULT_SCREEN+$28
sta.z memcpy.source
lda #>DEFAULT_SCREEN+$28
sta.z memcpy.source+1
jsr memcpy
// [475] phi from cscroll::@1 to cscroll::@2 [phi:cscroll::@1->cscroll::@2]
// cscroll::@2
// memcpy(CONIO_SCREEN_COLORS, CONIO_SCREEN_COLORS+CONIO_WIDTH, CONIO_BYTES-CONIO_WIDTH)
// [476] call memcpy
// [485] phi from cscroll::@2 to memcpy [phi:cscroll::@2->memcpy]
// [485] phi memcpy::destination#2 = (void *)COLORRAM [phi:cscroll::@2->memcpy#0] -- pvoz1=pvoc1
lda #<COLORRAM
sta.z memcpy.destination
lda #>COLORRAM
sta.z memcpy.destination+1
// [485] phi memcpy::source#2 = (void *)COLORRAM+$28 [phi:cscroll::@2->memcpy#1] -- pvoz1=pvoc1
lda #<COLORRAM+$28
sta.z memcpy.source
lda #>COLORRAM+$28
sta.z memcpy.source+1
jsr memcpy
// [477] phi from cscroll::@2 to cscroll::@3 [phi:cscroll::@2->cscroll::@3]
// cscroll::@3
// memset(CONIO_SCREEN_TEXT+CONIO_BYTES-CONIO_WIDTH, ' ', CONIO_WIDTH)
// [478] call memset
// [495] phi from cscroll::@3 to memset [phi:cscroll::@3->memset]
// [495] phi memset::c#4 = ' ' [phi:cscroll::@3->memset#0] -- vbuz1=vbuc1
lda #' '
sta.z memset.c
// [495] phi memset::str#3 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28 [phi:cscroll::@3->memset#1] -- pvoz1=pvoc1
lda #<DEFAULT_SCREEN+$19*$28-$28
sta.z memset.str
lda #>DEFAULT_SCREEN+$19*$28-$28
sta.z memset.str+1
jsr memset
// cscroll::@4
// memset(CONIO_SCREEN_COLORS+CONIO_BYTES-CONIO_WIDTH, conio_textcolor, CONIO_WIDTH)
// [479] memset::c#1 = conio_textcolor -- vbuz1=vbuz2
lda.z conio_textcolor
sta.z memset.c
// [480] call memset
// [495] phi from cscroll::@4 to memset [phi:cscroll::@4->memset]
// [495] phi memset::c#4 = memset::c#1 [phi:cscroll::@4->memset#0] -- register_copy
// [495] phi memset::str#3 = (void *)COLORRAM+(unsigned int)$19*$28-$28 [phi:cscroll::@4->memset#1] -- pvoz1=pvoc1
lda #<COLORRAM+$19*$28-$28
sta.z memset.str
lda #>COLORRAM+$19*$28-$28
sta.z memset.str+1
jsr memset
// cscroll::@5
// conio_line_text -= CONIO_WIDTH
// [481] conio_line_text = conio_line_text - $28 -- pbuz1=pbuz1_minus_vbuc1
sec
lda.z conio_line_text
sbc #$28
sta.z conio_line_text
lda.z conio_line_text+1
sbc #0
sta.z conio_line_text+1
// conio_line_color -= CONIO_WIDTH
// [482] conio_line_color = conio_line_color - $28 -- pbuz1=pbuz1_minus_vbuc1
sec
lda.z conio_line_color
sbc #$28
sta.z conio_line_color
lda.z conio_line_color+1
sbc #0
sta.z conio_line_color+1
// conio_cursor_y--;
// [483] conio_cursor_y = -- conio_cursor_y -- vbuz1=_dec_vbuz1
dec.z conio_cursor_y
// cscroll::@return
__breturn:
// }
// [484] return
rts
}
// memcpy
// Copy block of memory (forwards)
// Copies the values of num bytes from the location pointed to by source directly to the memory block pointed to by destination.
// void * memcpy(__zp($b) void *destination, __zp($d) void *source, unsigned int num)
memcpy: {
.label src_end = 9
.label dst = $b
.label src = $d
.label source = $d
.label destination = $b
// char* src_end = (char*)source+num
// [486] memcpy::src_end#0 = (char *)memcpy::source#2 + (unsigned int)$19*$28-$28 -- pbuz1=pbuz2_plus_vwuc1
lda.z source
clc
adc #<$19*$28-$28
sta.z src_end
lda.z source+1
adc #>$19*$28-$28
sta.z src_end+1
// [487] memcpy::src#4 = (char *)memcpy::source#2
// [488] memcpy::dst#4 = (char *)memcpy::destination#2
// [489] phi from memcpy memcpy::@2 to memcpy::@1 [phi:memcpy/memcpy::@2->memcpy::@1]
// [489] phi memcpy::dst#2 = memcpy::dst#4 [phi:memcpy/memcpy::@2->memcpy::@1#0] -- register_copy
// [489] phi memcpy::src#2 = memcpy::src#4 [phi:memcpy/memcpy::@2->memcpy::@1#1] -- register_copy
// memcpy::@1
__b1:
// while(src!=src_end)
// [490] if(memcpy::src#2!=memcpy::src_end#0) goto memcpy::@2 -- pbuz1_neq_pbuz2_then_la1
lda.z src+1
cmp.z src_end+1
bne __b2
lda.z src
cmp.z src_end
bne __b2
// memcpy::@return
// }
// [491] return
rts
// memcpy::@2
__b2:
// *dst++ = *src++
// [492] *memcpy::dst#2 = *memcpy::src#2 -- _deref_pbuz1=_deref_pbuz2
ldy #0
lda (src),y
sta (dst),y
// *dst++ = *src++;
// [493] memcpy::dst#1 = ++ memcpy::dst#2 -- pbuz1=_inc_pbuz1
inc.z dst
bne !+
inc.z dst+1
!:
// [494] memcpy::src#1 = ++ memcpy::src#2 -- pbuz1=_inc_pbuz1
inc.z src
bne !+
inc.z src+1
!:
jmp __b1
}
// memset
// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str.
// void * memset(__zp($b) void *str, __zp($10) char c, unsigned int num)
memset: {
.label end = $12
.label dst = $b
.label c = $10
.label str = $b
// memset::@1
// char* end = (char*)str + num
// [496] memset::end#0 = (char *)memset::str#3 + $28 -- pbuz1=pbuz2_plus_vbuc1
lda #$28
clc
adc.z str
sta.z end
lda #0
adc.z str+1
sta.z end+1
// [497] memset::dst#4 = (char *)memset::str#3
// [498] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2]
// [498] phi memset::dst#2 = memset::dst#4 [phi:memset::@1/memset::@3->memset::@2#0] -- register_copy
// memset::@2
__b2:
// for(char* dst = str; dst!=end; dst++)
// [499] if(memset::dst#2!=memset::end#0) goto memset::@3 -- pbuz1_neq_pbuz2_then_la1
lda.z dst+1
cmp.z end+1
bne __b3
lda.z dst
cmp.z end
bne __b3
// memset::@return
// }
// [500] return
rts
// memset::@3
__b3:
// *dst = c
// [501] *memset::dst#2 = memset::c#4 -- _deref_pbuz1=vbuz2
lda.z c
ldy #0
sta (dst),y
// for(char* dst = str; dst!=end; dst++)
// [502] memset::dst#1 = ++ memset::dst#2 -- pbuz1=_inc_pbuz1
inc.z dst
bne !+
inc.z dst+1
!:
jmp __b2
}
// File Data
.segment Data
// The digits used for numbers
DIGITS: .text "0123456789abcdef"
// Values of decimal digits
RADIX_DECIMAL_VALUES: .word $2710, $3e8, $64, $a
// [0..65536] 16-bit
points: .byte 0, 0, 0, 0
buffer: .byte 0, 0, 0, 0
// for unexpanded. 37888-4096 color for expanded
ducknumber: .byte $44, $55, $43, $4b, $3a
// DUCK:
chrono: .byte $54, $4d, $3a, $39
// TM:9
duck_udg: .byte $e, $1b, $3f, $1f, $f, 7, $f, $1f, 0, 0, 0, 0, 0, $c0, $70, $bc, $1f, $1d, $1e, $f, 3, 1, 1, 3, $ce, $1e, $7c, $f8, $e0, $40, $40, $e0, 0, 0, 0, 0, 0, 0, 0, 0
// POKE CODES = 0,1,2,3,4; CHROUT CODES = 64, 65, 66, 67, 68 (with previous reverse_off "chrout(146)")
intro: .text @"\n\n\nDIFFICULTY\n----------\n\n\n"
.byte 0
levels: .text @"1.EASIEST\n\n3.EASY\n\n5.MEDIUM\n\n7.HARD\n\n9.EXPERT\n\n\n\n\n"
.byte 0
foot: .text @"PRESS: 1,3,5,7 or 9\n\n"
.byte 0
game_over: .text @"\n\n\n\nGAME OVER"
.byte 0
play_again: .text @"\n\n\nPlay Again (Y/N)?"
.byte 0
your_score: .text @"\n\n\nYour Score: "
.byte 0
high_score: .text @"\n\nHi-Score: "
.byte 0