1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2026-04-21 03:19:36 +00:00
Files
kickc/src/test/ref/printf-12.log
T
2021-08-13 20:06:59 +02:00

13645 lines
1.1 MiB
Plaintext

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 __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "A char: ")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "
")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "A pointer: ")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_uint(&cputc, (unsigned int)&main::c, { 0, 0, 0, 0, 0, HEXADECIMAL })
Setting inferred volatile on symbol affected by address-of call printf_uint(&cputc, (unsigned int)&main::c, { 0, 0, 0, 0, 0, HEXADECIMAL })
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "
")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "A percent: ")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "
")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "A signed char: ")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_schar(&cputc, main::sc, { 0, 0, 0, 0, 0, DECIMAL })
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "
")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "An unsigned char: ")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_uchar(&cputc, main::uc, { 0, 0, 0, 0, 0, DECIMAL })
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "
")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "A signed int: ")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_sint(&cputc, main::si, { 0, 0, 0, 0, 0, DECIMAL })
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "
")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "An unsigned int: ")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_uint(&cputc, main::ui, { 0, 0, 0, 0, 0, DECIMAL })
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "
")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "A signed long: ")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_slong(&cputc, main::sl, { 0, 0, 0, 0, 0, DECIMAL })
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "
")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "An unsigned long: ")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_ulong(&cputc, main::ul, { 0, 0, 0, 0, 0, DECIMAL })
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "
")
Adding parameter assignment in __stackcall procedure cputc::c = param(cputc::c)
Added struct type cast to parameter value list call printf_uint(&cputc, (unsigned int)&main::c, (struct printf_format_number){ 0, 0, 0, 0, 0, HEXADECIMAL })
Added struct type cast to parameter value list call printf_schar(&cputc, main::sc, (struct printf_format_number){ 0, 0, 0, 0, 0, DECIMAL })
Added struct type cast to parameter value list call printf_uchar(&cputc, main::uc, (struct printf_format_number){ 0, 0, 0, 0, 0, DECIMAL })
Added struct type cast to parameter value list call printf_sint(&cputc, main::si, (struct printf_format_number){ 0, 0, 0, 0, 0, DECIMAL })
Added struct type cast to parameter value list call printf_uint(&cputc, main::ui, (struct printf_format_number){ 0, 0, 0, 0, 0, DECIMAL })
Added struct type cast to parameter value list call printf_slong(&cputc, main::sl, (struct printf_format_number){ 0, 0, 0, 0, 0, DECIMAL })
Added struct type cast to parameter value list call printf_ulong(&cputc, main::ul, (struct printf_format_number){ 0, 0, 0, 0, 0, DECIMAL })
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 main::$1
Eliminating unused variable with no statement main::$2
Eliminating unused variable with no statement main::$3
Eliminating unused variable with no statement main::$4
Eliminating unused variable with no statement main::$5
Eliminating unused variable with no statement main::$6
Eliminating unused variable with no statement main::$7
Eliminating unused variable with no statement main::$8
Eliminating unused variable with no statement main::$9
Calling convention STACK_CALL adding prepare/execute/finalize for call *printf_str::putc printf_str::c
Calling convention STACK_CALL adding prepare/execute/finalize for call *printf_padding::putc printf_padding::pad
Calling convention STACK_CALL adding prepare/execute/finalize for call *printf_number_buffer::putc printf_number_buffer::buffer_sign
Calling convention __stackcall adding prepare/execute/finalize for call cputc(main::c)
Calling convention __stackcall adding prepare/execute/finalize for call cputc('%')
Calling convention STACK_CALL replacing param(cputc::c) with stackidx(char,cputc::OFFSET_STACK_C)
Calling convention STACK_CALL adding stack push stackpush(char) = printf_str::c
Calling convention STACK_CALL adding stack push stackpush(char) = printf_padding::pad
Calling convention STACK_CALL adding stack push stackpush(char) = printf_number_buffer::buffer_sign
Calling convention STACK_CALL adding stack push stackpush(char) = main::c
Calling convention STACK_CALL adding stack push stackpush(char) = '%'
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
unsigned int strlen(char *str)
strlen: scope:[strlen] from printf_number_buffer::@6
strlen::str#4 = phi( printf_number_buffer::@6/strlen::str#1 )
strlen::len#0 = 0
to:strlen::@1
strlen::@1: scope:[strlen] from strlen strlen::@2
strlen::len#4 = phi( strlen/strlen::len#0, strlen::@2/strlen::len#1 )
strlen::str#2 = phi( strlen/strlen::str#4, strlen::@2/strlen::str#0 )
strlen::$0 = 0 != *strlen::str#2
if(strlen::$0) goto strlen::@2
to:strlen::@3
strlen::@2: scope:[strlen] from strlen::@1
strlen::str#3 = phi( strlen::@1/strlen::str#2 )
strlen::len#2 = phi( strlen::@1/strlen::len#4 )
strlen::len#1 = ++ strlen::len#2
strlen::str#0 = ++ strlen::str#3
to:strlen::@1
strlen::@3: scope:[strlen] from strlen::@1
strlen::len#3 = phi( strlen::@1/strlen::len#4 )
strlen::return#0 = strlen::len#3
to:strlen::@return
strlen::@return: scope:[strlen] from strlen::@3
strlen::return#3 = phi( strlen::@3/strlen::return#0 )
strlen::return#1 = strlen::return#3
return
to:@return
char toupper(char ch)
toupper: scope:[toupper] from strupr::@2
toupper::ch#1 = phi( strupr::@2/toupper::ch#0 )
toupper::$0 = toupper::ch#1 >= 'a'
toupper::$1 = toupper::ch#1 <= 'z'
toupper::$2 = toupper::$0 && toupper::$1
if(toupper::$2) goto toupper::@1
to:toupper::@2
toupper::@1: scope:[toupper] from toupper
toupper::ch#2 = phi( toupper/toupper::ch#1 )
toupper::$3 = toupper::ch#2 + 'A'-'a'
toupper::return#0 = toupper::$3
to:toupper::@return
toupper::@2: scope:[toupper] from toupper
toupper::ch#3 = phi( toupper/toupper::ch#1 )
toupper::return#1 = toupper::ch#3
to:toupper::@return
toupper::@return: scope:[toupper] from toupper::@1 toupper::@2
toupper::return#4 = phi( toupper::@1/toupper::return#0, toupper::@2/toupper::return#1 )
toupper::return#2 = toupper::return#4
return
to:@return
char * strupr(char *str)
strupr: scope:[strupr] from printf_number_buffer::@11
strupr::str#1 = phi( printf_number_buffer::@11/strupr::str#0 )
strupr::src#0 = strupr::str#1
to:strupr::@1
strupr::@1: scope:[strupr] from strupr strupr::@4
strupr::str#3 = phi( strupr/strupr::str#1, strupr::@4/strupr::str#4 )
strupr::src#2 = phi( strupr/strupr::src#0, strupr::@4/strupr::src#1 )
strupr::$1 = 0 != *strupr::src#2
if(strupr::$1) goto strupr::@2
to:strupr::@3
strupr::@2: scope:[strupr] from strupr::@1
strupr::str#5 = phi( strupr::@1/strupr::str#3 )
strupr::src#3 = phi( strupr::@1/strupr::src#2 )
toupper::ch#0 = *strupr::src#3
call toupper
toupper::return#3 = toupper::return#2
to:strupr::@4
strupr::@4: scope:[strupr] from strupr::@2
strupr::str#4 = phi( strupr::@2/strupr::str#5 )
strupr::src#4 = phi( strupr::@2/strupr::src#3 )
toupper::return#5 = phi( strupr::@2/toupper::return#3 )
strupr::$0 = toupper::return#5
*strupr::src#4 = strupr::$0
strupr::src#1 = ++ strupr::src#4
to:strupr::@1
strupr::@3: scope:[strupr] from strupr::@1
strupr::str#2 = phi( strupr::@1/strupr::str#3 )
strupr::return#0 = strupr::str#2
to:strupr::@return
strupr::@return: scope:[strupr] from strupr::@3
strupr::return#3 = phi( strupr::@3/strupr::return#0 )
strupr::return#1 = strupr::return#3
return
to:@return
void utoa(unsigned int value , char *buffer , char radix)
utoa: scope:[utoa] from printf_sint::@2 printf_uint::@3
utoa::buffer#22 = phi( printf_sint::@2/utoa::buffer#5, printf_uint::@3/utoa::buffer#6 )
utoa::value#13 = phi( printf_sint::@2/utoa::value#1, printf_uint::@3/utoa::value#2 )
utoa::radix#2 = phi( printf_sint::@2/utoa::radix#0, printf_uint::@3/utoa::radix#1 )
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
void ultoa(unsigned long value , char *buffer , char radix)
ultoa: scope:[ultoa] from printf_slong::@2 printf_ulong::@3
ultoa::buffer#22 = phi( printf_slong::@2/ultoa::buffer#5, printf_ulong::@3/ultoa::buffer#6 )
ultoa::value#13 = phi( printf_slong::@2/ultoa::value#1, printf_ulong::@3/ultoa::value#2 )
ultoa::radix#2 = phi( printf_slong::@2/ultoa::radix#0, printf_ulong::@3/ultoa::radix#1 )
ultoa::max_digits#0 = 0
ultoa::digit_values#0 = (unsigned long *) 0
ultoa::$0 = ultoa::radix#2 == DECIMAL
if(ultoa::$0) goto ultoa::@1
to:ultoa::@6
ultoa::@1: scope:[ultoa] from ultoa
ultoa::buffer#18 = phi( ultoa/ultoa::buffer#22 )
ultoa::value#9 = phi( ultoa/ultoa::value#13 )
ultoa::max_digits#1 = $a
ultoa::digit_values#1 = RADIX_DECIMAL_VALUES_LONG
to:ultoa::@5
ultoa::@6: scope:[ultoa] from ultoa
ultoa::value#14 = phi( ultoa/ultoa::value#13 )
ultoa::buffer#17 = phi( ultoa/ultoa::buffer#22 )
ultoa::radix#3 = phi( ultoa/ultoa::radix#2 )
ultoa::$1 = ultoa::radix#3 == HEXADECIMAL
if(ultoa::$1) goto ultoa::@2
to:ultoa::@7
ultoa::@2: scope:[ultoa] from ultoa::@6
ultoa::buffer#19 = phi( ultoa::@6/ultoa::buffer#17 )
ultoa::value#10 = phi( ultoa::@6/ultoa::value#14 )
ultoa::max_digits#2 = 8
ultoa::digit_values#2 = RADIX_HEXADECIMAL_VALUES_LONG
to:ultoa::@5
ultoa::@7: scope:[ultoa] from ultoa::@6
ultoa::value#15 = phi( ultoa::@6/ultoa::value#14 )
ultoa::buffer#14 = phi( ultoa::@6/ultoa::buffer#17 )
ultoa::radix#4 = phi( ultoa::@6/ultoa::radix#3 )
ultoa::$2 = ultoa::radix#4 == OCTAL
if(ultoa::$2) goto ultoa::@3
to:ultoa::@8
ultoa::@3: scope:[ultoa] from ultoa::@7
ultoa::buffer#20 = phi( ultoa::@7/ultoa::buffer#14 )
ultoa::value#11 = phi( ultoa::@7/ultoa::value#15 )
ultoa::max_digits#3 = $b
ultoa::digit_values#3 = RADIX_OCTAL_VALUES_LONG
to:ultoa::@5
ultoa::@8: scope:[ultoa] from ultoa::@7
ultoa::value#16 = phi( ultoa::@7/ultoa::value#15 )
ultoa::buffer#11 = phi( ultoa::@7/ultoa::buffer#14 )
ultoa::radix#5 = phi( ultoa::@7/ultoa::radix#4 )
ultoa::$3 = ultoa::radix#5 == BINARY
if(ultoa::$3) goto ultoa::@4
to:ultoa::@9
ultoa::@4: scope:[ultoa] from ultoa::@8
ultoa::buffer#21 = phi( ultoa::@8/ultoa::buffer#11 )
ultoa::value#12 = phi( ultoa::@8/ultoa::value#16 )
ultoa::max_digits#4 = $20
ultoa::digit_values#4 = RADIX_BINARY_VALUES_LONG
to:ultoa::@5
ultoa::@9: scope:[ultoa] from ultoa::@8
ultoa::buffer#7 = phi( ultoa::@8/ultoa::buffer#11 )
*ultoa::buffer#7 = 'e'
ultoa::buffer#0 = ++ ultoa::buffer#7
*ultoa::buffer#0 = 'r'
ultoa::buffer#1 = ++ ultoa::buffer#0
*ultoa::buffer#1 = 'r'
ultoa::buffer#2 = ++ ultoa::buffer#1
*ultoa::buffer#2 = 0
to:ultoa::@return
ultoa::@return: scope:[ultoa] from ultoa::@12 ultoa::@9
return
to:@return
ultoa::@5: scope:[ultoa] from ultoa::@1 ultoa::@2 ultoa::@3 ultoa::@4
ultoa::buffer#16 = phi( ultoa::@1/ultoa::buffer#18, ultoa::@2/ultoa::buffer#19, ultoa::@3/ultoa::buffer#20, ultoa::@4/ultoa::buffer#21 )
ultoa::value#8 = phi( ultoa::@1/ultoa::value#9, ultoa::@2/ultoa::value#10, ultoa::@3/ultoa::value#11, ultoa::@4/ultoa::value#12 )
ultoa::digit_values#8 = phi( ultoa::@1/ultoa::digit_values#1, ultoa::@2/ultoa::digit_values#2, ultoa::@3/ultoa::digit_values#3, ultoa::@4/ultoa::digit_values#4 )
ultoa::max_digits#7 = phi( ultoa::@1/ultoa::max_digits#1, ultoa::@2/ultoa::max_digits#2, ultoa::@3/ultoa::max_digits#3, ultoa::@4/ultoa::max_digits#4 )
ultoa::started#0 = 0
ultoa::digit#0 = 0
to:ultoa::@10
ultoa::@10: scope:[ultoa] from ultoa::@13 ultoa::@5
ultoa::buffer#12 = phi( ultoa::@13/ultoa::buffer#15, ultoa::@5/ultoa::buffer#16 )
ultoa::started#3 = phi( ultoa::@13/ultoa::started#4, ultoa::@5/ultoa::started#0 )
ultoa::value#6 = phi( ultoa::@13/ultoa::value#7, ultoa::@5/ultoa::value#8 )
ultoa::digit_values#6 = phi( ultoa::@13/ultoa::digit_values#7, ultoa::@5/ultoa::digit_values#8 )
ultoa::digit#2 = phi( ultoa::@13/ultoa::digit#1, ultoa::@5/ultoa::digit#0 )
ultoa::max_digits#5 = phi( ultoa::@13/ultoa::max_digits#6, ultoa::@5/ultoa::max_digits#7 )
ultoa::$4 = ultoa::max_digits#5 - 1
ultoa::$5 = ultoa::digit#2 < ultoa::$4
if(ultoa::$5) goto ultoa::@11
to:ultoa::@12
ultoa::@11: scope:[ultoa] from ultoa::@10
ultoa::max_digits#8 = phi( ultoa::@10/ultoa::max_digits#5 )
ultoa::buffer#13 = phi( ultoa::@10/ultoa::buffer#12 )
ultoa::started#2 = phi( ultoa::@10/ultoa::started#3 )
ultoa::value#3 = phi( ultoa::@10/ultoa::value#6 )
ultoa::digit_values#5 = phi( ultoa::@10/ultoa::digit_values#6 )
ultoa::digit#3 = phi( ultoa::@10/ultoa::digit#2 )
ultoa::$10 = ultoa::digit#3 * SIZEOF_UNSIGNED_LONG
ultoa::digit_value#0 = ultoa::digit_values#5[ultoa::$10]
ultoa::$6 = ultoa::value#3 >= ultoa::digit_value#0
ultoa::$7 = ultoa::started#2 || ultoa::$6
ultoa::$8 = ! ultoa::$7
if(ultoa::$8) goto ultoa::@13
to:ultoa::@14
ultoa::@12: scope:[ultoa] from ultoa::@10
ultoa::buffer#8 = phi( ultoa::@10/ultoa::buffer#12 )
ultoa::value#4 = phi( ultoa::@10/ultoa::value#6 )
ultoa::$11 = (char)ultoa::value#4
*ultoa::buffer#8 = DIGITS[ultoa::$11]
ultoa::buffer#3 = ++ ultoa::buffer#8
*ultoa::buffer#3 = 0
to:ultoa::@return
ultoa::@13: scope:[ultoa] from ultoa::@11 ultoa::@15
ultoa::buffer#15 = phi( ultoa::@11/ultoa::buffer#13, ultoa::@15/ultoa::buffer#4 )
ultoa::started#4 = phi( ultoa::@11/ultoa::started#2, ultoa::@15/ultoa::started#1 )
ultoa::value#7 = phi( ultoa::@11/ultoa::value#3, ultoa::@15/ultoa::value#0 )
ultoa::digit_values#7 = phi( ultoa::@11/ultoa::digit_values#5, ultoa::@15/ultoa::digit_values#9 )
ultoa::max_digits#6 = phi( ultoa::@11/ultoa::max_digits#8, ultoa::@15/ultoa::max_digits#9 )
ultoa::digit#4 = phi( ultoa::@11/ultoa::digit#3, ultoa::@15/ultoa::digit#5 )
ultoa::digit#1 = ++ ultoa::digit#4
to:ultoa::@10
ultoa::@14: scope:[ultoa] from ultoa::@11
ultoa::digit_values#10 = phi( ultoa::@11/ultoa::digit_values#5 )
ultoa::max_digits#10 = phi( ultoa::@11/ultoa::max_digits#8 )
ultoa::digit#6 = phi( ultoa::@11/ultoa::digit#3 )
ultoa::digit_value#1 = phi( ultoa::@11/ultoa::digit_value#0 )
ultoa::value#5 = phi( ultoa::@11/ultoa::value#3 )
ultoa::buffer#9 = phi( ultoa::@11/ultoa::buffer#13 )
ultoa_append::buffer#0 = ultoa::buffer#9
ultoa_append::value#0 = ultoa::value#5
ultoa_append::sub#0 = ultoa::digit_value#1
call ultoa_append
ultoa_append::return#0 = ultoa_append::return#2
to:ultoa::@15
ultoa::@15: scope:[ultoa] from ultoa::@14
ultoa::digit_values#9 = phi( ultoa::@14/ultoa::digit_values#10 )
ultoa::max_digits#9 = phi( ultoa::@14/ultoa::max_digits#10 )
ultoa::digit#5 = phi( ultoa::@14/ultoa::digit#6 )
ultoa::buffer#10 = phi( ultoa::@14/ultoa::buffer#9 )
ultoa_append::return#3 = phi( ultoa::@14/ultoa_append::return#0 )
ultoa::$9 = ultoa_append::return#3
ultoa::value#0 = ultoa::$9
ultoa::buffer#4 = ++ ultoa::buffer#10
ultoa::started#1 = 1
to:ultoa::@13
void uctoa(char value , char *buffer , char radix)
uctoa: scope:[uctoa] from printf_schar::@2 printf_uchar::@3
uctoa::buffer#22 = phi( printf_schar::@2/uctoa::buffer#5, printf_uchar::@3/uctoa::buffer#6 )
uctoa::value#13 = phi( printf_schar::@2/uctoa::value#1, printf_uchar::@3/uctoa::value#2 )
uctoa::radix#2 = phi( printf_schar::@2/uctoa::radix#0, printf_uchar::@3/uctoa::radix#1 )
uctoa::max_digits#0 = 0
uctoa::digit_values#0 = (char *) 0
uctoa::$0 = uctoa::radix#2 == DECIMAL
if(uctoa::$0) goto uctoa::@1
to:uctoa::@6
uctoa::@1: scope:[uctoa] from uctoa
uctoa::buffer#18 = phi( uctoa/uctoa::buffer#22 )
uctoa::value#9 = phi( uctoa/uctoa::value#13 )
uctoa::max_digits#1 = 3
uctoa::digit_values#1 = RADIX_DECIMAL_VALUES_CHAR
to:uctoa::@5
uctoa::@6: scope:[uctoa] from uctoa
uctoa::value#14 = phi( uctoa/uctoa::value#13 )
uctoa::buffer#17 = phi( uctoa/uctoa::buffer#22 )
uctoa::radix#3 = phi( uctoa/uctoa::radix#2 )
uctoa::$1 = uctoa::radix#3 == HEXADECIMAL
if(uctoa::$1) goto uctoa::@2
to:uctoa::@7
uctoa::@2: scope:[uctoa] from uctoa::@6
uctoa::buffer#19 = phi( uctoa::@6/uctoa::buffer#17 )
uctoa::value#10 = phi( uctoa::@6/uctoa::value#14 )
uctoa::max_digits#2 = 2
uctoa::digit_values#2 = RADIX_HEXADECIMAL_VALUES_CHAR
to:uctoa::@5
uctoa::@7: scope:[uctoa] from uctoa::@6
uctoa::value#15 = phi( uctoa::@6/uctoa::value#14 )
uctoa::buffer#14 = phi( uctoa::@6/uctoa::buffer#17 )
uctoa::radix#4 = phi( uctoa::@6/uctoa::radix#3 )
uctoa::$2 = uctoa::radix#4 == OCTAL
if(uctoa::$2) goto uctoa::@3
to:uctoa::@8
uctoa::@3: scope:[uctoa] from uctoa::@7
uctoa::buffer#20 = phi( uctoa::@7/uctoa::buffer#14 )
uctoa::value#11 = phi( uctoa::@7/uctoa::value#15 )
uctoa::max_digits#3 = 3
uctoa::digit_values#3 = RADIX_OCTAL_VALUES_CHAR
to:uctoa::@5
uctoa::@8: scope:[uctoa] from uctoa::@7
uctoa::value#16 = phi( uctoa::@7/uctoa::value#15 )
uctoa::buffer#11 = phi( uctoa::@7/uctoa::buffer#14 )
uctoa::radix#5 = phi( uctoa::@7/uctoa::radix#4 )
uctoa::$3 = uctoa::radix#5 == BINARY
if(uctoa::$3) goto uctoa::@4
to:uctoa::@9
uctoa::@4: scope:[uctoa] from uctoa::@8
uctoa::buffer#21 = phi( uctoa::@8/uctoa::buffer#11 )
uctoa::value#12 = phi( uctoa::@8/uctoa::value#16 )
uctoa::max_digits#4 = 8
uctoa::digit_values#4 = RADIX_BINARY_VALUES_CHAR
to:uctoa::@5
uctoa::@9: scope:[uctoa] from uctoa::@8
uctoa::buffer#7 = phi( uctoa::@8/uctoa::buffer#11 )
*uctoa::buffer#7 = 'e'
uctoa::buffer#0 = ++ uctoa::buffer#7
*uctoa::buffer#0 = 'r'
uctoa::buffer#1 = ++ uctoa::buffer#0
*uctoa::buffer#1 = 'r'
uctoa::buffer#2 = ++ uctoa::buffer#1
*uctoa::buffer#2 = 0
to:uctoa::@return
uctoa::@return: scope:[uctoa] from uctoa::@12 uctoa::@9
return
to:@return
uctoa::@5: scope:[uctoa] from uctoa::@1 uctoa::@2 uctoa::@3 uctoa::@4
uctoa::buffer#16 = phi( uctoa::@1/uctoa::buffer#18, uctoa::@2/uctoa::buffer#19, uctoa::@3/uctoa::buffer#20, uctoa::@4/uctoa::buffer#21 )
uctoa::value#8 = phi( uctoa::@1/uctoa::value#9, uctoa::@2/uctoa::value#10, uctoa::@3/uctoa::value#11, uctoa::@4/uctoa::value#12 )
uctoa::digit_values#8 = phi( uctoa::@1/uctoa::digit_values#1, uctoa::@2/uctoa::digit_values#2, uctoa::@3/uctoa::digit_values#3, uctoa::@4/uctoa::digit_values#4 )
uctoa::max_digits#7 = phi( uctoa::@1/uctoa::max_digits#1, uctoa::@2/uctoa::max_digits#2, uctoa::@3/uctoa::max_digits#3, uctoa::@4/uctoa::max_digits#4 )
uctoa::started#0 = 0
uctoa::digit#0 = 0
to:uctoa::@10
uctoa::@10: scope:[uctoa] from uctoa::@13 uctoa::@5
uctoa::buffer#12 = phi( uctoa::@13/uctoa::buffer#15, uctoa::@5/uctoa::buffer#16 )
uctoa::started#3 = phi( uctoa::@13/uctoa::started#4, uctoa::@5/uctoa::started#0 )
uctoa::value#6 = phi( uctoa::@13/uctoa::value#7, uctoa::@5/uctoa::value#8 )
uctoa::digit_values#6 = phi( uctoa::@13/uctoa::digit_values#7, uctoa::@5/uctoa::digit_values#8 )
uctoa::digit#2 = phi( uctoa::@13/uctoa::digit#1, uctoa::@5/uctoa::digit#0 )
uctoa::max_digits#5 = phi( uctoa::@13/uctoa::max_digits#6, uctoa::@5/uctoa::max_digits#7 )
uctoa::$4 = uctoa::max_digits#5 - 1
uctoa::$5 = uctoa::digit#2 < uctoa::$4
if(uctoa::$5) goto uctoa::@11
to:uctoa::@12
uctoa::@11: scope:[uctoa] from uctoa::@10
uctoa::max_digits#8 = phi( uctoa::@10/uctoa::max_digits#5 )
uctoa::buffer#13 = phi( uctoa::@10/uctoa::buffer#12 )
uctoa::started#2 = phi( uctoa::@10/uctoa::started#3 )
uctoa::value#3 = phi( uctoa::@10/uctoa::value#6 )
uctoa::digit#3 = phi( uctoa::@10/uctoa::digit#2 )
uctoa::digit_values#5 = phi( uctoa::@10/uctoa::digit_values#6 )
uctoa::digit_value#0 = uctoa::digit_values#5[uctoa::digit#3]
uctoa::$6 = uctoa::value#3 >= uctoa::digit_value#0
uctoa::$7 = uctoa::started#2 || uctoa::$6
uctoa::$8 = ! uctoa::$7
if(uctoa::$8) goto uctoa::@13
to:uctoa::@14
uctoa::@12: scope:[uctoa] from uctoa::@10
uctoa::buffer#8 = phi( uctoa::@10/uctoa::buffer#12 )
uctoa::value#4 = phi( uctoa::@10/uctoa::value#6 )
uctoa::$10 = (char)uctoa::value#4
*uctoa::buffer#8 = DIGITS[uctoa::$10]
uctoa::buffer#3 = ++ uctoa::buffer#8
*uctoa::buffer#3 = 0
to:uctoa::@return
uctoa::@13: scope:[uctoa] from uctoa::@11 uctoa::@15
uctoa::buffer#15 = phi( uctoa::@11/uctoa::buffer#13, uctoa::@15/uctoa::buffer#4 )
uctoa::started#4 = phi( uctoa::@11/uctoa::started#2, uctoa::@15/uctoa::started#1 )
uctoa::value#7 = phi( uctoa::@11/uctoa::value#3, uctoa::@15/uctoa::value#0 )
uctoa::digit_values#7 = phi( uctoa::@11/uctoa::digit_values#5, uctoa::@15/uctoa::digit_values#9 )
uctoa::max_digits#6 = phi( uctoa::@11/uctoa::max_digits#8, uctoa::@15/uctoa::max_digits#9 )
uctoa::digit#4 = phi( uctoa::@11/uctoa::digit#3, uctoa::@15/uctoa::digit#5 )
uctoa::digit#1 = ++ uctoa::digit#4
to:uctoa::@10
uctoa::@14: scope:[uctoa] from uctoa::@11
uctoa::digit_values#10 = phi( uctoa::@11/uctoa::digit_values#5 )
uctoa::max_digits#10 = phi( uctoa::@11/uctoa::max_digits#8 )
uctoa::digit#6 = phi( uctoa::@11/uctoa::digit#3 )
uctoa::digit_value#1 = phi( uctoa::@11/uctoa::digit_value#0 )
uctoa::value#5 = phi( uctoa::@11/uctoa::value#3 )
uctoa::buffer#9 = phi( uctoa::@11/uctoa::buffer#13 )
uctoa_append::buffer#0 = uctoa::buffer#9
uctoa_append::value#0 = uctoa::value#5
uctoa_append::sub#0 = uctoa::digit_value#1
call uctoa_append
uctoa_append::return#0 = uctoa_append::return#2
to:uctoa::@15
uctoa::@15: scope:[uctoa] from uctoa::@14
uctoa::digit_values#9 = phi( uctoa::@14/uctoa::digit_values#10 )
uctoa::max_digits#9 = phi( uctoa::@14/uctoa::max_digits#10 )
uctoa::digit#5 = phi( uctoa::@14/uctoa::digit#6 )
uctoa::buffer#10 = phi( uctoa::@14/uctoa::buffer#9 )
uctoa_append::return#3 = phi( uctoa::@14/uctoa_append::return#0 )
uctoa::$9 = uctoa_append::return#3
uctoa::value#0 = uctoa::$9
uctoa::buffer#4 = ++ uctoa::buffer#10
uctoa::started#1 = 1
to:uctoa::@13
char uctoa_append(char *buffer , char value , char sub)
uctoa_append: scope:[uctoa_append] from uctoa::@14
uctoa_append::buffer#3 = phi( uctoa::@14/uctoa_append::buffer#0 )
uctoa_append::sub#3 = phi( uctoa::@14/uctoa_append::sub#0 )
uctoa_append::value#5 = phi( uctoa::@14/uctoa_append::value#0 )
uctoa_append::digit#0 = 0
to:uctoa_append::@1
uctoa_append::@1: scope:[uctoa_append] from uctoa_append uctoa_append::@2
uctoa_append::buffer#2 = phi( uctoa_append/uctoa_append::buffer#3, uctoa_append::@2/uctoa_append::buffer#4 )
uctoa_append::digit#4 = phi( uctoa_append/uctoa_append::digit#0, uctoa_append::@2/uctoa_append::digit#1 )
uctoa_append::sub#1 = phi( uctoa_append/uctoa_append::sub#3, uctoa_append::@2/uctoa_append::sub#2 )
uctoa_append::value#2 = phi( uctoa_append/uctoa_append::value#5, uctoa_append::@2/uctoa_append::value#1 )
uctoa_append::$0 = uctoa_append::value#2 >= uctoa_append::sub#1
if(uctoa_append::$0) goto uctoa_append::@2
to:uctoa_append::@3
uctoa_append::@2: scope:[uctoa_append] from uctoa_append::@1
uctoa_append::buffer#4 = phi( uctoa_append::@1/uctoa_append::buffer#2 )
uctoa_append::sub#2 = phi( uctoa_append::@1/uctoa_append::sub#1 )
uctoa_append::value#3 = phi( uctoa_append::@1/uctoa_append::value#2 )
uctoa_append::digit#2 = phi( uctoa_append::@1/uctoa_append::digit#4 )
uctoa_append::digit#1 = ++ uctoa_append::digit#2
uctoa_append::value#1 = uctoa_append::value#3 - uctoa_append::sub#2
to:uctoa_append::@1
uctoa_append::@3: scope:[uctoa_append] from uctoa_append::@1
uctoa_append::value#4 = phi( uctoa_append::@1/uctoa_append::value#2 )
uctoa_append::buffer#1 = phi( uctoa_append::@1/uctoa_append::buffer#2 )
uctoa_append::digit#3 = phi( uctoa_append::@1/uctoa_append::digit#4 )
*uctoa_append::buffer#1 = DIGITS[uctoa_append::digit#3]
uctoa_append::return#1 = uctoa_append::value#4
to:uctoa_append::@return
uctoa_append::@return: scope:[uctoa_append] from uctoa_append::@3
uctoa_append::return#4 = phi( uctoa_append::@3/uctoa_append::return#1 )
uctoa_append::return#2 = uctoa_append::return#4
return
to:@return
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
unsigned long ultoa_append(char *buffer , unsigned long value , unsigned long sub)
ultoa_append: scope:[ultoa_append] from ultoa::@14
ultoa_append::buffer#3 = phi( ultoa::@14/ultoa_append::buffer#0 )
ultoa_append::sub#3 = phi( ultoa::@14/ultoa_append::sub#0 )
ultoa_append::value#5 = phi( ultoa::@14/ultoa_append::value#0 )
ultoa_append::digit#0 = 0
to:ultoa_append::@1
ultoa_append::@1: scope:[ultoa_append] from ultoa_append ultoa_append::@2
ultoa_append::buffer#2 = phi( ultoa_append/ultoa_append::buffer#3, ultoa_append::@2/ultoa_append::buffer#4 )
ultoa_append::digit#4 = phi( ultoa_append/ultoa_append::digit#0, ultoa_append::@2/ultoa_append::digit#1 )
ultoa_append::sub#1 = phi( ultoa_append/ultoa_append::sub#3, ultoa_append::@2/ultoa_append::sub#2 )
ultoa_append::value#2 = phi( ultoa_append/ultoa_append::value#5, ultoa_append::@2/ultoa_append::value#1 )
ultoa_append::$0 = ultoa_append::value#2 >= ultoa_append::sub#1
if(ultoa_append::$0) goto ultoa_append::@2
to:ultoa_append::@3
ultoa_append::@2: scope:[ultoa_append] from ultoa_append::@1
ultoa_append::buffer#4 = phi( ultoa_append::@1/ultoa_append::buffer#2 )
ultoa_append::sub#2 = phi( ultoa_append::@1/ultoa_append::sub#1 )
ultoa_append::value#3 = phi( ultoa_append::@1/ultoa_append::value#2 )
ultoa_append::digit#2 = phi( ultoa_append::@1/ultoa_append::digit#4 )
ultoa_append::digit#1 = ++ ultoa_append::digit#2
ultoa_append::value#1 = ultoa_append::value#3 - ultoa_append::sub#2
to:ultoa_append::@1
ultoa_append::@3: scope:[ultoa_append] from ultoa_append::@1
ultoa_append::value#4 = phi( ultoa_append::@1/ultoa_append::value#2 )
ultoa_append::buffer#1 = phi( ultoa_append::@1/ultoa_append::buffer#2 )
ultoa_append::digit#3 = phi( ultoa_append::@1/ultoa_append::digit#4 )
*ultoa_append::buffer#1 = DIGITS[ultoa_append::digit#3]
ultoa_append::return#1 = ultoa_append::value#4
to:ultoa_append::@return
ultoa_append::@return: scope:[ultoa_append] from ultoa_append::@3
ultoa_append::return#4 = phi( ultoa_append::@3/ultoa_append::return#1 )
ultoa_append::return#2 = ultoa_append::return#4
return
to:@return
void clrscr()
clrscr: scope:[clrscr] from main
clrscr::line_text#0 = CONIO_SCREEN_TEXT
clrscr::line_cols#0 = CONIO_SCREEN_COLORS
clrscr::l#0 = 0
to:clrscr::@1
clrscr::@1: scope:[clrscr] from clrscr clrscr::@6
clrscr::line_cols#6 = phi( clrscr/clrscr::line_cols#0, clrscr::@6/clrscr::line_cols#1 )
clrscr::line_text#6 = phi( clrscr/clrscr::line_text#0, clrscr::@6/clrscr::line_text#1 )
clrscr::l#2 = phi( clrscr/clrscr::l#0, clrscr::@6/clrscr::l#1 )
clrscr::$0 = clrscr::l#2 < $19
if(clrscr::$0) goto clrscr::@2
to:clrscr::@3
clrscr::@2: scope:[clrscr] from clrscr::@1
clrscr::l#5 = phi( clrscr::@1/clrscr::l#2 )
clrscr::line_cols#5 = phi( clrscr::@1/clrscr::line_cols#6 )
clrscr::line_text#5 = phi( clrscr::@1/clrscr::line_text#6 )
clrscr::c#0 = 0
to:clrscr::@4
clrscr::@3: scope:[clrscr] from clrscr::@1
conio_cursor_x = 0
conio_cursor_y = 0
conio_line_text = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
to:clrscr::@return
clrscr::@4: scope:[clrscr] from clrscr::@2 clrscr::@5
clrscr::l#4 = phi( clrscr::@2/clrscr::l#5, clrscr::@5/clrscr::l#6 )
clrscr::line_cols#4 = phi( clrscr::@2/clrscr::line_cols#5, clrscr::@5/clrscr::line_cols#2 )
clrscr::line_text#4 = phi( clrscr::@2/clrscr::line_text#5, clrscr::@5/clrscr::line_text#2 )
clrscr::c#2 = phi( clrscr::@2/clrscr::c#0, clrscr::@5/clrscr::c#1 )
clrscr::$1 = clrscr::c#2 < $28
if(clrscr::$1) goto clrscr::@5
to:clrscr::@6
clrscr::@5: scope:[clrscr] from clrscr::@4
clrscr::l#6 = phi( clrscr::@4/clrscr::l#4 )
clrscr::line_cols#2 = phi( clrscr::@4/clrscr::line_cols#4 )
clrscr::c#3 = phi( clrscr::@4/clrscr::c#2 )
clrscr::line_text#2 = phi( clrscr::@4/clrscr::line_text#4 )
clrscr::line_text#2[clrscr::c#3] = ' '
clrscr::line_cols#2[clrscr::c#3] = conio_textcolor
clrscr::c#1 = ++ clrscr::c#3
to:clrscr::@4
clrscr::@6: scope:[clrscr] from clrscr::@4
clrscr::l#3 = phi( clrscr::@4/clrscr::l#4 )
clrscr::line_cols#3 = phi( clrscr::@4/clrscr::line_cols#4 )
clrscr::line_text#3 = phi( clrscr::@4/clrscr::line_text#4 )
clrscr::line_text#1 = clrscr::line_text#3 + $28
clrscr::line_cols#1 = clrscr::line_cols#3 + $28
clrscr::l#1 = ++ clrscr::l#3
to:clrscr::@1
clrscr::@return: scope:[clrscr] from clrscr::@3
return
to:@return
void gotoxy(char x , char y)
gotoxy: scope:[gotoxy] from conio_c64_init::@1 cscroll::@2
gotoxy::x#5 = phi( conio_c64_init::@1/gotoxy::x#2, cscroll::@2/gotoxy::x#1 )
gotoxy::y#3 = phi( conio_c64_init::@1/gotoxy::y#2, cscroll::@2/gotoxy::y#1 )
gotoxy::$0 = gotoxy::y#3 > $19
gotoxy::$1 = ! gotoxy::$0
if(gotoxy::$1) goto gotoxy::@1
to:gotoxy::@3
gotoxy::@1: scope:[gotoxy] from gotoxy gotoxy::@3
gotoxy::y#5 = phi( gotoxy/gotoxy::y#3, gotoxy::@3/gotoxy::y#0 )
gotoxy::x#3 = phi( gotoxy/gotoxy::x#5, gotoxy::@3/gotoxy::x#6 )
gotoxy::$2 = gotoxy::x#3 >= $28
gotoxy::$3 = ! gotoxy::$2
if(gotoxy::$3) goto gotoxy::@2
to:gotoxy::@4
gotoxy::@3: scope:[gotoxy] from gotoxy
gotoxy::x#6 = phi( gotoxy/gotoxy::x#5 )
gotoxy::y#0 = 0
to:gotoxy::@1
gotoxy::@2: scope:[gotoxy] from gotoxy::@1 gotoxy::@4
gotoxy::y#4 = phi( gotoxy::@1/gotoxy::y#5, gotoxy::@4/gotoxy::y#6 )
gotoxy::x#4 = phi( gotoxy::@1/gotoxy::x#3, gotoxy::@4/gotoxy::x#0 )
conio_cursor_x = gotoxy::x#4
conio_cursor_y = gotoxy::y#4
gotoxy::$7 = (unsigned int)gotoxy::y#4
gotoxy::line_offset#0 = gotoxy::$7 * $28
gotoxy::$5 = CONIO_SCREEN_TEXT + gotoxy::line_offset#0
conio_line_text = gotoxy::$5
gotoxy::$6 = CONIO_SCREEN_COLORS + gotoxy::line_offset#0
conio_line_color = gotoxy::$6
to:gotoxy::@return
gotoxy::@4: scope:[gotoxy] from gotoxy::@1
gotoxy::y#6 = phi( gotoxy::@1/gotoxy::y#5 )
gotoxy::x#0 = 0
to:gotoxy::@2
gotoxy::@return: scope:[gotoxy] from gotoxy::@2
return
to:@return
__stackcall void cputc(char c)
cputc: scope:[cputc] from
cputc::c#0 = stackidx(char,cputc::OFFSET_STACK_C)
cputc::$0 = cputc::c#0 == '
'
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#1 = phi( cputc/cputc::c#0 )
conio_line_text[conio_cursor_x] = cputc::c#1
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 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 *)CONIO_SCREEN_TEXT
memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$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 *)CONIO_SCREEN_COLORS
memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$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 *)CONIO_SCREEN_TEXT+$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 *)CONIO_SCREEN_COLORS+$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
void printf_str(void (*putc)(char) , const char *s)
printf_str: scope:[printf_str] from main::@1 main::@10 main::@11 main::@13 main::@14 main::@16 main::@17 main::@19 main::@2 main::@20 main::@22 main::@23 main::@25 main::@3 main::@5 main::@6 main::@7 main::@8 printf_number_buffer::@5
printf_str::putc#21 = phi( main::@1/printf_str::putc#1, main::@10/printf_str::putc#8, main::@11/printf_str::putc#9, main::@13/printf_str::putc#10, main::@14/printf_str::putc#11, main::@16/printf_str::putc#12, main::@17/printf_str::putc#13, main::@19/printf_str::putc#14, main::@2/printf_str::putc#2, main::@20/printf_str::putc#15, main::@22/printf_str::putc#16, main::@23/printf_str::putc#17, main::@25/printf_str::putc#18, main::@3/printf_str::putc#3, main::@5/printf_str::putc#4, main::@6/printf_str::putc#5, main::@7/printf_str::putc#6, main::@8/printf_str::putc#7, printf_number_buffer::@5/printf_str::putc#0 )
printf_str::s#21 = phi( main::@1/printf_str::s#2, main::@10/printf_str::s#9, main::@11/printf_str::s#10, main::@13/printf_str::s#11, main::@14/printf_str::s#12, main::@16/printf_str::s#13, main::@17/printf_str::s#14, main::@19/printf_str::s#15, main::@2/printf_str::s#3, main::@20/printf_str::s#16, main::@22/printf_str::s#17, main::@23/printf_str::s#18, main::@25/printf_str::s#19, main::@3/printf_str::s#4, main::@5/printf_str::s#5, main::@6/printf_str::s#6, main::@7/printf_str::s#7, main::@8/printf_str::s#8, printf_number_buffer::@5/printf_str::s#1 )
printf_str::c#0 = 0
to:printf_str::@1
printf_str::@1: scope:[printf_str] from printf_str printf_str::@2
printf_str::putc#20 = phi( printf_str/printf_str::putc#21, printf_str::@2/printf_str::putc#19 )
printf_str::s#20 = phi( printf_str/printf_str::s#21, printf_str::@2/printf_str::s#22 )
printf_str::c#1 = *printf_str::s#20
printf_str::$0 = printf_str::c#1
printf_str::s#0 = ++ printf_str::s#20
printf_str::$2 = 0 != printf_str::$0
if(printf_str::$2) goto printf_str::@2
to:printf_str::@return
printf_str::@2: scope:[printf_str] from printf_str::@1
printf_str::s#22 = phi( printf_str::@1/printf_str::s#0 )
printf_str::putc#19 = phi( printf_str::@1/printf_str::putc#20 )
printf_str::c#2 = phi( printf_str::@1/printf_str::c#1 )
stackpush(char) = printf_str::c#2
callexecute *printf_str::putc#19
sideeffect stackpullbytes(1)
to:printf_str::@1
printf_str::@return: scope:[printf_str] from printf_str::@1
return
to:@return
void printf_padding(void (*putc)(char) , char pad , char length)
printf_padding: scope:[printf_padding] from printf_number_buffer::@10 printf_number_buffer::@12 printf_number_buffer::@8
printf_padding::putc#5 = phi( printf_number_buffer::@10/printf_padding::putc#1, printf_number_buffer::@12/printf_padding::putc#2, printf_number_buffer::@8/printf_padding::putc#0 )
printf_padding::pad#5 = phi( printf_number_buffer::@10/printf_padding::pad#1, printf_number_buffer::@12/printf_padding::pad#2, printf_number_buffer::@8/printf_padding::pad#0 )
printf_padding::length#4 = phi( printf_number_buffer::@10/printf_padding::length#1, printf_number_buffer::@12/printf_padding::length#2, printf_number_buffer::@8/printf_padding::length#0 )
printf_padding::i#0 = 0
to:printf_padding::@1
printf_padding::@1: scope:[printf_padding] from printf_padding printf_padding::@3
printf_padding::putc#4 = phi( printf_padding/printf_padding::putc#5, printf_padding::@3/printf_padding::putc#6 )
printf_padding::pad#4 = phi( printf_padding/printf_padding::pad#5, printf_padding::@3/printf_padding::pad#6 )
printf_padding::length#3 = phi( printf_padding/printf_padding::length#4, printf_padding::@3/printf_padding::length#5 )
printf_padding::i#2 = phi( printf_padding/printf_padding::i#0, printf_padding::@3/printf_padding::i#1 )
printf_padding::$0 = printf_padding::i#2 < printf_padding::length#3
if(printf_padding::$0) goto printf_padding::@2
to:printf_padding::@return
printf_padding::@2: scope:[printf_padding] from printf_padding::@1
printf_padding::length#6 = phi( printf_padding::@1/printf_padding::length#3 )
printf_padding::i#4 = phi( printf_padding::@1/printf_padding::i#2 )
printf_padding::putc#3 = phi( printf_padding::@1/printf_padding::putc#4 )
printf_padding::pad#3 = phi( printf_padding::@1/printf_padding::pad#4 )
stackpush(char) = printf_padding::pad#3
callexecute *printf_padding::putc#3
sideeffect stackpullbytes(1)
to:printf_padding::@3
printf_padding::@3: scope:[printf_padding] from printf_padding::@2
printf_padding::putc#6 = phi( printf_padding::@2/printf_padding::putc#3 )
printf_padding::pad#6 = phi( printf_padding::@2/printf_padding::pad#3 )
printf_padding::length#5 = phi( printf_padding::@2/printf_padding::length#6 )
printf_padding::i#3 = phi( printf_padding::@2/printf_padding::i#4 )
printf_padding::i#1 = ++ printf_padding::i#3
to:printf_padding::@1
printf_padding::@return: scope:[printf_padding] from printf_padding::@1
return
to:@return
void printf_slong(void (*putc)(char) , long value , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_slong: scope:[printf_slong] from main::@21
printf_slong::format_upper_case#6 = phi( main::@21/printf_slong::format_upper_case#0 )
printf_slong::format_zero_padding#6 = phi( main::@21/printf_slong::format_zero_padding#0 )
printf_slong::format_justify_left#6 = phi( main::@21/printf_slong::format_justify_left#0 )
printf_slong::format_min_length#6 = phi( main::@21/printf_slong::format_min_length#0 )
printf_slong::putc#6 = phi( main::@21/printf_slong::putc#0 )
printf_slong::format_radix#6 = phi( main::@21/printf_slong::format_radix#0 )
printf_slong::format_sign_always#3 = phi( main::@21/printf_slong::format_sign_always#0 )
printf_slong::value#2 = phi( main::@21/printf_slong::value#1 )
*((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = 0
printf_slong::$0 = printf_slong::value#2 < 0
if(printf_slong::$0) goto printf_slong::@1
to:printf_slong::@3
printf_slong::@1: scope:[printf_slong] from printf_slong
printf_slong::format_upper_case#3 = phi( printf_slong/printf_slong::format_upper_case#6 )
printf_slong::format_zero_padding#3 = phi( printf_slong/printf_slong::format_zero_padding#6 )
printf_slong::format_sign_always#5 = phi( printf_slong/printf_slong::format_sign_always#3 )
printf_slong::format_justify_left#3 = phi( printf_slong/printf_slong::format_justify_left#6 )
printf_slong::format_min_length#3 = phi( printf_slong/printf_slong::format_min_length#6 )
printf_slong::putc#3 = phi( printf_slong/printf_slong::putc#6 )
printf_slong::format_radix#3 = phi( printf_slong/printf_slong::format_radix#6 )
printf_slong::value#3 = phi( printf_slong/printf_slong::value#2 )
printf_slong::$4 = - printf_slong::value#3
printf_slong::value#0 = printf_slong::$4
*((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = '-'
to:printf_slong::@2
printf_slong::@3: scope:[printf_slong] from printf_slong
printf_slong::format_upper_case#4 = phi( printf_slong/printf_slong::format_upper_case#6 )
printf_slong::format_zero_padding#4 = phi( printf_slong/printf_slong::format_zero_padding#6 )
printf_slong::format_justify_left#4 = phi( printf_slong/printf_slong::format_justify_left#6 )
printf_slong::format_min_length#4 = phi( printf_slong/printf_slong::format_min_length#6 )
printf_slong::putc#4 = phi( printf_slong/printf_slong::putc#6 )
printf_slong::format_radix#4 = phi( printf_slong/printf_slong::format_radix#6 )
printf_slong::value#5 = phi( printf_slong/printf_slong::value#2 )
printf_slong::format_sign_always#1 = phi( printf_slong/printf_slong::format_sign_always#3 )
printf_slong::$5 = 0 != printf_slong::format_sign_always#1
printf_slong::$3 = ! printf_slong::$5
if(printf_slong::$3) goto printf_slong::@2
to:printf_slong::@4
printf_slong::@4: scope:[printf_slong] from printf_slong::@3
printf_slong::format_upper_case#5 = phi( printf_slong::@3/printf_slong::format_upper_case#4 )
printf_slong::format_zero_padding#5 = phi( printf_slong::@3/printf_slong::format_zero_padding#4 )
printf_slong::format_sign_always#6 = phi( printf_slong::@3/printf_slong::format_sign_always#1 )
printf_slong::format_justify_left#5 = phi( printf_slong::@3/printf_slong::format_justify_left#4 )
printf_slong::format_min_length#5 = phi( printf_slong::@3/printf_slong::format_min_length#4 )
printf_slong::putc#5 = phi( printf_slong::@3/printf_slong::putc#4 )
printf_slong::format_radix#5 = phi( printf_slong::@3/printf_slong::format_radix#4 )
printf_slong::value#6 = phi( printf_slong::@3/printf_slong::value#5 )
*((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = '+'
to:printf_slong::@2
printf_slong::@2: scope:[printf_slong] from printf_slong::@1 printf_slong::@3 printf_slong::@4
printf_slong::format_upper_case#2 = phi( printf_slong::@1/printf_slong::format_upper_case#3, printf_slong::@3/printf_slong::format_upper_case#4, printf_slong::@4/printf_slong::format_upper_case#5 )
printf_slong::format_zero_padding#2 = phi( printf_slong::@1/printf_slong::format_zero_padding#3, printf_slong::@3/printf_slong::format_zero_padding#4, printf_slong::@4/printf_slong::format_zero_padding#5 )
printf_slong::format_sign_always#4 = phi( printf_slong::@1/printf_slong::format_sign_always#5, printf_slong::@3/printf_slong::format_sign_always#1, printf_slong::@4/printf_slong::format_sign_always#6 )
printf_slong::format_justify_left#2 = phi( printf_slong::@1/printf_slong::format_justify_left#3, printf_slong::@3/printf_slong::format_justify_left#4, printf_slong::@4/printf_slong::format_justify_left#5 )
printf_slong::format_min_length#2 = phi( printf_slong::@1/printf_slong::format_min_length#3, printf_slong::@3/printf_slong::format_min_length#4, printf_slong::@4/printf_slong::format_min_length#5 )
printf_slong::putc#2 = phi( printf_slong::@1/printf_slong::putc#3, printf_slong::@3/printf_slong::putc#4, printf_slong::@4/printf_slong::putc#5 )
printf_slong::format_radix#1 = phi( printf_slong::@1/printf_slong::format_radix#3, printf_slong::@3/printf_slong::format_radix#4, printf_slong::@4/printf_slong::format_radix#5 )
printf_slong::value#4 = phi( printf_slong::@1/printf_slong::value#0, printf_slong::@3/printf_slong::value#5, printf_slong::@4/printf_slong::value#6 )
printf_slong::uvalue#0 = (unsigned long)printf_slong::value#4
ultoa::value#1 = printf_slong::uvalue#0
ultoa::buffer#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
ultoa::radix#0 = printf_slong::format_radix#1
call ultoa
to:printf_slong::@5
printf_slong::@5: scope:[printf_slong] from printf_slong::@2
printf_slong::format_radix#2 = phi( printf_slong::@2/printf_slong::format_radix#1 )
printf_slong::format_upper_case#1 = phi( printf_slong::@2/printf_slong::format_upper_case#2 )
printf_slong::format_zero_padding#1 = phi( printf_slong::@2/printf_slong::format_zero_padding#2 )
printf_slong::format_sign_always#2 = phi( printf_slong::@2/printf_slong::format_sign_always#4 )
printf_slong::format_justify_left#1 = phi( printf_slong::@2/printf_slong::format_justify_left#2 )
printf_slong::format_min_length#1 = phi( printf_slong::@2/printf_slong::format_min_length#2 )
printf_slong::putc#1 = phi( printf_slong::@2/printf_slong::putc#2 )
printf_number_buffer::putc#0 = printf_slong::putc#1
printf_number_buffer::buffer_sign#0 = *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN)
printf_number_buffer::buffer_digits#0 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
printf_number_buffer::format_min_length#0 = printf_slong::format_min_length#1
printf_number_buffer::format_justify_left#0 = printf_slong::format_justify_left#1
printf_number_buffer::format_sign_always#0 = printf_slong::format_sign_always#2
printf_number_buffer::format_zero_padding#0 = printf_slong::format_zero_padding#1
printf_number_buffer::format_upper_case#0 = printf_slong::format_upper_case#1
printf_number_buffer::format_radix#0 = printf_slong::format_radix#2
call printf_number_buffer
to:printf_slong::@6
printf_slong::@6: scope:[printf_slong] from printf_slong::@5
to:printf_slong::@return
printf_slong::@return: scope:[printf_slong] from printf_slong::@6
return
to:@return
void printf_ulong(void (*putc)(char) , unsigned long uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_ulong: scope:[printf_ulong] from main::@24
printf_ulong::format_upper_case#5 = phi( main::@24/printf_ulong::format_upper_case#0 )
printf_ulong::format_zero_padding#5 = phi( main::@24/printf_ulong::format_zero_padding#0 )
printf_ulong::format_justify_left#5 = phi( main::@24/printf_ulong::format_justify_left#0 )
printf_ulong::format_min_length#5 = phi( main::@24/printf_ulong::format_min_length#0 )
printf_ulong::putc#5 = phi( main::@24/printf_ulong::putc#0 )
printf_ulong::format_radix#5 = phi( main::@24/printf_ulong::format_radix#0 )
printf_ulong::uvalue#4 = phi( main::@24/printf_ulong::uvalue#0 )
printf_ulong::format_sign_always#1 = phi( main::@24/printf_ulong::format_sign_always#0 )
printf_ulong::$5 = 0 != printf_ulong::format_sign_always#1
if(printf_ulong::$5) goto printf_ulong::@1
to:printf_ulong::@2
printf_ulong::@1: scope:[printf_ulong] from printf_ulong
printf_ulong::format_upper_case#3 = phi( printf_ulong/printf_ulong::format_upper_case#5 )
printf_ulong::format_zero_padding#3 = phi( printf_ulong/printf_ulong::format_zero_padding#5 )
printf_ulong::format_sign_always#4 = phi( printf_ulong/printf_ulong::format_sign_always#1 )
printf_ulong::format_justify_left#3 = phi( printf_ulong/printf_ulong::format_justify_left#5 )
printf_ulong::format_min_length#3 = phi( printf_ulong/printf_ulong::format_min_length#5 )
printf_ulong::putc#3 = phi( printf_ulong/printf_ulong::putc#5 )
printf_ulong::format_radix#3 = phi( printf_ulong/printf_ulong::format_radix#5 )
printf_ulong::uvalue#2 = phi( printf_ulong/printf_ulong::uvalue#4 )
printf_ulong::$1 = '+'
to:printf_ulong::@3
printf_ulong::@2: scope:[printf_ulong] from printf_ulong
printf_ulong::format_upper_case#4 = phi( printf_ulong/printf_ulong::format_upper_case#5 )
printf_ulong::format_zero_padding#4 = phi( printf_ulong/printf_ulong::format_zero_padding#5 )
printf_ulong::format_sign_always#5 = phi( printf_ulong/printf_ulong::format_sign_always#1 )
printf_ulong::format_justify_left#4 = phi( printf_ulong/printf_ulong::format_justify_left#5 )
printf_ulong::format_min_length#4 = phi( printf_ulong/printf_ulong::format_min_length#5 )
printf_ulong::putc#4 = phi( printf_ulong/printf_ulong::putc#5 )
printf_ulong::format_radix#4 = phi( printf_ulong/printf_ulong::format_radix#5 )
printf_ulong::uvalue#3 = phi( printf_ulong/printf_ulong::uvalue#4 )
printf_ulong::$0 = 0
to:printf_ulong::@3
printf_ulong::@3: scope:[printf_ulong] from printf_ulong::@1 printf_ulong::@2
printf_ulong::format_upper_case#2 = phi( printf_ulong::@1/printf_ulong::format_upper_case#3, printf_ulong::@2/printf_ulong::format_upper_case#4 )
printf_ulong::format_zero_padding#2 = phi( printf_ulong::@1/printf_ulong::format_zero_padding#3, printf_ulong::@2/printf_ulong::format_zero_padding#4 )
printf_ulong::format_sign_always#3 = phi( printf_ulong::@1/printf_ulong::format_sign_always#4, printf_ulong::@2/printf_ulong::format_sign_always#5 )
printf_ulong::format_justify_left#2 = phi( printf_ulong::@1/printf_ulong::format_justify_left#3, printf_ulong::@2/printf_ulong::format_justify_left#4 )
printf_ulong::format_min_length#2 = phi( printf_ulong::@1/printf_ulong::format_min_length#3, printf_ulong::@2/printf_ulong::format_min_length#4 )
printf_ulong::putc#2 = phi( printf_ulong::@1/printf_ulong::putc#3, printf_ulong::@2/printf_ulong::putc#4 )
printf_ulong::format_radix#1 = phi( printf_ulong::@1/printf_ulong::format_radix#3, printf_ulong::@2/printf_ulong::format_radix#4 )
printf_ulong::uvalue#1 = phi( printf_ulong::@1/printf_ulong::uvalue#2, printf_ulong::@2/printf_ulong::uvalue#3 )
printf_ulong::$2 = phi( printf_ulong::@1/printf_ulong::$1, printf_ulong::@2/printf_ulong::$0 )
*((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = printf_ulong::$2
ultoa::value#2 = printf_ulong::uvalue#1
ultoa::buffer#6 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
ultoa::radix#1 = printf_ulong::format_radix#1
call ultoa
to:printf_ulong::@4
printf_ulong::@4: scope:[printf_ulong] from printf_ulong::@3
printf_ulong::format_radix#2 = phi( printf_ulong::@3/printf_ulong::format_radix#1 )
printf_ulong::format_upper_case#1 = phi( printf_ulong::@3/printf_ulong::format_upper_case#2 )
printf_ulong::format_zero_padding#1 = phi( printf_ulong::@3/printf_ulong::format_zero_padding#2 )
printf_ulong::format_sign_always#2 = phi( printf_ulong::@3/printf_ulong::format_sign_always#3 )
printf_ulong::format_justify_left#1 = phi( printf_ulong::@3/printf_ulong::format_justify_left#2 )
printf_ulong::format_min_length#1 = phi( printf_ulong::@3/printf_ulong::format_min_length#2 )
printf_ulong::putc#1 = phi( printf_ulong::@3/printf_ulong::putc#2 )
printf_number_buffer::putc#1 = printf_ulong::putc#1
printf_number_buffer::buffer_sign#1 = *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN)
printf_number_buffer::buffer_digits#1 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
printf_number_buffer::format_min_length#1 = printf_ulong::format_min_length#1
printf_number_buffer::format_justify_left#1 = printf_ulong::format_justify_left#1
printf_number_buffer::format_sign_always#1 = printf_ulong::format_sign_always#2
printf_number_buffer::format_zero_padding#1 = printf_ulong::format_zero_padding#1
printf_number_buffer::format_upper_case#1 = printf_ulong::format_upper_case#1
printf_number_buffer::format_radix#1 = printf_ulong::format_radix#2
call printf_number_buffer
to:printf_ulong::@5
printf_ulong::@5: scope:[printf_ulong] from printf_ulong::@4
to:printf_ulong::@return
printf_ulong::@return: scope:[printf_ulong] from printf_ulong::@5
return
to:@return
void printf_sint(void (*putc)(char) , int value , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_sint: scope:[printf_sint] from main::@15
printf_sint::format_upper_case#6 = phi( main::@15/printf_sint::format_upper_case#0 )
printf_sint::format_zero_padding#6 = phi( main::@15/printf_sint::format_zero_padding#0 )
printf_sint::format_justify_left#6 = phi( main::@15/printf_sint::format_justify_left#0 )
printf_sint::format_min_length#6 = phi( main::@15/printf_sint::format_min_length#0 )
printf_sint::putc#6 = phi( main::@15/printf_sint::putc#0 )
printf_sint::format_radix#6 = phi( main::@15/printf_sint::format_radix#0 )
printf_sint::format_sign_always#3 = phi( main::@15/printf_sint::format_sign_always#0 )
printf_sint::value#2 = phi( main::@15/printf_sint::value#1 )
*((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = 0
printf_sint::$0 = printf_sint::value#2 < 0
if(printf_sint::$0) goto printf_sint::@1
to:printf_sint::@3
printf_sint::@1: scope:[printf_sint] from printf_sint
printf_sint::format_upper_case#3 = phi( printf_sint/printf_sint::format_upper_case#6 )
printf_sint::format_zero_padding#3 = phi( printf_sint/printf_sint::format_zero_padding#6 )
printf_sint::format_sign_always#5 = phi( printf_sint/printf_sint::format_sign_always#3 )
printf_sint::format_justify_left#3 = phi( printf_sint/printf_sint::format_justify_left#6 )
printf_sint::format_min_length#3 = phi( printf_sint/printf_sint::format_min_length#6 )
printf_sint::putc#3 = phi( printf_sint/printf_sint::putc#6 )
printf_sint::format_radix#3 = phi( printf_sint/printf_sint::format_radix#6 )
printf_sint::value#3 = phi( printf_sint/printf_sint::value#2 )
printf_sint::$4 = - printf_sint::value#3
printf_sint::value#0 = printf_sint::$4
*((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = '-'
to:printf_sint::@2
printf_sint::@3: scope:[printf_sint] from printf_sint
printf_sint::format_upper_case#4 = phi( printf_sint/printf_sint::format_upper_case#6 )
printf_sint::format_zero_padding#4 = phi( printf_sint/printf_sint::format_zero_padding#6 )
printf_sint::format_justify_left#4 = phi( printf_sint/printf_sint::format_justify_left#6 )
printf_sint::format_min_length#4 = phi( printf_sint/printf_sint::format_min_length#6 )
printf_sint::putc#4 = phi( printf_sint/printf_sint::putc#6 )
printf_sint::format_radix#4 = phi( printf_sint/printf_sint::format_radix#6 )
printf_sint::value#5 = phi( printf_sint/printf_sint::value#2 )
printf_sint::format_sign_always#1 = phi( printf_sint/printf_sint::format_sign_always#3 )
printf_sint::$5 = 0 != printf_sint::format_sign_always#1
printf_sint::$3 = ! printf_sint::$5
if(printf_sint::$3) goto printf_sint::@2
to:printf_sint::@4
printf_sint::@4: scope:[printf_sint] from printf_sint::@3
printf_sint::format_upper_case#5 = phi( printf_sint::@3/printf_sint::format_upper_case#4 )
printf_sint::format_zero_padding#5 = phi( printf_sint::@3/printf_sint::format_zero_padding#4 )
printf_sint::format_sign_always#6 = phi( printf_sint::@3/printf_sint::format_sign_always#1 )
printf_sint::format_justify_left#5 = phi( printf_sint::@3/printf_sint::format_justify_left#4 )
printf_sint::format_min_length#5 = phi( printf_sint::@3/printf_sint::format_min_length#4 )
printf_sint::putc#5 = phi( printf_sint::@3/printf_sint::putc#4 )
printf_sint::format_radix#5 = phi( printf_sint::@3/printf_sint::format_radix#4 )
printf_sint::value#6 = phi( printf_sint::@3/printf_sint::value#5 )
*((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = '+'
to:printf_sint::@2
printf_sint::@2: scope:[printf_sint] from printf_sint::@1 printf_sint::@3 printf_sint::@4
printf_sint::format_upper_case#2 = phi( printf_sint::@1/printf_sint::format_upper_case#3, printf_sint::@3/printf_sint::format_upper_case#4, printf_sint::@4/printf_sint::format_upper_case#5 )
printf_sint::format_zero_padding#2 = phi( printf_sint::@1/printf_sint::format_zero_padding#3, printf_sint::@3/printf_sint::format_zero_padding#4, printf_sint::@4/printf_sint::format_zero_padding#5 )
printf_sint::format_sign_always#4 = phi( printf_sint::@1/printf_sint::format_sign_always#5, printf_sint::@3/printf_sint::format_sign_always#1, printf_sint::@4/printf_sint::format_sign_always#6 )
printf_sint::format_justify_left#2 = phi( printf_sint::@1/printf_sint::format_justify_left#3, printf_sint::@3/printf_sint::format_justify_left#4, printf_sint::@4/printf_sint::format_justify_left#5 )
printf_sint::format_min_length#2 = phi( printf_sint::@1/printf_sint::format_min_length#3, printf_sint::@3/printf_sint::format_min_length#4, printf_sint::@4/printf_sint::format_min_length#5 )
printf_sint::putc#2 = phi( printf_sint::@1/printf_sint::putc#3, printf_sint::@3/printf_sint::putc#4, printf_sint::@4/printf_sint::putc#5 )
printf_sint::format_radix#1 = phi( printf_sint::@1/printf_sint::format_radix#3, printf_sint::@3/printf_sint::format_radix#4, printf_sint::@4/printf_sint::format_radix#5 )
printf_sint::value#4 = phi( printf_sint::@1/printf_sint::value#0, printf_sint::@3/printf_sint::value#5, printf_sint::@4/printf_sint::value#6 )
printf_sint::uvalue#0 = (unsigned int)printf_sint::value#4
utoa::value#1 = printf_sint::uvalue#0
utoa::buffer#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
utoa::radix#0 = printf_sint::format_radix#1
call utoa
to:printf_sint::@5
printf_sint::@5: scope:[printf_sint] from printf_sint::@2
printf_sint::format_radix#2 = phi( printf_sint::@2/printf_sint::format_radix#1 )
printf_sint::format_upper_case#1 = phi( printf_sint::@2/printf_sint::format_upper_case#2 )
printf_sint::format_zero_padding#1 = phi( printf_sint::@2/printf_sint::format_zero_padding#2 )
printf_sint::format_sign_always#2 = phi( printf_sint::@2/printf_sint::format_sign_always#4 )
printf_sint::format_justify_left#1 = phi( printf_sint::@2/printf_sint::format_justify_left#2 )
printf_sint::format_min_length#1 = phi( printf_sint::@2/printf_sint::format_min_length#2 )
printf_sint::putc#1 = phi( printf_sint::@2/printf_sint::putc#2 )
printf_number_buffer::putc#2 = printf_sint::putc#1
printf_number_buffer::buffer_sign#2 = *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN)
printf_number_buffer::buffer_digits#2 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
printf_number_buffer::format_min_length#2 = printf_sint::format_min_length#1
printf_number_buffer::format_justify_left#2 = printf_sint::format_justify_left#1
printf_number_buffer::format_sign_always#2 = printf_sint::format_sign_always#2
printf_number_buffer::format_zero_padding#2 = printf_sint::format_zero_padding#1
printf_number_buffer::format_upper_case#2 = printf_sint::format_upper_case#1
printf_number_buffer::format_radix#2 = printf_sint::format_radix#2
call printf_number_buffer
to:printf_sint::@6
printf_sint::@6: scope:[printf_sint] from printf_sint::@5
to:printf_sint::@return
printf_sint::@return: scope:[printf_sint] from printf_sint::@6
return
to:@return
void printf_uint(void (*putc)(char) , unsigned int uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_uint: scope:[printf_uint] from main::@18 main::@4
printf_uint::format_upper_case#6 = phi( main::@18/printf_uint::format_upper_case#1, main::@4/printf_uint::format_upper_case#0 )
printf_uint::format_zero_padding#6 = phi( main::@18/printf_uint::format_zero_padding#1, main::@4/printf_uint::format_zero_padding#0 )
printf_uint::format_justify_left#6 = phi( main::@18/printf_uint::format_justify_left#1, main::@4/printf_uint::format_justify_left#0 )
printf_uint::format_min_length#6 = phi( main::@18/printf_uint::format_min_length#1, main::@4/printf_uint::format_min_length#0 )
printf_uint::putc#6 = phi( main::@18/printf_uint::putc#1, main::@4/printf_uint::putc#0 )
printf_uint::format_radix#6 = phi( main::@18/printf_uint::format_radix#1, main::@4/printf_uint::format_radix#0 )
printf_uint::uvalue#5 = phi( main::@18/printf_uint::uvalue#1, main::@4/printf_uint::uvalue#0 )
printf_uint::format_sign_always#2 = phi( main::@18/printf_uint::format_sign_always#1, main::@4/printf_uint::format_sign_always#0 )
printf_uint::$5 = 0 != printf_uint::format_sign_always#2
if(printf_uint::$5) goto printf_uint::@1
to:printf_uint::@2
printf_uint::@1: scope:[printf_uint] from printf_uint
printf_uint::format_upper_case#4 = phi( printf_uint/printf_uint::format_upper_case#6 )
printf_uint::format_zero_padding#4 = phi( printf_uint/printf_uint::format_zero_padding#6 )
printf_uint::format_sign_always#5 = phi( printf_uint/printf_uint::format_sign_always#2 )
printf_uint::format_justify_left#4 = phi( printf_uint/printf_uint::format_justify_left#6 )
printf_uint::format_min_length#4 = phi( printf_uint/printf_uint::format_min_length#6 )
printf_uint::putc#4 = phi( printf_uint/printf_uint::putc#6 )
printf_uint::format_radix#4 = phi( printf_uint/printf_uint::format_radix#6 )
printf_uint::uvalue#3 = phi( printf_uint/printf_uint::uvalue#5 )
printf_uint::$1 = '+'
to:printf_uint::@3
printf_uint::@2: scope:[printf_uint] from printf_uint
printf_uint::format_upper_case#5 = phi( printf_uint/printf_uint::format_upper_case#6 )
printf_uint::format_zero_padding#5 = phi( printf_uint/printf_uint::format_zero_padding#6 )
printf_uint::format_sign_always#6 = phi( printf_uint/printf_uint::format_sign_always#2 )
printf_uint::format_justify_left#5 = phi( printf_uint/printf_uint::format_justify_left#6 )
printf_uint::format_min_length#5 = phi( printf_uint/printf_uint::format_min_length#6 )
printf_uint::putc#5 = phi( printf_uint/printf_uint::putc#6 )
printf_uint::format_radix#5 = phi( printf_uint/printf_uint::format_radix#6 )
printf_uint::uvalue#4 = phi( printf_uint/printf_uint::uvalue#5 )
printf_uint::$0 = 0
to:printf_uint::@3
printf_uint::@3: scope:[printf_uint] from printf_uint::@1 printf_uint::@2
printf_uint::format_upper_case#3 = phi( printf_uint::@1/printf_uint::format_upper_case#4, printf_uint::@2/printf_uint::format_upper_case#5 )
printf_uint::format_zero_padding#3 = phi( printf_uint::@1/printf_uint::format_zero_padding#4, printf_uint::@2/printf_uint::format_zero_padding#5 )
printf_uint::format_sign_always#4 = phi( printf_uint::@1/printf_uint::format_sign_always#5, printf_uint::@2/printf_uint::format_sign_always#6 )
printf_uint::format_justify_left#3 = phi( printf_uint::@1/printf_uint::format_justify_left#4, printf_uint::@2/printf_uint::format_justify_left#5 )
printf_uint::format_min_length#3 = phi( printf_uint::@1/printf_uint::format_min_length#4, printf_uint::@2/printf_uint::format_min_length#5 )
printf_uint::putc#3 = phi( printf_uint::@1/printf_uint::putc#4, printf_uint::@2/printf_uint::putc#5 )
printf_uint::format_radix#2 = phi( printf_uint::@1/printf_uint::format_radix#4, printf_uint::@2/printf_uint::format_radix#5 )
printf_uint::uvalue#2 = phi( printf_uint::@1/printf_uint::uvalue#3, printf_uint::@2/printf_uint::uvalue#4 )
printf_uint::$2 = phi( printf_uint::@1/printf_uint::$1, printf_uint::@2/printf_uint::$0 )
*((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = printf_uint::$2
utoa::value#2 = printf_uint::uvalue#2
utoa::buffer#6 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
utoa::radix#1 = printf_uint::format_radix#2
call utoa
to:printf_uint::@4
printf_uint::@4: scope:[printf_uint] from printf_uint::@3
printf_uint::format_radix#3 = phi( printf_uint::@3/printf_uint::format_radix#2 )
printf_uint::format_upper_case#2 = phi( printf_uint::@3/printf_uint::format_upper_case#3 )
printf_uint::format_zero_padding#2 = phi( printf_uint::@3/printf_uint::format_zero_padding#3 )
printf_uint::format_sign_always#3 = phi( printf_uint::@3/printf_uint::format_sign_always#4 )
printf_uint::format_justify_left#2 = phi( printf_uint::@3/printf_uint::format_justify_left#3 )
printf_uint::format_min_length#2 = phi( printf_uint::@3/printf_uint::format_min_length#3 )
printf_uint::putc#2 = phi( printf_uint::@3/printf_uint::putc#3 )
printf_number_buffer::putc#3 = printf_uint::putc#2
printf_number_buffer::buffer_sign#3 = *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN)
printf_number_buffer::buffer_digits#3 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
printf_number_buffer::format_min_length#3 = printf_uint::format_min_length#2
printf_number_buffer::format_justify_left#3 = printf_uint::format_justify_left#2
printf_number_buffer::format_sign_always#3 = printf_uint::format_sign_always#3
printf_number_buffer::format_zero_padding#3 = printf_uint::format_zero_padding#2
printf_number_buffer::format_upper_case#3 = printf_uint::format_upper_case#2
printf_number_buffer::format_radix#3 = printf_uint::format_radix#3
call printf_number_buffer
to:printf_uint::@5
printf_uint::@5: scope:[printf_uint] from printf_uint::@4
to:printf_uint::@return
printf_uint::@return: scope:[printf_uint] from printf_uint::@5
return
to:@return
void printf_schar(void (*putc)(char) , signed char value , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_schar: scope:[printf_schar] from main::@9
printf_schar::format_upper_case#6 = phi( main::@9/printf_schar::format_upper_case#0 )
printf_schar::format_zero_padding#6 = phi( main::@9/printf_schar::format_zero_padding#0 )
printf_schar::format_justify_left#6 = phi( main::@9/printf_schar::format_justify_left#0 )
printf_schar::format_min_length#6 = phi( main::@9/printf_schar::format_min_length#0 )
printf_schar::putc#6 = phi( main::@9/printf_schar::putc#0 )
printf_schar::format_radix#6 = phi( main::@9/printf_schar::format_radix#0 )
printf_schar::format_sign_always#3 = phi( main::@9/printf_schar::format_sign_always#0 )
printf_schar::value#2 = phi( main::@9/printf_schar::value#1 )
*((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = 0
printf_schar::$0 = printf_schar::value#2 < 0
if(printf_schar::$0) goto printf_schar::@1
to:printf_schar::@3
printf_schar::@1: scope:[printf_schar] from printf_schar
printf_schar::format_upper_case#3 = phi( printf_schar/printf_schar::format_upper_case#6 )
printf_schar::format_zero_padding#3 = phi( printf_schar/printf_schar::format_zero_padding#6 )
printf_schar::format_sign_always#5 = phi( printf_schar/printf_schar::format_sign_always#3 )
printf_schar::format_justify_left#3 = phi( printf_schar/printf_schar::format_justify_left#6 )
printf_schar::format_min_length#3 = phi( printf_schar/printf_schar::format_min_length#6 )
printf_schar::putc#3 = phi( printf_schar/printf_schar::putc#6 )
printf_schar::format_radix#3 = phi( printf_schar/printf_schar::format_radix#6 )
printf_schar::value#3 = phi( printf_schar/printf_schar::value#2 )
printf_schar::$4 = - printf_schar::value#3
printf_schar::value#0 = printf_schar::$4
*((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = '-'
to:printf_schar::@2
printf_schar::@3: scope:[printf_schar] from printf_schar
printf_schar::format_upper_case#4 = phi( printf_schar/printf_schar::format_upper_case#6 )
printf_schar::format_zero_padding#4 = phi( printf_schar/printf_schar::format_zero_padding#6 )
printf_schar::format_justify_left#4 = phi( printf_schar/printf_schar::format_justify_left#6 )
printf_schar::format_min_length#4 = phi( printf_schar/printf_schar::format_min_length#6 )
printf_schar::putc#4 = phi( printf_schar/printf_schar::putc#6 )
printf_schar::format_radix#4 = phi( printf_schar/printf_schar::format_radix#6 )
printf_schar::value#5 = phi( printf_schar/printf_schar::value#2 )
printf_schar::format_sign_always#1 = phi( printf_schar/printf_schar::format_sign_always#3 )
printf_schar::$5 = 0 != printf_schar::format_sign_always#1
printf_schar::$3 = ! printf_schar::$5
if(printf_schar::$3) goto printf_schar::@2
to:printf_schar::@4
printf_schar::@4: scope:[printf_schar] from printf_schar::@3
printf_schar::format_upper_case#5 = phi( printf_schar::@3/printf_schar::format_upper_case#4 )
printf_schar::format_zero_padding#5 = phi( printf_schar::@3/printf_schar::format_zero_padding#4 )
printf_schar::format_sign_always#6 = phi( printf_schar::@3/printf_schar::format_sign_always#1 )
printf_schar::format_justify_left#5 = phi( printf_schar::@3/printf_schar::format_justify_left#4 )
printf_schar::format_min_length#5 = phi( printf_schar::@3/printf_schar::format_min_length#4 )
printf_schar::putc#5 = phi( printf_schar::@3/printf_schar::putc#4 )
printf_schar::format_radix#5 = phi( printf_schar::@3/printf_schar::format_radix#4 )
printf_schar::value#6 = phi( printf_schar::@3/printf_schar::value#5 )
*((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = '+'
to:printf_schar::@2
printf_schar::@2: scope:[printf_schar] from printf_schar::@1 printf_schar::@3 printf_schar::@4
printf_schar::format_upper_case#2 = phi( printf_schar::@1/printf_schar::format_upper_case#3, printf_schar::@3/printf_schar::format_upper_case#4, printf_schar::@4/printf_schar::format_upper_case#5 )
printf_schar::format_zero_padding#2 = phi( printf_schar::@1/printf_schar::format_zero_padding#3, printf_schar::@3/printf_schar::format_zero_padding#4, printf_schar::@4/printf_schar::format_zero_padding#5 )
printf_schar::format_sign_always#4 = phi( printf_schar::@1/printf_schar::format_sign_always#5, printf_schar::@3/printf_schar::format_sign_always#1, printf_schar::@4/printf_schar::format_sign_always#6 )
printf_schar::format_justify_left#2 = phi( printf_schar::@1/printf_schar::format_justify_left#3, printf_schar::@3/printf_schar::format_justify_left#4, printf_schar::@4/printf_schar::format_justify_left#5 )
printf_schar::format_min_length#2 = phi( printf_schar::@1/printf_schar::format_min_length#3, printf_schar::@3/printf_schar::format_min_length#4, printf_schar::@4/printf_schar::format_min_length#5 )
printf_schar::putc#2 = phi( printf_schar::@1/printf_schar::putc#3, printf_schar::@3/printf_schar::putc#4, printf_schar::@4/printf_schar::putc#5 )
printf_schar::format_radix#1 = phi( printf_schar::@1/printf_schar::format_radix#3, printf_schar::@3/printf_schar::format_radix#4, printf_schar::@4/printf_schar::format_radix#5 )
printf_schar::value#4 = phi( printf_schar::@1/printf_schar::value#0, printf_schar::@3/printf_schar::value#5, printf_schar::@4/printf_schar::value#6 )
printf_schar::uvalue#0 = (char)printf_schar::value#4
uctoa::value#1 = printf_schar::uvalue#0
uctoa::buffer#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
uctoa::radix#0 = printf_schar::format_radix#1
call uctoa
to:printf_schar::@5
printf_schar::@5: scope:[printf_schar] from printf_schar::@2
printf_schar::format_radix#2 = phi( printf_schar::@2/printf_schar::format_radix#1 )
printf_schar::format_upper_case#1 = phi( printf_schar::@2/printf_schar::format_upper_case#2 )
printf_schar::format_zero_padding#1 = phi( printf_schar::@2/printf_schar::format_zero_padding#2 )
printf_schar::format_sign_always#2 = phi( printf_schar::@2/printf_schar::format_sign_always#4 )
printf_schar::format_justify_left#1 = phi( printf_schar::@2/printf_schar::format_justify_left#2 )
printf_schar::format_min_length#1 = phi( printf_schar::@2/printf_schar::format_min_length#2 )
printf_schar::putc#1 = phi( printf_schar::@2/printf_schar::putc#2 )
printf_number_buffer::putc#4 = printf_schar::putc#1
printf_number_buffer::buffer_sign#4 = *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN)
printf_number_buffer::buffer_digits#4 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
printf_number_buffer::format_min_length#4 = printf_schar::format_min_length#1
printf_number_buffer::format_justify_left#4 = printf_schar::format_justify_left#1
printf_number_buffer::format_sign_always#4 = printf_schar::format_sign_always#2
printf_number_buffer::format_zero_padding#4 = printf_schar::format_zero_padding#1
printf_number_buffer::format_upper_case#4 = printf_schar::format_upper_case#1
printf_number_buffer::format_radix#4 = printf_schar::format_radix#2
call printf_number_buffer
to:printf_schar::@6
printf_schar::@6: scope:[printf_schar] from printf_schar::@5
to:printf_schar::@return
printf_schar::@return: scope:[printf_schar] from printf_schar::@6
return
to:@return
void printf_uchar(void (*putc)(char) , char uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_uchar: scope:[printf_uchar] from main::@12
printf_uchar::format_upper_case#5 = phi( main::@12/printf_uchar::format_upper_case#0 )
printf_uchar::format_zero_padding#5 = phi( main::@12/printf_uchar::format_zero_padding#0 )
printf_uchar::format_justify_left#5 = phi( main::@12/printf_uchar::format_justify_left#0 )
printf_uchar::format_min_length#5 = phi( main::@12/printf_uchar::format_min_length#0 )
printf_uchar::putc#5 = phi( main::@12/printf_uchar::putc#0 )
printf_uchar::format_radix#5 = phi( main::@12/printf_uchar::format_radix#0 )
printf_uchar::uvalue#4 = phi( main::@12/printf_uchar::uvalue#0 )
printf_uchar::format_sign_always#1 = phi( main::@12/printf_uchar::format_sign_always#0 )
printf_uchar::$5 = 0 != printf_uchar::format_sign_always#1
if(printf_uchar::$5) goto printf_uchar::@1
to:printf_uchar::@2
printf_uchar::@1: scope:[printf_uchar] from printf_uchar
printf_uchar::format_upper_case#3 = phi( printf_uchar/printf_uchar::format_upper_case#5 )
printf_uchar::format_zero_padding#3 = phi( printf_uchar/printf_uchar::format_zero_padding#5 )
printf_uchar::format_sign_always#4 = phi( printf_uchar/printf_uchar::format_sign_always#1 )
printf_uchar::format_justify_left#3 = phi( printf_uchar/printf_uchar::format_justify_left#5 )
printf_uchar::format_min_length#3 = phi( printf_uchar/printf_uchar::format_min_length#5 )
printf_uchar::putc#3 = phi( printf_uchar/printf_uchar::putc#5 )
printf_uchar::format_radix#3 = phi( printf_uchar/printf_uchar::format_radix#5 )
printf_uchar::uvalue#2 = phi( printf_uchar/printf_uchar::uvalue#4 )
printf_uchar::$1 = '+'
to:printf_uchar::@3
printf_uchar::@2: scope:[printf_uchar] from printf_uchar
printf_uchar::format_upper_case#4 = phi( printf_uchar/printf_uchar::format_upper_case#5 )
printf_uchar::format_zero_padding#4 = phi( printf_uchar/printf_uchar::format_zero_padding#5 )
printf_uchar::format_sign_always#5 = phi( printf_uchar/printf_uchar::format_sign_always#1 )
printf_uchar::format_justify_left#4 = phi( printf_uchar/printf_uchar::format_justify_left#5 )
printf_uchar::format_min_length#4 = phi( printf_uchar/printf_uchar::format_min_length#5 )
printf_uchar::putc#4 = phi( printf_uchar/printf_uchar::putc#5 )
printf_uchar::format_radix#4 = phi( printf_uchar/printf_uchar::format_radix#5 )
printf_uchar::uvalue#3 = phi( printf_uchar/printf_uchar::uvalue#4 )
printf_uchar::$0 = 0
to:printf_uchar::@3
printf_uchar::@3: scope:[printf_uchar] from printf_uchar::@1 printf_uchar::@2
printf_uchar::format_upper_case#2 = phi( printf_uchar::@1/printf_uchar::format_upper_case#3, printf_uchar::@2/printf_uchar::format_upper_case#4 )
printf_uchar::format_zero_padding#2 = phi( printf_uchar::@1/printf_uchar::format_zero_padding#3, printf_uchar::@2/printf_uchar::format_zero_padding#4 )
printf_uchar::format_sign_always#3 = phi( printf_uchar::@1/printf_uchar::format_sign_always#4, printf_uchar::@2/printf_uchar::format_sign_always#5 )
printf_uchar::format_justify_left#2 = phi( printf_uchar::@1/printf_uchar::format_justify_left#3, printf_uchar::@2/printf_uchar::format_justify_left#4 )
printf_uchar::format_min_length#2 = phi( printf_uchar::@1/printf_uchar::format_min_length#3, printf_uchar::@2/printf_uchar::format_min_length#4 )
printf_uchar::putc#2 = phi( printf_uchar::@1/printf_uchar::putc#3, printf_uchar::@2/printf_uchar::putc#4 )
printf_uchar::format_radix#1 = phi( printf_uchar::@1/printf_uchar::format_radix#3, printf_uchar::@2/printf_uchar::format_radix#4 )
printf_uchar::uvalue#1 = phi( printf_uchar::@1/printf_uchar::uvalue#2, printf_uchar::@2/printf_uchar::uvalue#3 )
printf_uchar::$2 = phi( printf_uchar::@1/printf_uchar::$1, printf_uchar::@2/printf_uchar::$0 )
*((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = printf_uchar::$2
uctoa::value#2 = printf_uchar::uvalue#1
uctoa::buffer#6 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
uctoa::radix#1 = printf_uchar::format_radix#1
call uctoa
to:printf_uchar::@4
printf_uchar::@4: scope:[printf_uchar] from printf_uchar::@3
printf_uchar::format_radix#2 = phi( printf_uchar::@3/printf_uchar::format_radix#1 )
printf_uchar::format_upper_case#1 = phi( printf_uchar::@3/printf_uchar::format_upper_case#2 )
printf_uchar::format_zero_padding#1 = phi( printf_uchar::@3/printf_uchar::format_zero_padding#2 )
printf_uchar::format_sign_always#2 = phi( printf_uchar::@3/printf_uchar::format_sign_always#3 )
printf_uchar::format_justify_left#1 = phi( printf_uchar::@3/printf_uchar::format_justify_left#2 )
printf_uchar::format_min_length#1 = phi( printf_uchar::@3/printf_uchar::format_min_length#2 )
printf_uchar::putc#1 = phi( printf_uchar::@3/printf_uchar::putc#2 )
printf_number_buffer::putc#5 = printf_uchar::putc#1
printf_number_buffer::buffer_sign#5 = *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN)
printf_number_buffer::buffer_digits#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
printf_number_buffer::format_min_length#5 = printf_uchar::format_min_length#1
printf_number_buffer::format_justify_left#5 = printf_uchar::format_justify_left#1
printf_number_buffer::format_sign_always#5 = printf_uchar::format_sign_always#2
printf_number_buffer::format_zero_padding#5 = printf_uchar::format_zero_padding#1
printf_number_buffer::format_upper_case#5 = printf_uchar::format_upper_case#1
printf_number_buffer::format_radix#5 = printf_uchar::format_radix#2
call printf_number_buffer
to:printf_uchar::@5
printf_uchar::@5: scope:[printf_uchar] from printf_uchar::@4
to:printf_uchar::@return
printf_uchar::@return: scope:[printf_uchar] from printf_uchar::@5
return
to:@return
void printf_number_buffer(void (*putc)(char) , char buffer_sign , char *buffer_digits , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_number_buffer: scope:[printf_number_buffer] from printf_schar::@5 printf_sint::@5 printf_slong::@5 printf_uchar::@4 printf_uint::@4 printf_ulong::@4
printf_number_buffer::format_upper_case#14 = phi( printf_schar::@5/printf_number_buffer::format_upper_case#4, printf_sint::@5/printf_number_buffer::format_upper_case#2, printf_slong::@5/printf_number_buffer::format_upper_case#0, printf_uchar::@4/printf_number_buffer::format_upper_case#5, printf_uint::@4/printf_number_buffer::format_upper_case#3, printf_ulong::@4/printf_number_buffer::format_upper_case#1 )
printf_number_buffer::putc#17 = phi( printf_schar::@5/printf_number_buffer::putc#4, printf_sint::@5/printf_number_buffer::putc#2, printf_slong::@5/printf_number_buffer::putc#0, printf_uchar::@4/printf_number_buffer::putc#5, printf_uint::@4/printf_number_buffer::putc#3, printf_ulong::@4/printf_number_buffer::putc#1 )
printf_number_buffer::buffer_sign#12 = phi( printf_schar::@5/printf_number_buffer::buffer_sign#4, printf_sint::@5/printf_number_buffer::buffer_sign#2, printf_slong::@5/printf_number_buffer::buffer_sign#0, printf_uchar::@4/printf_number_buffer::buffer_sign#5, printf_uint::@4/printf_number_buffer::buffer_sign#3, printf_ulong::@4/printf_number_buffer::buffer_sign#1 )
printf_number_buffer::buffer_digits#9 = phi( printf_schar::@5/printf_number_buffer::buffer_digits#4, printf_sint::@5/printf_number_buffer::buffer_digits#2, printf_slong::@5/printf_number_buffer::buffer_digits#0, printf_uchar::@4/printf_number_buffer::buffer_digits#5, printf_uint::@4/printf_number_buffer::buffer_digits#3, printf_ulong::@4/printf_number_buffer::buffer_digits#1 )
printf_number_buffer::format_zero_padding#9 = phi( printf_schar::@5/printf_number_buffer::format_zero_padding#4, printf_sint::@5/printf_number_buffer::format_zero_padding#2, printf_slong::@5/printf_number_buffer::format_zero_padding#0, printf_uchar::@4/printf_number_buffer::format_zero_padding#5, printf_uint::@4/printf_number_buffer::format_zero_padding#3, printf_ulong::@4/printf_number_buffer::format_zero_padding#1 )
printf_number_buffer::format_justify_left#8 = phi( printf_schar::@5/printf_number_buffer::format_justify_left#4, printf_sint::@5/printf_number_buffer::format_justify_left#2, printf_slong::@5/printf_number_buffer::format_justify_left#0, printf_uchar::@4/printf_number_buffer::format_justify_left#5, printf_uint::@4/printf_number_buffer::format_justify_left#3, printf_ulong::@4/printf_number_buffer::format_justify_left#1 )
printf_number_buffer::format_min_length#6 = phi( printf_schar::@5/printf_number_buffer::format_min_length#4, printf_sint::@5/printf_number_buffer::format_min_length#2, printf_slong::@5/printf_number_buffer::format_min_length#0, printf_uchar::@4/printf_number_buffer::format_min_length#5, printf_uint::@4/printf_number_buffer::format_min_length#3, printf_ulong::@4/printf_number_buffer::format_min_length#1 )
printf_number_buffer::padding#0 = 0
printf_number_buffer::$26 = 0 != printf_number_buffer::format_min_length#6
printf_number_buffer::$0 = ! printf_number_buffer::$26
if(printf_number_buffer::$0) goto printf_number_buffer::@1
to:printf_number_buffer::@6
printf_number_buffer::@1: scope:[printf_number_buffer] from printf_number_buffer printf_number_buffer::@13 printf_number_buffer::@14
printf_number_buffer::buffer_digits#17 = phi( printf_number_buffer/printf_number_buffer::buffer_digits#9, printf_number_buffer::@13/printf_number_buffer::buffer_digits#19, printf_number_buffer::@14/printf_number_buffer::buffer_digits#20 )
printf_number_buffer::format_upper_case#12 = phi( printf_number_buffer/printf_number_buffer::format_upper_case#14, printf_number_buffer::@13/printf_number_buffer::format_upper_case#15, printf_number_buffer::@14/printf_number_buffer::format_upper_case#16 )
printf_number_buffer::putc#11 = phi( printf_number_buffer/printf_number_buffer::putc#17, printf_number_buffer::@13/printf_number_buffer::putc#18, printf_number_buffer::@14/printf_number_buffer::putc#19 )
printf_number_buffer::buffer_sign#10 = phi( printf_number_buffer/printf_number_buffer::buffer_sign#12, printf_number_buffer::@13/printf_number_buffer::buffer_sign#13, printf_number_buffer::@14/printf_number_buffer::buffer_sign#14 )
printf_number_buffer::padding#3 = phi( printf_number_buffer/printf_number_buffer::padding#0, printf_number_buffer::@13/printf_number_buffer::padding#1, printf_number_buffer::@14/printf_number_buffer::padding#2 )
printf_number_buffer::format_zero_padding#6 = phi( printf_number_buffer/printf_number_buffer::format_zero_padding#9, printf_number_buffer::@13/printf_number_buffer::format_zero_padding#10, printf_number_buffer::@14/printf_number_buffer::format_zero_padding#11 )
printf_number_buffer::format_justify_left#6 = phi( printf_number_buffer/printf_number_buffer::format_justify_left#8, printf_number_buffer::@13/printf_number_buffer::format_justify_left#9, printf_number_buffer::@14/printf_number_buffer::format_justify_left#10 )
printf_number_buffer::$27 = 0 != printf_number_buffer::format_justify_left#6
printf_number_buffer::$1 = ! printf_number_buffer::$27
printf_number_buffer::$28 = 0 != printf_number_buffer::format_zero_padding#6
printf_number_buffer::$2 = ! printf_number_buffer::$28
printf_number_buffer::$3 = printf_number_buffer::$1 && printf_number_buffer::$2
printf_number_buffer::$4 = printf_number_buffer::$3 && printf_number_buffer::padding#3
printf_number_buffer::$5 = ! printf_number_buffer::$4
if(printf_number_buffer::$5) goto printf_number_buffer::@2
to:printf_number_buffer::@8
printf_number_buffer::@6: scope:[printf_number_buffer] from printf_number_buffer
printf_number_buffer::format_upper_case#20 = phi( printf_number_buffer/printf_number_buffer::format_upper_case#14 )
printf_number_buffer::putc#25 = phi( printf_number_buffer/printf_number_buffer::putc#17 )
printf_number_buffer::format_zero_padding#20 = phi( printf_number_buffer/printf_number_buffer::format_zero_padding#9 )
printf_number_buffer::format_justify_left#16 = phi( printf_number_buffer/printf_number_buffer::format_justify_left#8 )
printf_number_buffer::format_min_length#10 = phi( printf_number_buffer/printf_number_buffer::format_min_length#6 )
printf_number_buffer::buffer_sign#9 = phi( printf_number_buffer/printf_number_buffer::buffer_sign#12 )
printf_number_buffer::buffer_digits#6 = phi( printf_number_buffer/printf_number_buffer::buffer_digits#9 )
strlen::str#1 = printf_number_buffer::buffer_digits#6
call strlen
strlen::return#2 = strlen::return#1
to:printf_number_buffer::@15
printf_number_buffer::@15: scope:[printf_number_buffer] from printf_number_buffer::@6
printf_number_buffer::buffer_digits#22 = phi( printf_number_buffer::@6/printf_number_buffer::buffer_digits#6 )
printf_number_buffer::format_upper_case#18 = phi( printf_number_buffer::@6/printf_number_buffer::format_upper_case#20 )
printf_number_buffer::putc#23 = phi( printf_number_buffer::@6/printf_number_buffer::putc#25 )
printf_number_buffer::format_zero_padding#15 = phi( printf_number_buffer::@6/printf_number_buffer::format_zero_padding#20 )
printf_number_buffer::format_justify_left#12 = phi( printf_number_buffer::@6/printf_number_buffer::format_justify_left#16 )
printf_number_buffer::format_min_length#8 = phi( printf_number_buffer::@6/printf_number_buffer::format_min_length#10 )
printf_number_buffer::buffer_sign#6 = phi( printf_number_buffer::@6/printf_number_buffer::buffer_sign#9 )
strlen::return#4 = phi( printf_number_buffer::@6/strlen::return#2 )
printf_number_buffer::$19 = strlen::return#4
printf_number_buffer::len#0 = (signed char)printf_number_buffer::$19
printf_number_buffer::$29 = 0 != printf_number_buffer::buffer_sign#6
printf_number_buffer::$20 = ! printf_number_buffer::$29
if(printf_number_buffer::$20) goto printf_number_buffer::@13
to:printf_number_buffer::@7
printf_number_buffer::@13: scope:[printf_number_buffer] from printf_number_buffer::@15 printf_number_buffer::@7
printf_number_buffer::buffer_digits#19 = phi( printf_number_buffer::@15/printf_number_buffer::buffer_digits#22, printf_number_buffer::@7/printf_number_buffer::buffer_digits#23 )
printf_number_buffer::format_upper_case#15 = phi( printf_number_buffer::@15/printf_number_buffer::format_upper_case#18, printf_number_buffer::@7/printf_number_buffer::format_upper_case#19 )
printf_number_buffer::putc#18 = phi( printf_number_buffer::@15/printf_number_buffer::putc#23, printf_number_buffer::@7/printf_number_buffer::putc#24 )
printf_number_buffer::buffer_sign#13 = phi( printf_number_buffer::@15/printf_number_buffer::buffer_sign#6, printf_number_buffer::@7/printf_number_buffer::buffer_sign#16 )
printf_number_buffer::format_zero_padding#10 = phi( printf_number_buffer::@15/printf_number_buffer::format_zero_padding#15, printf_number_buffer::@7/printf_number_buffer::format_zero_padding#16 )
printf_number_buffer::format_justify_left#9 = phi( printf_number_buffer::@15/printf_number_buffer::format_justify_left#12, printf_number_buffer::@7/printf_number_buffer::format_justify_left#13 )
printf_number_buffer::len#2 = phi( printf_number_buffer::@15/printf_number_buffer::len#0, printf_number_buffer::@7/printf_number_buffer::len#1 )
printf_number_buffer::format_min_length#7 = phi( printf_number_buffer::@15/printf_number_buffer::format_min_length#8, printf_number_buffer::@7/printf_number_buffer::format_min_length#9 )
printf_number_buffer::$25 = (signed char)printf_number_buffer::format_min_length#7
printf_number_buffer::$21 = printf_number_buffer::$25 - printf_number_buffer::len#2
printf_number_buffer::padding#1 = printf_number_buffer::$21
printf_number_buffer::$22 = printf_number_buffer::padding#1 < 0
printf_number_buffer::$23 = ! printf_number_buffer::$22
if(printf_number_buffer::$23) goto printf_number_buffer::@1
to:printf_number_buffer::@14
printf_number_buffer::@7: scope:[printf_number_buffer] from printf_number_buffer::@15
printf_number_buffer::buffer_digits#23 = phi( printf_number_buffer::@15/printf_number_buffer::buffer_digits#22 )
printf_number_buffer::format_upper_case#19 = phi( printf_number_buffer::@15/printf_number_buffer::format_upper_case#18 )
printf_number_buffer::putc#24 = phi( printf_number_buffer::@15/printf_number_buffer::putc#23 )
printf_number_buffer::buffer_sign#16 = phi( printf_number_buffer::@15/printf_number_buffer::buffer_sign#6 )
printf_number_buffer::format_zero_padding#16 = phi( printf_number_buffer::@15/printf_number_buffer::format_zero_padding#15 )
printf_number_buffer::format_justify_left#13 = phi( printf_number_buffer::@15/printf_number_buffer::format_justify_left#12 )
printf_number_buffer::format_min_length#9 = phi( printf_number_buffer::@15/printf_number_buffer::format_min_length#8 )
printf_number_buffer::len#3 = phi( printf_number_buffer::@15/printf_number_buffer::len#0 )
printf_number_buffer::len#1 = ++ printf_number_buffer::len#3
to:printf_number_buffer::@13
printf_number_buffer::@14: scope:[printf_number_buffer] from printf_number_buffer::@13
printf_number_buffer::buffer_digits#20 = phi( printf_number_buffer::@13/printf_number_buffer::buffer_digits#19 )
printf_number_buffer::format_upper_case#16 = phi( printf_number_buffer::@13/printf_number_buffer::format_upper_case#15 )
printf_number_buffer::putc#19 = phi( printf_number_buffer::@13/printf_number_buffer::putc#18 )
printf_number_buffer::buffer_sign#14 = phi( printf_number_buffer::@13/printf_number_buffer::buffer_sign#13 )
printf_number_buffer::format_zero_padding#11 = phi( printf_number_buffer::@13/printf_number_buffer::format_zero_padding#10 )
printf_number_buffer::format_justify_left#10 = phi( printf_number_buffer::@13/printf_number_buffer::format_justify_left#9 )
printf_number_buffer::padding#2 = 0
to:printf_number_buffer::@1
printf_number_buffer::@2: scope:[printf_number_buffer] from printf_number_buffer::@1 printf_number_buffer::@16
printf_number_buffer::format_justify_left#20 = phi( printf_number_buffer::@1/printf_number_buffer::format_justify_left#6, printf_number_buffer::@16/printf_number_buffer::format_justify_left#23 )
printf_number_buffer::buffer_digits#14 = phi( printf_number_buffer::@1/printf_number_buffer::buffer_digits#17, printf_number_buffer::@16/printf_number_buffer::buffer_digits#18 )
printf_number_buffer::format_upper_case#9 = phi( printf_number_buffer::@1/printf_number_buffer::format_upper_case#12, printf_number_buffer::@16/printf_number_buffer::format_upper_case#13 )
printf_number_buffer::putc#12 = phi( printf_number_buffer::@1/printf_number_buffer::putc#11, printf_number_buffer::@16/printf_number_buffer::putc#20 )
printf_number_buffer::padding#9 = phi( printf_number_buffer::@1/printf_number_buffer::padding#3, printf_number_buffer::@16/printf_number_buffer::padding#12 )
printf_number_buffer::format_zero_padding#12 = phi( printf_number_buffer::@1/printf_number_buffer::format_zero_padding#6, printf_number_buffer::@16/printf_number_buffer::format_zero_padding#17 )
printf_number_buffer::buffer_sign#7 = phi( printf_number_buffer::@1/printf_number_buffer::buffer_sign#10, printf_number_buffer::@16/printf_number_buffer::buffer_sign#11 )
printf_number_buffer::$30 = 0 != printf_number_buffer::buffer_sign#7
printf_number_buffer::$7 = ! printf_number_buffer::$30
if(printf_number_buffer::$7) goto printf_number_buffer::@3
to:printf_number_buffer::@9
printf_number_buffer::@8: scope:[printf_number_buffer] from printf_number_buffer::@1
printf_number_buffer::format_justify_left#24 = phi( printf_number_buffer::@1/printf_number_buffer::format_justify_left#6 )
printf_number_buffer::buffer_digits#21 = phi( printf_number_buffer::@1/printf_number_buffer::buffer_digits#17 )
printf_number_buffer::format_upper_case#17 = phi( printf_number_buffer::@1/printf_number_buffer::format_upper_case#12 )
printf_number_buffer::format_zero_padding#21 = phi( printf_number_buffer::@1/printf_number_buffer::format_zero_padding#6 )
printf_number_buffer::buffer_sign#15 = phi( printf_number_buffer::@1/printf_number_buffer::buffer_sign#10 )
printf_number_buffer::padding#4 = phi( printf_number_buffer::@1/printf_number_buffer::padding#3 )
printf_number_buffer::putc#6 = phi( printf_number_buffer::@1/printf_number_buffer::putc#11 )
printf_padding::putc#0 = printf_number_buffer::putc#6
printf_padding::pad#0 = ' '
printf_padding::length#0 = (char)printf_number_buffer::padding#4
call printf_padding
to:printf_number_buffer::@16
printf_number_buffer::@16: scope:[printf_number_buffer] from printf_number_buffer::@8
printf_number_buffer::format_justify_left#23 = phi( printf_number_buffer::@8/printf_number_buffer::format_justify_left#24 )
printf_number_buffer::buffer_digits#18 = phi( printf_number_buffer::@8/printf_number_buffer::buffer_digits#21 )
printf_number_buffer::format_upper_case#13 = phi( printf_number_buffer::@8/printf_number_buffer::format_upper_case#17 )
printf_number_buffer::putc#20 = phi( printf_number_buffer::@8/printf_number_buffer::putc#6 )
printf_number_buffer::padding#12 = phi( printf_number_buffer::@8/printf_number_buffer::padding#4 )
printf_number_buffer::format_zero_padding#17 = phi( printf_number_buffer::@8/printf_number_buffer::format_zero_padding#21 )
printf_number_buffer::buffer_sign#11 = phi( printf_number_buffer::@8/printf_number_buffer::buffer_sign#15 )
to:printf_number_buffer::@2
printf_number_buffer::@3: scope:[printf_number_buffer] from printf_number_buffer::@2 printf_number_buffer::@9
printf_number_buffer::format_justify_left#18 = phi( printf_number_buffer::@2/printf_number_buffer::format_justify_left#20, printf_number_buffer::@9/printf_number_buffer::format_justify_left#21 )
printf_number_buffer::buffer_digits#13 = phi( printf_number_buffer::@2/printf_number_buffer::buffer_digits#14, printf_number_buffer::@9/printf_number_buffer::buffer_digits#15 )
printf_number_buffer::putc#13 = phi( printf_number_buffer::@2/printf_number_buffer::putc#12, printf_number_buffer::@9/printf_number_buffer::putc#7 )
printf_number_buffer::format_upper_case#8 = phi( printf_number_buffer::@2/printf_number_buffer::format_upper_case#9, printf_number_buffer::@9/printf_number_buffer::format_upper_case#10 )
printf_number_buffer::padding#5 = phi( printf_number_buffer::@2/printf_number_buffer::padding#9, printf_number_buffer::@9/printf_number_buffer::padding#10 )
printf_number_buffer::format_zero_padding#7 = phi( printf_number_buffer::@2/printf_number_buffer::format_zero_padding#12, printf_number_buffer::@9/printf_number_buffer::format_zero_padding#13 )
printf_number_buffer::$9 = printf_number_buffer::format_zero_padding#7 && printf_number_buffer::padding#5
printf_number_buffer::$10 = ! printf_number_buffer::$9
if(printf_number_buffer::$10) goto printf_number_buffer::@4
to:printf_number_buffer::@10
printf_number_buffer::@9: scope:[printf_number_buffer] from printf_number_buffer::@2
printf_number_buffer::format_justify_left#21 = phi( printf_number_buffer::@2/printf_number_buffer::format_justify_left#20 )
printf_number_buffer::buffer_digits#15 = phi( printf_number_buffer::@2/printf_number_buffer::buffer_digits#14 )
printf_number_buffer::format_upper_case#10 = phi( printf_number_buffer::@2/printf_number_buffer::format_upper_case#9 )
printf_number_buffer::padding#10 = phi( printf_number_buffer::@2/printf_number_buffer::padding#9 )
printf_number_buffer::format_zero_padding#13 = phi( printf_number_buffer::@2/printf_number_buffer::format_zero_padding#12 )
printf_number_buffer::putc#7 = phi( printf_number_buffer::@2/printf_number_buffer::putc#12 )
printf_number_buffer::buffer_sign#8 = phi( printf_number_buffer::@2/printf_number_buffer::buffer_sign#7 )
stackpush(char) = printf_number_buffer::buffer_sign#8
callexecute *printf_number_buffer::putc#7
sideeffect stackpullbytes(1)
to:printf_number_buffer::@3
printf_number_buffer::@4: scope:[printf_number_buffer] from printf_number_buffer::@17 printf_number_buffer::@3
printf_number_buffer::padding#14 = phi( printf_number_buffer::@17/printf_number_buffer::padding#15, printf_number_buffer::@3/printf_number_buffer::padding#5 )
printf_number_buffer::format_justify_left#15 = phi( printf_number_buffer::@17/printf_number_buffer::format_justify_left#17, printf_number_buffer::@3/printf_number_buffer::format_justify_left#18 )
printf_number_buffer::format_zero_padding#19 = phi( printf_number_buffer::@17/printf_number_buffer::format_zero_padding#22, printf_number_buffer::@3/printf_number_buffer::format_zero_padding#7 )
printf_number_buffer::buffer_digits#11 = phi( printf_number_buffer::@17/printf_number_buffer::buffer_digits#12, printf_number_buffer::@3/printf_number_buffer::buffer_digits#13 )
printf_number_buffer::putc#15 = phi( printf_number_buffer::@17/printf_number_buffer::putc#21, printf_number_buffer::@3/printf_number_buffer::putc#13 )
printf_number_buffer::format_upper_case#6 = phi( printf_number_buffer::@17/printf_number_buffer::format_upper_case#7, printf_number_buffer::@3/printf_number_buffer::format_upper_case#8 )
printf_number_buffer::$31 = 0 != printf_number_buffer::format_upper_case#6
printf_number_buffer::$12 = ! printf_number_buffer::$31
if(printf_number_buffer::$12) goto printf_number_buffer::@5
to:printf_number_buffer::@11
printf_number_buffer::@10: scope:[printf_number_buffer] from printf_number_buffer::@3
printf_number_buffer::format_justify_left#22 = phi( printf_number_buffer::@3/printf_number_buffer::format_justify_left#18 )
printf_number_buffer::format_zero_padding#24 = phi( printf_number_buffer::@3/printf_number_buffer::format_zero_padding#7 )
printf_number_buffer::buffer_digits#16 = phi( printf_number_buffer::@3/printf_number_buffer::buffer_digits#13 )
printf_number_buffer::format_upper_case#11 = phi( printf_number_buffer::@3/printf_number_buffer::format_upper_case#8 )
printf_number_buffer::padding#6 = phi( printf_number_buffer::@3/printf_number_buffer::padding#5 )
printf_number_buffer::putc#8 = phi( printf_number_buffer::@3/printf_number_buffer::putc#13 )
printf_padding::putc#1 = printf_number_buffer::putc#8
printf_padding::pad#1 = '0'
printf_padding::length#1 = (char)printf_number_buffer::padding#6
call printf_padding
to:printf_number_buffer::@17
printf_number_buffer::@17: scope:[printf_number_buffer] from printf_number_buffer::@10
printf_number_buffer::padding#15 = phi( printf_number_buffer::@10/printf_number_buffer::padding#6 )
printf_number_buffer::format_justify_left#17 = phi( printf_number_buffer::@10/printf_number_buffer::format_justify_left#22 )
printf_number_buffer::format_zero_padding#22 = phi( printf_number_buffer::@10/printf_number_buffer::format_zero_padding#24 )
printf_number_buffer::buffer_digits#12 = phi( printf_number_buffer::@10/printf_number_buffer::buffer_digits#16 )
printf_number_buffer::putc#21 = phi( printf_number_buffer::@10/printf_number_buffer::putc#8 )
printf_number_buffer::format_upper_case#7 = phi( printf_number_buffer::@10/printf_number_buffer::format_upper_case#11 )
to:printf_number_buffer::@4
printf_number_buffer::@5: scope:[printf_number_buffer] from printf_number_buffer::@19 printf_number_buffer::@4
printf_number_buffer::padding#11 = phi( printf_number_buffer::@19/printf_number_buffer::padding#13, printf_number_buffer::@4/printf_number_buffer::padding#14 )
printf_number_buffer::format_justify_left#11 = phi( printf_number_buffer::@19/printf_number_buffer::format_justify_left#14, printf_number_buffer::@4/printf_number_buffer::format_justify_left#15 )
printf_number_buffer::format_zero_padding#14 = phi( printf_number_buffer::@19/printf_number_buffer::format_zero_padding#18, printf_number_buffer::@4/printf_number_buffer::format_zero_padding#19 )
printf_number_buffer::buffer_digits#7 = phi( printf_number_buffer::@19/printf_number_buffer::buffer_digits#10, printf_number_buffer::@4/printf_number_buffer::buffer_digits#11 )
printf_number_buffer::putc#9 = phi( printf_number_buffer::@19/printf_number_buffer::putc#14, printf_number_buffer::@4/printf_number_buffer::putc#15 )
printf_str::putc#0 = printf_number_buffer::putc#9
printf_str::s#1 = printf_number_buffer::buffer_digits#7
call printf_str
to:printf_number_buffer::@18
printf_number_buffer::@18: scope:[printf_number_buffer] from printf_number_buffer::@5
printf_number_buffer::putc#16 = phi( printf_number_buffer::@5/printf_number_buffer::putc#9 )
printf_number_buffer::padding#7 = phi( printf_number_buffer::@5/printf_number_buffer::padding#11 )
printf_number_buffer::format_justify_left#7 = phi( printf_number_buffer::@5/printf_number_buffer::format_justify_left#11 )
printf_number_buffer::format_zero_padding#8 = phi( printf_number_buffer::@5/printf_number_buffer::format_zero_padding#14 )
printf_number_buffer::$32 = 0 != printf_number_buffer::format_zero_padding#8
printf_number_buffer::$14 = ! printf_number_buffer::$32
printf_number_buffer::$15 = printf_number_buffer::format_justify_left#7 && printf_number_buffer::$14
printf_number_buffer::$16 = printf_number_buffer::$15 && printf_number_buffer::padding#7
printf_number_buffer::$17 = ! printf_number_buffer::$16
if(printf_number_buffer::$17) goto printf_number_buffer::@return
to:printf_number_buffer::@12
printf_number_buffer::@11: scope:[printf_number_buffer] from printf_number_buffer::@4
printf_number_buffer::padding#16 = phi( printf_number_buffer::@4/printf_number_buffer::padding#14 )
printf_number_buffer::format_justify_left#19 = phi( printf_number_buffer::@4/printf_number_buffer::format_justify_left#15 )
printf_number_buffer::format_zero_padding#23 = phi( printf_number_buffer::@4/printf_number_buffer::format_zero_padding#19 )
printf_number_buffer::putc#22 = phi( printf_number_buffer::@4/printf_number_buffer::putc#15 )
printf_number_buffer::buffer_digits#8 = phi( printf_number_buffer::@4/printf_number_buffer::buffer_digits#11 )
strupr::str#0 = printf_number_buffer::buffer_digits#8
call strupr
strupr::return#2 = strupr::return#1
to:printf_number_buffer::@19
printf_number_buffer::@19: scope:[printf_number_buffer] from printf_number_buffer::@11
printf_number_buffer::padding#13 = phi( printf_number_buffer::@11/printf_number_buffer::padding#16 )
printf_number_buffer::format_justify_left#14 = phi( printf_number_buffer::@11/printf_number_buffer::format_justify_left#19 )
printf_number_buffer::format_zero_padding#18 = phi( printf_number_buffer::@11/printf_number_buffer::format_zero_padding#23 )
printf_number_buffer::buffer_digits#10 = phi( printf_number_buffer::@11/printf_number_buffer::buffer_digits#8 )
printf_number_buffer::putc#14 = phi( printf_number_buffer::@11/printf_number_buffer::putc#22 )
to:printf_number_buffer::@5
printf_number_buffer::@12: scope:[printf_number_buffer] from printf_number_buffer::@18
printf_number_buffer::padding#8 = phi( printf_number_buffer::@18/printf_number_buffer::padding#7 )
printf_number_buffer::putc#10 = phi( printf_number_buffer::@18/printf_number_buffer::putc#16 )
printf_padding::putc#2 = printf_number_buffer::putc#10
printf_padding::pad#2 = ' '
printf_padding::length#2 = (char)printf_number_buffer::padding#8
call printf_padding
to:printf_number_buffer::@20
printf_number_buffer::@20: scope:[printf_number_buffer] from printf_number_buffer::@12
to:printf_number_buffer::@return
printf_number_buffer::@return: scope:[printf_number_buffer] from printf_number_buffer::@18 printf_number_buffer::@20
return
to:@return
void main()
main: scope:[main] from __start::@1
call clrscr
to:main::@1
main::@1: scope:[main] from main
main::c = 'x'
printf_str::putc#1 = &cputc
printf_str::s#2 = main::s
call printf_str
to:main::@2
main::@2: scope:[main] from main::@1
stackpush(char) = main::c
callexecute cputc
sideeffect stackpullbytes(1)
printf_str::putc#2 = &cputc
printf_str::s#3 = main::s1
call printf_str
to:main::@3
main::@3: scope:[main] from main::@2
printf_str::putc#3 = &cputc
printf_str::s#4 = main::s2
call printf_str
to:main::@4
main::@4: scope:[main] from main::@3
printf_uint::putc#0 = &cputc
printf_uint::uvalue#0 = (unsigned int)&main::c
printf_uint::format_min_length#0 = 0
printf_uint::format_justify_left#0 = 0
printf_uint::format_sign_always#0 = 0
printf_uint::format_zero_padding#0 = 0
printf_uint::format_upper_case#0 = 0
printf_uint::format_radix#0 = HEXADECIMAL
call printf_uint
to:main::@5
main::@5: scope:[main] from main::@4
printf_str::putc#4 = &cputc
printf_str::s#5 = main::s3
call printf_str
to:main::@6
main::@6: scope:[main] from main::@5
printf_str::putc#5 = &cputc
printf_str::s#6 = main::s4
call printf_str
to:main::@7
main::@7: scope:[main] from main::@6
stackpush(char) = '%'
callexecute cputc
sideeffect stackpullbytes(1)
printf_str::putc#6 = &cputc
printf_str::s#7 = main::s5
call printf_str
to:main::@8
main::@8: scope:[main] from main::@7
printf_str::putc#7 = &cputc
printf_str::s#8 = main::s6
call printf_str
to:main::@9
main::@9: scope:[main] from main::@8
printf_schar::putc#0 = &cputc
printf_schar::value#1 = main::sc
printf_schar::format_min_length#0 = 0
printf_schar::format_justify_left#0 = 0
printf_schar::format_sign_always#0 = 0
printf_schar::format_zero_padding#0 = 0
printf_schar::format_upper_case#0 = 0
printf_schar::format_radix#0 = DECIMAL
call printf_schar
to:main::@10
main::@10: scope:[main] from main::@9
printf_str::putc#8 = &cputc
printf_str::s#9 = main::s7
call printf_str
to:main::@11
main::@11: scope:[main] from main::@10
printf_str::putc#9 = &cputc
printf_str::s#10 = main::s8
call printf_str
to:main::@12
main::@12: scope:[main] from main::@11
printf_uchar::putc#0 = &cputc
printf_uchar::uvalue#0 = main::uc
printf_uchar::format_min_length#0 = 0
printf_uchar::format_justify_left#0 = 0
printf_uchar::format_sign_always#0 = 0
printf_uchar::format_zero_padding#0 = 0
printf_uchar::format_upper_case#0 = 0
printf_uchar::format_radix#0 = DECIMAL
call printf_uchar
to:main::@13
main::@13: scope:[main] from main::@12
printf_str::putc#10 = &cputc
printf_str::s#11 = main::s9
call printf_str
to:main::@14
main::@14: scope:[main] from main::@13
printf_str::putc#11 = &cputc
printf_str::s#12 = main::s10
call printf_str
to:main::@15
main::@15: scope:[main] from main::@14
printf_sint::putc#0 = &cputc
printf_sint::value#1 = main::si
printf_sint::format_min_length#0 = 0
printf_sint::format_justify_left#0 = 0
printf_sint::format_sign_always#0 = 0
printf_sint::format_zero_padding#0 = 0
printf_sint::format_upper_case#0 = 0
printf_sint::format_radix#0 = DECIMAL
call printf_sint
to:main::@16
main::@16: scope:[main] from main::@15
printf_str::putc#12 = &cputc
printf_str::s#13 = main::s11
call printf_str
to:main::@17
main::@17: scope:[main] from main::@16
printf_str::putc#13 = &cputc
printf_str::s#14 = main::s12
call printf_str
to:main::@18
main::@18: scope:[main] from main::@17
printf_uint::putc#1 = &cputc
printf_uint::uvalue#1 = main::ui
printf_uint::format_min_length#1 = 0
printf_uint::format_justify_left#1 = 0
printf_uint::format_sign_always#1 = 0
printf_uint::format_zero_padding#1 = 0
printf_uint::format_upper_case#1 = 0
printf_uint::format_radix#1 = DECIMAL
call printf_uint
to:main::@19
main::@19: scope:[main] from main::@18
printf_str::putc#14 = &cputc
printf_str::s#15 = main::s13
call printf_str
to:main::@20
main::@20: scope:[main] from main::@19
printf_str::putc#15 = &cputc
printf_str::s#16 = main::s14
call printf_str
to:main::@21
main::@21: scope:[main] from main::@20
printf_slong::putc#0 = &cputc
printf_slong::value#1 = main::sl
printf_slong::format_min_length#0 = 0
printf_slong::format_justify_left#0 = 0
printf_slong::format_sign_always#0 = 0
printf_slong::format_zero_padding#0 = 0
printf_slong::format_upper_case#0 = 0
printf_slong::format_radix#0 = DECIMAL
call printf_slong
to:main::@22
main::@22: scope:[main] from main::@21
printf_str::putc#16 = &cputc
printf_str::s#17 = main::s15
call printf_str
to:main::@23
main::@23: scope:[main] from main::@22
printf_str::putc#17 = &cputc
printf_str::s#18 = main::s16
call printf_str
to:main::@24
main::@24: scope:[main] from main::@23
printf_ulong::putc#0 = &cputc
printf_ulong::uvalue#0 = main::ul
printf_ulong::format_min_length#0 = 0
printf_ulong::format_justify_left#0 = 0
printf_ulong::format_sign_always#0 = 0
printf_ulong::format_zero_padding#0 = 0
printf_ulong::format_upper_case#0 = 0
printf_ulong::format_radix#0 = DECIMAL
call printf_ulong
to:main::@25
main::@25: scope:[main] from main::@24
printf_str::putc#18 = &cputc
printf_str::s#19 = main::s17
call printf_str
to:main::@26
main::@26: scope:[main] from main::@25
to:main::@return
main::@return: scope:[main] from main::@26
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 = CONIO_SCREEN_TEXT
conio_line_color = CONIO_SCREEN_COLORS
conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
conio_scroll_enable = 1
call conio_c64_init
to:__start::@2
__start::@2: scope:[__start] from __start::__init1
to:__start::@1
__start::@1: scope:[__start] from __start::@2
call main
to:__start::@3
__start::@3: scope:[__start] from __start::@1
to:__start::@return
__start::@return: scope:[__start] from __start::@3
return
to:@return
SYMBOL TABLE SSA
__constant char BINARY = 2
__constant char * const COLORRAM = (char *)$d800
__constant char * const CONIO_SCREEN_COLORS = COLORRAM
__constant char * const CONIO_SCREEN_TEXT = DEFAULT_SCREEN
__constant const char CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
__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 OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS = 1
__constant char OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN = 0
__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 char RADIX_BINARY_VALUES_CHAR[] = { $80, $40, $20, $10, 8, 4, 2 }
__constant unsigned long RADIX_BINARY_VALUES_LONG[] = { $80000000, $40000000, $20000000, $10000000, $8000000, $4000000, $2000000, $1000000, $800000, $400000, $200000, $100000, $80000, $40000, $20000, $10000, $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 char RADIX_DECIMAL_VALUES_CHAR[] = { $64, $a }
__constant unsigned long RADIX_DECIMAL_VALUES_LONG[] = { $3b9aca00, $5f5e100, $989680, $f4240, $186a0, $2710, $3e8, $64, $a }
__constant unsigned int RADIX_HEXADECIMAL_VALUES[] = { $1000, $100, $10 }
__constant char RADIX_HEXADECIMAL_VALUES_CHAR[] = { $10 }
__constant unsigned long RADIX_HEXADECIMAL_VALUES_LONG[] = { $10000000, $1000000, $100000, $10000, $1000, $100, $10 }
__constant unsigned int RADIX_OCTAL_VALUES[] = { $8000, $1000, $200, $40, 8 }
__constant char RADIX_OCTAL_VALUES_CHAR[] = { $40, 8 }
__constant unsigned long RADIX_OCTAL_VALUES_LONG[] = { $40000000, $8000000, $1000000, $200000, $40000, $8000, $1000, $200, $40, 8 }
__constant char SIZEOF_UNSIGNED_INT = 2
__constant char SIZEOF_UNSIGNED_LONG = 4
__constant unsigned int STACK_BASE = $103
void __start()
void clrscr()
bool clrscr::$0
bool clrscr::$1
char clrscr::c
char clrscr::c#0
char clrscr::c#1
char clrscr::c#2
char clrscr::c#3
char clrscr::l
char clrscr::l#0
char clrscr::l#1
char clrscr::l#2
char clrscr::l#3
char clrscr::l#4
char clrscr::l#5
char clrscr::l#6
char *clrscr::line_cols
char *clrscr::line_cols#0
char *clrscr::line_cols#1
char *clrscr::line_cols#2
char *clrscr::line_cols#3
char *clrscr::line_cols#4
char *clrscr::line_cols#5
char *clrscr::line_cols#6
char *clrscr::line_text
char *clrscr::line_text#0
char *clrscr::line_text#1
char *clrscr::line_text#2
char *clrscr::line_text#3
char *clrscr::line_text#4
char *clrscr::line_text#5
char *clrscr::line_text#6
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
__stackcall void cputc(char c)
bool cputc::$0
bool cputc::$1
bool cputc::$2
__constant char cputc::OFFSET_STACK_C = 0
char cputc::c
char cputc::c#0
char cputc::c#1
void cputln()
void cscroll()
bool cscroll::$0
bool cscroll::$1
bool cscroll::$7
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::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
void main()
__loadstore volatile char main::c
__constant char main::s[9] = "A char: "
__constant char main::s1[2] = "
"
__constant char main::s10[$f] = "A signed int: "
__constant char main::s11[2] = "
"
__constant char main::s12[$12] = "An unsigned int: "
__constant char main::s13[2] = "
"
__constant char main::s14[$10] = "A signed long: "
__constant char main::s15[2] = "
"
__constant char main::s16[$13] = "An unsigned long: "
__constant char main::s17[2] = "
"
__constant char main::s2[$c] = "A pointer: "
__constant char main::s3[2] = "
"
__constant char main::s4[$c] = "A percent: "
__constant char main::s5[2] = "
"
__constant char main::s6[$10] = "A signed char: "
__constant char main::s7[2] = "
"
__constant char main::s8[$13] = "An unsigned char: "
__constant char main::s9[2] = "
"
__constant signed char main::sc = -$c
__constant int main::si = -$4d2
__constant long main::sl = -$1e240
__constant char main::uc = $22
__constant unsigned int main::ui = $162e
__constant unsigned long main::ul = $8aa52
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
__loadstore struct printf_buffer_number printf_buffer = {}
void printf_number_buffer(void (*putc)(char) , char buffer_sign , char *buffer_digits , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
bool printf_number_buffer::$0
bool printf_number_buffer::$1
bool printf_number_buffer::$10
bool printf_number_buffer::$12
bool printf_number_buffer::$14
bool printf_number_buffer::$15
bool printf_number_buffer::$16
bool printf_number_buffer::$17
unsigned int printf_number_buffer::$19
bool printf_number_buffer::$2
bool printf_number_buffer::$20
signed char printf_number_buffer::$21
bool printf_number_buffer::$22
bool printf_number_buffer::$23
signed char printf_number_buffer::$25
bool printf_number_buffer::$26
bool printf_number_buffer::$27
bool printf_number_buffer::$28
bool printf_number_buffer::$29
bool printf_number_buffer::$3
bool printf_number_buffer::$30
bool printf_number_buffer::$31
bool printf_number_buffer::$32
bool printf_number_buffer::$4
bool printf_number_buffer::$5
bool printf_number_buffer::$7
bool printf_number_buffer::$9
struct printf_buffer_number printf_number_buffer::buffer
char *printf_number_buffer::buffer_digits
char *printf_number_buffer::buffer_digits#0
char *printf_number_buffer::buffer_digits#1
char *printf_number_buffer::buffer_digits#10
char *printf_number_buffer::buffer_digits#11
char *printf_number_buffer::buffer_digits#12
char *printf_number_buffer::buffer_digits#13
char *printf_number_buffer::buffer_digits#14
char *printf_number_buffer::buffer_digits#15
char *printf_number_buffer::buffer_digits#16
char *printf_number_buffer::buffer_digits#17
char *printf_number_buffer::buffer_digits#18
char *printf_number_buffer::buffer_digits#19
char *printf_number_buffer::buffer_digits#2
char *printf_number_buffer::buffer_digits#20
char *printf_number_buffer::buffer_digits#21
char *printf_number_buffer::buffer_digits#22
char *printf_number_buffer::buffer_digits#23
char *printf_number_buffer::buffer_digits#3
char *printf_number_buffer::buffer_digits#4
char *printf_number_buffer::buffer_digits#5
char *printf_number_buffer::buffer_digits#6
char *printf_number_buffer::buffer_digits#7
char *printf_number_buffer::buffer_digits#8
char *printf_number_buffer::buffer_digits#9
char printf_number_buffer::buffer_sign
char printf_number_buffer::buffer_sign#0
char printf_number_buffer::buffer_sign#1
char printf_number_buffer::buffer_sign#10
char printf_number_buffer::buffer_sign#11
char printf_number_buffer::buffer_sign#12
char printf_number_buffer::buffer_sign#13
char printf_number_buffer::buffer_sign#14
char printf_number_buffer::buffer_sign#15
char printf_number_buffer::buffer_sign#16
char printf_number_buffer::buffer_sign#2
char printf_number_buffer::buffer_sign#3
char printf_number_buffer::buffer_sign#4
char printf_number_buffer::buffer_sign#5
char printf_number_buffer::buffer_sign#6
char printf_number_buffer::buffer_sign#7
char printf_number_buffer::buffer_sign#8
char printf_number_buffer::buffer_sign#9
struct printf_format_number printf_number_buffer::format
char printf_number_buffer::format_justify_left
char printf_number_buffer::format_justify_left#0
char printf_number_buffer::format_justify_left#1
char printf_number_buffer::format_justify_left#10
char printf_number_buffer::format_justify_left#11
char printf_number_buffer::format_justify_left#12
char printf_number_buffer::format_justify_left#13
char printf_number_buffer::format_justify_left#14
char printf_number_buffer::format_justify_left#15
char printf_number_buffer::format_justify_left#16
char printf_number_buffer::format_justify_left#17
char printf_number_buffer::format_justify_left#18
char printf_number_buffer::format_justify_left#19
char printf_number_buffer::format_justify_left#2
char printf_number_buffer::format_justify_left#20
char printf_number_buffer::format_justify_left#21
char printf_number_buffer::format_justify_left#22
char printf_number_buffer::format_justify_left#23
char printf_number_buffer::format_justify_left#24
char printf_number_buffer::format_justify_left#3
char printf_number_buffer::format_justify_left#4
char printf_number_buffer::format_justify_left#5
char printf_number_buffer::format_justify_left#6
char printf_number_buffer::format_justify_left#7
char printf_number_buffer::format_justify_left#8
char printf_number_buffer::format_justify_left#9
char printf_number_buffer::format_min_length
char printf_number_buffer::format_min_length#0
char printf_number_buffer::format_min_length#1
char printf_number_buffer::format_min_length#10
char printf_number_buffer::format_min_length#2
char printf_number_buffer::format_min_length#3
char printf_number_buffer::format_min_length#4
char printf_number_buffer::format_min_length#5
char printf_number_buffer::format_min_length#6
char printf_number_buffer::format_min_length#7
char printf_number_buffer::format_min_length#8
char printf_number_buffer::format_min_length#9
char printf_number_buffer::format_radix
char printf_number_buffer::format_radix#0
char printf_number_buffer::format_radix#1
char printf_number_buffer::format_radix#2
char printf_number_buffer::format_radix#3
char printf_number_buffer::format_radix#4
char printf_number_buffer::format_radix#5
char printf_number_buffer::format_sign_always
char printf_number_buffer::format_sign_always#0
char printf_number_buffer::format_sign_always#1
char printf_number_buffer::format_sign_always#2
char printf_number_buffer::format_sign_always#3
char printf_number_buffer::format_sign_always#4
char printf_number_buffer::format_sign_always#5
char printf_number_buffer::format_upper_case
char printf_number_buffer::format_upper_case#0
char printf_number_buffer::format_upper_case#1
char printf_number_buffer::format_upper_case#10
char printf_number_buffer::format_upper_case#11
char printf_number_buffer::format_upper_case#12
char printf_number_buffer::format_upper_case#13
char printf_number_buffer::format_upper_case#14
char printf_number_buffer::format_upper_case#15
char printf_number_buffer::format_upper_case#16
char printf_number_buffer::format_upper_case#17
char printf_number_buffer::format_upper_case#18
char printf_number_buffer::format_upper_case#19
char printf_number_buffer::format_upper_case#2
char printf_number_buffer::format_upper_case#20
char printf_number_buffer::format_upper_case#3
char printf_number_buffer::format_upper_case#4
char printf_number_buffer::format_upper_case#5
char printf_number_buffer::format_upper_case#6
char printf_number_buffer::format_upper_case#7
char printf_number_buffer::format_upper_case#8
char printf_number_buffer::format_upper_case#9
char printf_number_buffer::format_zero_padding
char printf_number_buffer::format_zero_padding#0
char printf_number_buffer::format_zero_padding#1
char printf_number_buffer::format_zero_padding#10
char printf_number_buffer::format_zero_padding#11
char printf_number_buffer::format_zero_padding#12
char printf_number_buffer::format_zero_padding#13
char printf_number_buffer::format_zero_padding#14
char printf_number_buffer::format_zero_padding#15
char printf_number_buffer::format_zero_padding#16
char printf_number_buffer::format_zero_padding#17
char printf_number_buffer::format_zero_padding#18
char printf_number_buffer::format_zero_padding#19
char printf_number_buffer::format_zero_padding#2
char printf_number_buffer::format_zero_padding#20
char printf_number_buffer::format_zero_padding#21
char printf_number_buffer::format_zero_padding#22
char printf_number_buffer::format_zero_padding#23
char printf_number_buffer::format_zero_padding#24
char printf_number_buffer::format_zero_padding#3
char printf_number_buffer::format_zero_padding#4
char printf_number_buffer::format_zero_padding#5
char printf_number_buffer::format_zero_padding#6
char printf_number_buffer::format_zero_padding#7
char printf_number_buffer::format_zero_padding#8
char printf_number_buffer::format_zero_padding#9
signed char printf_number_buffer::len
signed char printf_number_buffer::len#0
signed char printf_number_buffer::len#1
signed char printf_number_buffer::len#2
signed char printf_number_buffer::len#3
signed char printf_number_buffer::padding
signed char printf_number_buffer::padding#0
signed char printf_number_buffer::padding#1
signed char printf_number_buffer::padding#10
signed char printf_number_buffer::padding#11
signed char printf_number_buffer::padding#12
signed char printf_number_buffer::padding#13
signed char printf_number_buffer::padding#14
signed char printf_number_buffer::padding#15
signed char printf_number_buffer::padding#16
signed char printf_number_buffer::padding#2
signed char printf_number_buffer::padding#3
signed char printf_number_buffer::padding#4
signed char printf_number_buffer::padding#5
signed char printf_number_buffer::padding#6
signed char printf_number_buffer::padding#7
signed char printf_number_buffer::padding#8
signed char printf_number_buffer::padding#9
void (*printf_number_buffer::putc)(char)
void (*printf_number_buffer::putc#0)(char)
void (*printf_number_buffer::putc#1)(char)
void (*printf_number_buffer::putc#10)(char)
void (*printf_number_buffer::putc#11)(char)
void (*printf_number_buffer::putc#12)(char)
void (*printf_number_buffer::putc#13)(char)
void (*printf_number_buffer::putc#14)(char)
void (*printf_number_buffer::putc#15)(char)
void (*printf_number_buffer::putc#16)(char)
void (*printf_number_buffer::putc#17)(char)
void (*printf_number_buffer::putc#18)(char)
void (*printf_number_buffer::putc#19)(char)
void (*printf_number_buffer::putc#2)(char)
void (*printf_number_buffer::putc#20)(char)
void (*printf_number_buffer::putc#21)(char)
void (*printf_number_buffer::putc#22)(char)
void (*printf_number_buffer::putc#23)(char)
void (*printf_number_buffer::putc#24)(char)
void (*printf_number_buffer::putc#25)(char)
void (*printf_number_buffer::putc#3)(char)
void (*printf_number_buffer::putc#4)(char)
void (*printf_number_buffer::putc#5)(char)
void (*printf_number_buffer::putc#6)(char)
void (*printf_number_buffer::putc#7)(char)
void (*printf_number_buffer::putc#8)(char)
void (*printf_number_buffer::putc#9)(char)
void printf_padding(void (*putc)(char) , char pad , char length)
bool printf_padding::$0
char printf_padding::i
char printf_padding::i#0
char printf_padding::i#1
char printf_padding::i#2
char printf_padding::i#3
char printf_padding::i#4
char printf_padding::length
char printf_padding::length#0
char printf_padding::length#1
char printf_padding::length#2
char printf_padding::length#3
char printf_padding::length#4
char printf_padding::length#5
char printf_padding::length#6
char printf_padding::pad
char printf_padding::pad#0
char printf_padding::pad#1
char printf_padding::pad#2
char printf_padding::pad#3
char printf_padding::pad#4
char printf_padding::pad#5
char printf_padding::pad#6
void (*printf_padding::putc)(char)
void (*printf_padding::putc#0)(char)
void (*printf_padding::putc#1)(char)
void (*printf_padding::putc#2)(char)
void (*printf_padding::putc#3)(char)
void (*printf_padding::putc#4)(char)
void (*printf_padding::putc#5)(char)
void (*printf_padding::putc#6)(char)
void printf_schar(void (*putc)(char) , signed char value , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
bool printf_schar::$0
bool printf_schar::$3
signed char printf_schar::$4
bool printf_schar::$5
struct printf_format_number printf_schar::format
char printf_schar::format_justify_left
char printf_schar::format_justify_left#0
char printf_schar::format_justify_left#1
char printf_schar::format_justify_left#2
char printf_schar::format_justify_left#3
char printf_schar::format_justify_left#4
char printf_schar::format_justify_left#5
char printf_schar::format_justify_left#6
char printf_schar::format_min_length
char printf_schar::format_min_length#0
char printf_schar::format_min_length#1
char printf_schar::format_min_length#2
char printf_schar::format_min_length#3
char printf_schar::format_min_length#4
char printf_schar::format_min_length#5
char printf_schar::format_min_length#6
char printf_schar::format_radix
char printf_schar::format_radix#0
char printf_schar::format_radix#1
char printf_schar::format_radix#2
char printf_schar::format_radix#3
char printf_schar::format_radix#4
char printf_schar::format_radix#5
char printf_schar::format_radix#6
char printf_schar::format_sign_always
char printf_schar::format_sign_always#0
char printf_schar::format_sign_always#1
char printf_schar::format_sign_always#2
char printf_schar::format_sign_always#3
char printf_schar::format_sign_always#4
char printf_schar::format_sign_always#5
char printf_schar::format_sign_always#6
char printf_schar::format_upper_case
char printf_schar::format_upper_case#0
char printf_schar::format_upper_case#1
char printf_schar::format_upper_case#2
char printf_schar::format_upper_case#3
char printf_schar::format_upper_case#4
char printf_schar::format_upper_case#5
char printf_schar::format_upper_case#6
char printf_schar::format_zero_padding
char printf_schar::format_zero_padding#0
char printf_schar::format_zero_padding#1
char printf_schar::format_zero_padding#2
char printf_schar::format_zero_padding#3
char printf_schar::format_zero_padding#4
char printf_schar::format_zero_padding#5
char printf_schar::format_zero_padding#6
void (*printf_schar::putc)(char)
void (*printf_schar::putc#0)(char)
void (*printf_schar::putc#1)(char)
void (*printf_schar::putc#2)(char)
void (*printf_schar::putc#3)(char)
void (*printf_schar::putc#4)(char)
void (*printf_schar::putc#5)(char)
void (*printf_schar::putc#6)(char)
char printf_schar::uvalue
char printf_schar::uvalue#0
signed char printf_schar::value
signed char printf_schar::value#0
signed char printf_schar::value#1
signed char printf_schar::value#2
signed char printf_schar::value#3
signed char printf_schar::value#4
signed char printf_schar::value#5
signed char printf_schar::value#6
void printf_sint(void (*putc)(char) , int value , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
bool printf_sint::$0
bool printf_sint::$3
int printf_sint::$4
bool printf_sint::$5
struct printf_format_number printf_sint::format
char printf_sint::format_justify_left
char printf_sint::format_justify_left#0
char printf_sint::format_justify_left#1
char printf_sint::format_justify_left#2
char printf_sint::format_justify_left#3
char printf_sint::format_justify_left#4
char printf_sint::format_justify_left#5
char printf_sint::format_justify_left#6
char printf_sint::format_min_length
char printf_sint::format_min_length#0
char printf_sint::format_min_length#1
char printf_sint::format_min_length#2
char printf_sint::format_min_length#3
char printf_sint::format_min_length#4
char printf_sint::format_min_length#5
char printf_sint::format_min_length#6
char printf_sint::format_radix
char printf_sint::format_radix#0
char printf_sint::format_radix#1
char printf_sint::format_radix#2
char printf_sint::format_radix#3
char printf_sint::format_radix#4
char printf_sint::format_radix#5
char printf_sint::format_radix#6
char printf_sint::format_sign_always
char printf_sint::format_sign_always#0
char printf_sint::format_sign_always#1
char printf_sint::format_sign_always#2
char printf_sint::format_sign_always#3
char printf_sint::format_sign_always#4
char printf_sint::format_sign_always#5
char printf_sint::format_sign_always#6
char printf_sint::format_upper_case
char printf_sint::format_upper_case#0
char printf_sint::format_upper_case#1
char printf_sint::format_upper_case#2
char printf_sint::format_upper_case#3
char printf_sint::format_upper_case#4
char printf_sint::format_upper_case#5
char printf_sint::format_upper_case#6
char printf_sint::format_zero_padding
char printf_sint::format_zero_padding#0
char printf_sint::format_zero_padding#1
char printf_sint::format_zero_padding#2
char printf_sint::format_zero_padding#3
char printf_sint::format_zero_padding#4
char printf_sint::format_zero_padding#5
char printf_sint::format_zero_padding#6
void (*printf_sint::putc)(char)
void (*printf_sint::putc#0)(char)
void (*printf_sint::putc#1)(char)
void (*printf_sint::putc#2)(char)
void (*printf_sint::putc#3)(char)
void (*printf_sint::putc#4)(char)
void (*printf_sint::putc#5)(char)
void (*printf_sint::putc#6)(char)
unsigned int printf_sint::uvalue
unsigned int printf_sint::uvalue#0
int printf_sint::value
int printf_sint::value#0
int printf_sint::value#1
int printf_sint::value#2
int printf_sint::value#3
int printf_sint::value#4
int printf_sint::value#5
int printf_sint::value#6
void printf_slong(void (*putc)(char) , long value , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
bool printf_slong::$0
bool printf_slong::$3
long printf_slong::$4
bool printf_slong::$5
struct printf_format_number printf_slong::format
char printf_slong::format_justify_left
char printf_slong::format_justify_left#0
char printf_slong::format_justify_left#1
char printf_slong::format_justify_left#2
char printf_slong::format_justify_left#3
char printf_slong::format_justify_left#4
char printf_slong::format_justify_left#5
char printf_slong::format_justify_left#6
char printf_slong::format_min_length
char printf_slong::format_min_length#0
char printf_slong::format_min_length#1
char printf_slong::format_min_length#2
char printf_slong::format_min_length#3
char printf_slong::format_min_length#4
char printf_slong::format_min_length#5
char printf_slong::format_min_length#6
char printf_slong::format_radix
char printf_slong::format_radix#0
char printf_slong::format_radix#1
char printf_slong::format_radix#2
char printf_slong::format_radix#3
char printf_slong::format_radix#4
char printf_slong::format_radix#5
char printf_slong::format_radix#6
char printf_slong::format_sign_always
char printf_slong::format_sign_always#0
char printf_slong::format_sign_always#1
char printf_slong::format_sign_always#2
char printf_slong::format_sign_always#3
char printf_slong::format_sign_always#4
char printf_slong::format_sign_always#5
char printf_slong::format_sign_always#6
char printf_slong::format_upper_case
char printf_slong::format_upper_case#0
char printf_slong::format_upper_case#1
char printf_slong::format_upper_case#2
char printf_slong::format_upper_case#3
char printf_slong::format_upper_case#4
char printf_slong::format_upper_case#5
char printf_slong::format_upper_case#6
char printf_slong::format_zero_padding
char printf_slong::format_zero_padding#0
char printf_slong::format_zero_padding#1
char printf_slong::format_zero_padding#2
char printf_slong::format_zero_padding#3
char printf_slong::format_zero_padding#4
char printf_slong::format_zero_padding#5
char printf_slong::format_zero_padding#6
void (*printf_slong::putc)(char)
void (*printf_slong::putc#0)(char)
void (*printf_slong::putc#1)(char)
void (*printf_slong::putc#2)(char)
void (*printf_slong::putc#3)(char)
void (*printf_slong::putc#4)(char)
void (*printf_slong::putc#5)(char)
void (*printf_slong::putc#6)(char)
unsigned long printf_slong::uvalue
unsigned long printf_slong::uvalue#0
long printf_slong::value
long printf_slong::value#0
long printf_slong::value#1
long printf_slong::value#2
long printf_slong::value#3
long printf_slong::value#4
long printf_slong::value#5
long printf_slong::value#6
void printf_str(void (*putc)(char) , const char *s)
char printf_str::$0
bool printf_str::$2
char printf_str::c
char printf_str::c#0
char printf_str::c#1
char printf_str::c#2
void (*printf_str::putc)(char)
void (*printf_str::putc#0)(char)
void (*printf_str::putc#1)(char)
void (*printf_str::putc#10)(char)
void (*printf_str::putc#11)(char)
void (*printf_str::putc#12)(char)
void (*printf_str::putc#13)(char)
void (*printf_str::putc#14)(char)
void (*printf_str::putc#15)(char)
void (*printf_str::putc#16)(char)
void (*printf_str::putc#17)(char)
void (*printf_str::putc#18)(char)
void (*printf_str::putc#19)(char)
void (*printf_str::putc#2)(char)
void (*printf_str::putc#20)(char)
void (*printf_str::putc#21)(char)
void (*printf_str::putc#3)(char)
void (*printf_str::putc#4)(char)
void (*printf_str::putc#5)(char)
void (*printf_str::putc#6)(char)
void (*printf_str::putc#7)(char)
void (*printf_str::putc#8)(char)
void (*printf_str::putc#9)(char)
const char *printf_str::s
const char *printf_str::s#0
const char *printf_str::s#1
const char *printf_str::s#10
const char *printf_str::s#11
const char *printf_str::s#12
const char *printf_str::s#13
const char *printf_str::s#14
const char *printf_str::s#15
const char *printf_str::s#16
const char *printf_str::s#17
const char *printf_str::s#18
const char *printf_str::s#19
const char *printf_str::s#2
const char *printf_str::s#20
const char *printf_str::s#21
const char *printf_str::s#22
const char *printf_str::s#3
const char *printf_str::s#4
const char *printf_str::s#5
const char *printf_str::s#6
const char *printf_str::s#7
const char *printf_str::s#8
const char *printf_str::s#9
void printf_uchar(void (*putc)(char) , char uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
number printf_uchar::$0
char printf_uchar::$1
number printf_uchar::$2
bool printf_uchar::$5
struct printf_format_number printf_uchar::format
char printf_uchar::format_justify_left
char printf_uchar::format_justify_left#0
char printf_uchar::format_justify_left#1
char printf_uchar::format_justify_left#2
char printf_uchar::format_justify_left#3
char printf_uchar::format_justify_left#4
char printf_uchar::format_justify_left#5
char printf_uchar::format_min_length
char printf_uchar::format_min_length#0
char printf_uchar::format_min_length#1
char printf_uchar::format_min_length#2
char printf_uchar::format_min_length#3
char printf_uchar::format_min_length#4
char printf_uchar::format_min_length#5
char printf_uchar::format_radix
char printf_uchar::format_radix#0
char printf_uchar::format_radix#1
char printf_uchar::format_radix#2
char printf_uchar::format_radix#3
char printf_uchar::format_radix#4
char printf_uchar::format_radix#5
char printf_uchar::format_sign_always
char printf_uchar::format_sign_always#0
char printf_uchar::format_sign_always#1
char printf_uchar::format_sign_always#2
char printf_uchar::format_sign_always#3
char printf_uchar::format_sign_always#4
char printf_uchar::format_sign_always#5
char printf_uchar::format_upper_case
char printf_uchar::format_upper_case#0
char printf_uchar::format_upper_case#1
char printf_uchar::format_upper_case#2
char printf_uchar::format_upper_case#3
char printf_uchar::format_upper_case#4
char printf_uchar::format_upper_case#5
char printf_uchar::format_zero_padding
char printf_uchar::format_zero_padding#0
char printf_uchar::format_zero_padding#1
char printf_uchar::format_zero_padding#2
char printf_uchar::format_zero_padding#3
char printf_uchar::format_zero_padding#4
char printf_uchar::format_zero_padding#5
void (*printf_uchar::putc)(char)
void (*printf_uchar::putc#0)(char)
void (*printf_uchar::putc#1)(char)
void (*printf_uchar::putc#2)(char)
void (*printf_uchar::putc#3)(char)
void (*printf_uchar::putc#4)(char)
void (*printf_uchar::putc#5)(char)
char printf_uchar::uvalue
char printf_uchar::uvalue#0
char printf_uchar::uvalue#1
char printf_uchar::uvalue#2
char printf_uchar::uvalue#3
char printf_uchar::uvalue#4
void printf_uint(void (*putc)(char) , unsigned int uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
number printf_uint::$0
char printf_uint::$1
number printf_uint::$2
bool printf_uint::$5
struct printf_format_number printf_uint::format
char printf_uint::format_justify_left
char printf_uint::format_justify_left#0
char printf_uint::format_justify_left#1
char printf_uint::format_justify_left#2
char printf_uint::format_justify_left#3
char printf_uint::format_justify_left#4
char printf_uint::format_justify_left#5
char printf_uint::format_justify_left#6
char printf_uint::format_min_length
char printf_uint::format_min_length#0
char printf_uint::format_min_length#1
char printf_uint::format_min_length#2
char printf_uint::format_min_length#3
char printf_uint::format_min_length#4
char printf_uint::format_min_length#5
char printf_uint::format_min_length#6
char printf_uint::format_radix
char printf_uint::format_radix#0
char printf_uint::format_radix#1
char printf_uint::format_radix#2
char printf_uint::format_radix#3
char printf_uint::format_radix#4
char printf_uint::format_radix#5
char printf_uint::format_radix#6
char printf_uint::format_sign_always
char printf_uint::format_sign_always#0
char printf_uint::format_sign_always#1
char printf_uint::format_sign_always#2
char printf_uint::format_sign_always#3
char printf_uint::format_sign_always#4
char printf_uint::format_sign_always#5
char printf_uint::format_sign_always#6
char printf_uint::format_upper_case
char printf_uint::format_upper_case#0
char printf_uint::format_upper_case#1
char printf_uint::format_upper_case#2
char printf_uint::format_upper_case#3
char printf_uint::format_upper_case#4
char printf_uint::format_upper_case#5
char printf_uint::format_upper_case#6
char printf_uint::format_zero_padding
char printf_uint::format_zero_padding#0
char printf_uint::format_zero_padding#1
char printf_uint::format_zero_padding#2
char printf_uint::format_zero_padding#3
char printf_uint::format_zero_padding#4
char printf_uint::format_zero_padding#5
char printf_uint::format_zero_padding#6
void (*printf_uint::putc)(char)
void (*printf_uint::putc#0)(char)
void (*printf_uint::putc#1)(char)
void (*printf_uint::putc#2)(char)
void (*printf_uint::putc#3)(char)
void (*printf_uint::putc#4)(char)
void (*printf_uint::putc#5)(char)
void (*printf_uint::putc#6)(char)
unsigned int printf_uint::uvalue
unsigned int printf_uint::uvalue#0
unsigned int printf_uint::uvalue#1
unsigned int printf_uint::uvalue#2
unsigned int printf_uint::uvalue#3
unsigned int printf_uint::uvalue#4
unsigned int printf_uint::uvalue#5
void printf_ulong(void (*putc)(char) , unsigned long uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
number printf_ulong::$0
char printf_ulong::$1
number printf_ulong::$2
bool printf_ulong::$5
struct printf_format_number printf_ulong::format
char printf_ulong::format_justify_left
char printf_ulong::format_justify_left#0
char printf_ulong::format_justify_left#1
char printf_ulong::format_justify_left#2
char printf_ulong::format_justify_left#3
char printf_ulong::format_justify_left#4
char printf_ulong::format_justify_left#5
char printf_ulong::format_min_length
char printf_ulong::format_min_length#0
char printf_ulong::format_min_length#1
char printf_ulong::format_min_length#2
char printf_ulong::format_min_length#3
char printf_ulong::format_min_length#4
char printf_ulong::format_min_length#5
char printf_ulong::format_radix
char printf_ulong::format_radix#0
char printf_ulong::format_radix#1
char printf_ulong::format_radix#2
char printf_ulong::format_radix#3
char printf_ulong::format_radix#4
char printf_ulong::format_radix#5
char printf_ulong::format_sign_always
char printf_ulong::format_sign_always#0
char printf_ulong::format_sign_always#1
char printf_ulong::format_sign_always#2
char printf_ulong::format_sign_always#3
char printf_ulong::format_sign_always#4
char printf_ulong::format_sign_always#5
char printf_ulong::format_upper_case
char printf_ulong::format_upper_case#0
char printf_ulong::format_upper_case#1
char printf_ulong::format_upper_case#2
char printf_ulong::format_upper_case#3
char printf_ulong::format_upper_case#4
char printf_ulong::format_upper_case#5
char printf_ulong::format_zero_padding
char printf_ulong::format_zero_padding#0
char printf_ulong::format_zero_padding#1
char printf_ulong::format_zero_padding#2
char printf_ulong::format_zero_padding#3
char printf_ulong::format_zero_padding#4
char printf_ulong::format_zero_padding#5
void (*printf_ulong::putc)(char)
void (*printf_ulong::putc#0)(char)
void (*printf_ulong::putc#1)(char)
void (*printf_ulong::putc#2)(char)
void (*printf_ulong::putc#3)(char)
void (*printf_ulong::putc#4)(char)
void (*printf_ulong::putc#5)(char)
unsigned long printf_ulong::uvalue
unsigned long printf_ulong::uvalue#0
unsigned long printf_ulong::uvalue#1
unsigned long printf_ulong::uvalue#2
unsigned long printf_ulong::uvalue#3
unsigned long printf_ulong::uvalue#4
unsigned int strlen(char *str)
bool strlen::$0
unsigned int strlen::len
unsigned int strlen::len#0
unsigned int strlen::len#1
unsigned int strlen::len#2
unsigned int strlen::len#3
unsigned int strlen::len#4
unsigned int strlen::return
unsigned int strlen::return#0
unsigned int strlen::return#1
unsigned int strlen::return#2
unsigned int strlen::return#3
unsigned int strlen::return#4
char *strlen::str
char *strlen::str#0
char *strlen::str#1
char *strlen::str#2
char *strlen::str#3
char *strlen::str#4
char * strupr(char *str)
char strupr::$0
bool strupr::$1
char *strupr::return
char *strupr::return#0
char *strupr::return#1
char *strupr::return#2
char *strupr::return#3
char *strupr::src
char *strupr::src#0
char *strupr::src#1
char *strupr::src#2
char *strupr::src#3
char *strupr::src#4
char *strupr::str
char *strupr::str#0
char *strupr::str#1
char *strupr::str#2
char *strupr::str#3
char *strupr::str#4
char *strupr::str#5
char toupper(char ch)
bool toupper::$0
bool toupper::$1
bool toupper::$2
char toupper::$3
char toupper::ch
char toupper::ch#0
char toupper::ch#1
char toupper::ch#2
char toupper::ch#3
char toupper::return
char toupper::return#0
char toupper::return#1
char toupper::return#2
char toupper::return#3
char toupper::return#4
char toupper::return#5
void uctoa(char value , char *buffer , char radix)
bool uctoa::$0
bool uctoa::$1
char uctoa::$10
bool uctoa::$2
bool uctoa::$3
number uctoa::$4
bool uctoa::$5
bool uctoa::$6
bool uctoa::$7
bool uctoa::$8
char uctoa::$9
char *uctoa::buffer
char *uctoa::buffer#0
char *uctoa::buffer#1
char *uctoa::buffer#10
char *uctoa::buffer#11
char *uctoa::buffer#12
char *uctoa::buffer#13
char *uctoa::buffer#14
char *uctoa::buffer#15
char *uctoa::buffer#16
char *uctoa::buffer#17
char *uctoa::buffer#18
char *uctoa::buffer#19
char *uctoa::buffer#2
char *uctoa::buffer#20
char *uctoa::buffer#21
char *uctoa::buffer#22
char *uctoa::buffer#3
char *uctoa::buffer#4
char *uctoa::buffer#5
char *uctoa::buffer#6
char *uctoa::buffer#7
char *uctoa::buffer#8
char *uctoa::buffer#9
char uctoa::digit
char uctoa::digit#0
char uctoa::digit#1
char uctoa::digit#2
char uctoa::digit#3
char uctoa::digit#4
char uctoa::digit#5
char uctoa::digit#6
char uctoa::digit_value
char uctoa::digit_value#0
char uctoa::digit_value#1
char *uctoa::digit_values
char *uctoa::digit_values#0
char *uctoa::digit_values#1
char *uctoa::digit_values#10
char *uctoa::digit_values#2
char *uctoa::digit_values#3
char *uctoa::digit_values#4
char *uctoa::digit_values#5
char *uctoa::digit_values#6
char *uctoa::digit_values#7
char *uctoa::digit_values#8
char *uctoa::digit_values#9
char uctoa::max_digits
char uctoa::max_digits#0
char uctoa::max_digits#1
char uctoa::max_digits#10
char uctoa::max_digits#2
char uctoa::max_digits#3
char uctoa::max_digits#4
char uctoa::max_digits#5
char uctoa::max_digits#6
char uctoa::max_digits#7
char uctoa::max_digits#8
char uctoa::max_digits#9
char uctoa::radix
char uctoa::radix#0
char uctoa::radix#1
char uctoa::radix#2
char uctoa::radix#3
char uctoa::radix#4
char uctoa::radix#5
char uctoa::started
char uctoa::started#0
char uctoa::started#1
char uctoa::started#2
char uctoa::started#3
char uctoa::started#4
char uctoa::value
char uctoa::value#0
char uctoa::value#1
char uctoa::value#10
char uctoa::value#11
char uctoa::value#12
char uctoa::value#13
char uctoa::value#14
char uctoa::value#15
char uctoa::value#16
char uctoa::value#2
char uctoa::value#3
char uctoa::value#4
char uctoa::value#5
char uctoa::value#6
char uctoa::value#7
char uctoa::value#8
char uctoa::value#9
char uctoa_append(char *buffer , char value , char sub)
bool uctoa_append::$0
char *uctoa_append::buffer
char *uctoa_append::buffer#0
char *uctoa_append::buffer#1
char *uctoa_append::buffer#2
char *uctoa_append::buffer#3
char *uctoa_append::buffer#4
char uctoa_append::digit
char uctoa_append::digit#0
char uctoa_append::digit#1
char uctoa_append::digit#2
char uctoa_append::digit#3
char uctoa_append::digit#4
char uctoa_append::return
char uctoa_append::return#0
char uctoa_append::return#1
char uctoa_append::return#2
char uctoa_append::return#3
char uctoa_append::return#4
char uctoa_append::sub
char uctoa_append::sub#0
char uctoa_append::sub#1
char uctoa_append::sub#2
char uctoa_append::sub#3
char uctoa_append::value
char uctoa_append::value#0
char uctoa_append::value#1
char uctoa_append::value#2
char uctoa_append::value#3
char uctoa_append::value#4
char uctoa_append::value#5
void ultoa(unsigned long value , char *buffer , char radix)
bool ultoa::$0
bool ultoa::$1
char ultoa::$10
char ultoa::$11
bool ultoa::$2
bool ultoa::$3
number ultoa::$4
bool ultoa::$5
bool ultoa::$6
bool ultoa::$7
bool ultoa::$8
unsigned long ultoa::$9
char *ultoa::buffer
char *ultoa::buffer#0
char *ultoa::buffer#1
char *ultoa::buffer#10
char *ultoa::buffer#11
char *ultoa::buffer#12
char *ultoa::buffer#13
char *ultoa::buffer#14
char *ultoa::buffer#15
char *ultoa::buffer#16
char *ultoa::buffer#17
char *ultoa::buffer#18
char *ultoa::buffer#19
char *ultoa::buffer#2
char *ultoa::buffer#20
char *ultoa::buffer#21
char *ultoa::buffer#22
char *ultoa::buffer#3
char *ultoa::buffer#4
char *ultoa::buffer#5
char *ultoa::buffer#6
char *ultoa::buffer#7
char *ultoa::buffer#8
char *ultoa::buffer#9
char ultoa::digit
char ultoa::digit#0
char ultoa::digit#1
char ultoa::digit#2
char ultoa::digit#3
char ultoa::digit#4
char ultoa::digit#5
char ultoa::digit#6
unsigned long ultoa::digit_value
unsigned long ultoa::digit_value#0
unsigned long ultoa::digit_value#1
unsigned long *ultoa::digit_values
unsigned long *ultoa::digit_values#0
unsigned long *ultoa::digit_values#1
unsigned long *ultoa::digit_values#10
unsigned long *ultoa::digit_values#2
unsigned long *ultoa::digit_values#3
unsigned long *ultoa::digit_values#4
unsigned long *ultoa::digit_values#5
unsigned long *ultoa::digit_values#6
unsigned long *ultoa::digit_values#7
unsigned long *ultoa::digit_values#8
unsigned long *ultoa::digit_values#9
char ultoa::max_digits
char ultoa::max_digits#0
char ultoa::max_digits#1
char ultoa::max_digits#10
char ultoa::max_digits#2
char ultoa::max_digits#3
char ultoa::max_digits#4
char ultoa::max_digits#5
char ultoa::max_digits#6
char ultoa::max_digits#7
char ultoa::max_digits#8
char ultoa::max_digits#9
char ultoa::radix
char ultoa::radix#0
char ultoa::radix#1
char ultoa::radix#2
char ultoa::radix#3
char ultoa::radix#4
char ultoa::radix#5
char ultoa::started
char ultoa::started#0
char ultoa::started#1
char ultoa::started#2
char ultoa::started#3
char ultoa::started#4
unsigned long ultoa::value
unsigned long ultoa::value#0
unsigned long ultoa::value#1
unsigned long ultoa::value#10
unsigned long ultoa::value#11
unsigned long ultoa::value#12
unsigned long ultoa::value#13
unsigned long ultoa::value#14
unsigned long ultoa::value#15
unsigned long ultoa::value#16
unsigned long ultoa::value#2
unsigned long ultoa::value#3
unsigned long ultoa::value#4
unsigned long ultoa::value#5
unsigned long ultoa::value#6
unsigned long ultoa::value#7
unsigned long ultoa::value#8
unsigned long ultoa::value#9
unsigned long ultoa_append(char *buffer , unsigned long value , unsigned long sub)
bool ultoa_append::$0
char *ultoa_append::buffer
char *ultoa_append::buffer#0
char *ultoa_append::buffer#1
char *ultoa_append::buffer#2
char *ultoa_append::buffer#3
char *ultoa_append::buffer#4
char ultoa_append::digit
char ultoa_append::digit#0
char ultoa_append::digit#1
char ultoa_append::digit#2
char ultoa_append::digit#3
char ultoa_append::digit#4
unsigned long ultoa_append::return
unsigned long ultoa_append::return#0
unsigned long ultoa_append::return#1
unsigned long ultoa_append::return#2
unsigned long ultoa_append::return#3
unsigned long ultoa_append::return#4
unsigned long ultoa_append::sub
unsigned long ultoa_append::sub#0
unsigned long ultoa_append::sub#1
unsigned long ultoa_append::sub#2
unsigned long ultoa_append::sub#3
unsigned long ultoa_append::value
unsigned long ultoa_append::value#0
unsigned long ultoa_append::value#1
unsigned long ultoa_append::value#2
unsigned long ultoa_append::value#3
unsigned long ultoa_append::value#4
unsigned long ultoa_append::value#5
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
Adding number conversion cast (unumber) 0 in memset::$0 = memset::num#2 > 0
Adding number conversion cast (unumber) 0 in strlen::$0 = 0 != *strlen::str#2
Adding number conversion cast (unumber) 0 in strupr::$1 = 0 != *strupr::src#2
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) $a in ultoa::max_digits#1 = $a
Adding number conversion cast (unumber) 8 in ultoa::max_digits#2 = 8
Adding number conversion cast (unumber) $b in ultoa::max_digits#3 = $b
Adding number conversion cast (unumber) $20 in ultoa::max_digits#4 = $20
Adding number conversion cast (unumber) 0 in *ultoa::buffer#2 = 0
Adding number conversion cast (unumber) 1 in ultoa::$4 = ultoa::max_digits#5 - 1
Adding number conversion cast (unumber) ultoa::$4 in ultoa::$4 = ultoa::max_digits#5 - (unumber)1
Adding number conversion cast (unumber) 0 in *ultoa::buffer#3 = 0
Adding number conversion cast (unumber) 1 in ultoa::started#1 = 1
Adding number conversion cast (unumber) 3 in uctoa::max_digits#1 = 3
Adding number conversion cast (unumber) 2 in uctoa::max_digits#2 = 2
Adding number conversion cast (unumber) 3 in uctoa::max_digits#3 = 3
Adding number conversion cast (unumber) 8 in uctoa::max_digits#4 = 8
Adding number conversion cast (unumber) 0 in *uctoa::buffer#2 = 0
Adding number conversion cast (unumber) 1 in uctoa::$4 = uctoa::max_digits#5 - 1
Adding number conversion cast (unumber) uctoa::$4 in uctoa::$4 = uctoa::max_digits#5 - (unumber)1
Adding number conversion cast (unumber) 0 in *uctoa::buffer#3 = 0
Adding number conversion cast (unumber) 1 in uctoa::started#1 = 1
Adding number conversion cast (unumber) $19 in clrscr::$0 = clrscr::l#2 < $19
Adding number conversion cast (unumber) 0 in conio_cursor_x = 0
Adding number conversion cast (unumber) 0 in conio_cursor_y = 0
Adding number conversion cast (unumber) $28 in clrscr::$1 = clrscr::c#2 < $28
Adding number conversion cast (unumber) $28 in clrscr::line_text#1 = clrscr::line_text#3 + $28
Adding number conversion cast (unumber) $28 in clrscr::line_cols#1 = clrscr::line_cols#3 + $28
Adding number conversion cast (unumber) $19 in gotoxy::$0 = gotoxy::y#3 > $19
Adding number conversion cast (unumber) $28 in gotoxy::$2 = gotoxy::x#3 >= $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) $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 *)CONIO_SCREEN_TEXT+$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 *)CONIO_SCREEN_COLORS+$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 *)CONIO_SCREEN_TEXT+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$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 *)CONIO_SCREEN_COLORS+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$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) 0 in printf_str::$2 = 0 != printf_str::$0
Adding number conversion cast (unumber) 0 in *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = 0
Adding number conversion cast (snumber) 0 in printf_slong::$0 = printf_slong::value#2 < 0
Adding number conversion cast (unumber) 0 in printf_slong::$5 = 0 != printf_slong::format_sign_always#1
Adding number conversion cast (unumber) 0 in printf_ulong::$5 = 0 != printf_ulong::format_sign_always#1
Adding number conversion cast (unumber) printf_ulong::$2 in printf_ulong::format_upper_case#2 = phi( printf_ulong::@1/printf_ulong::format_upper_case#3, printf_ulong::@2/printf_ulong::format_upper_case#4 )
printf_ulong::format_zero_padding#2 = phi( printf_ulong::@1/printf_ulong::format_zero_padding#3, printf_ulong::@2/printf_ulong::format_zero_padding#4 )
printf_ulong::format_sign_always#3 = phi( printf_ulong::@1/printf_ulong::format_sign_always#4, printf_ulong::@2/printf_ulong::format_sign_always#5 )
printf_ulong::format_justify_left#2 = phi( printf_ulong::@1/printf_ulong::format_justify_left#3, printf_ulong::@2/printf_ulong::format_justify_left#4 )
printf_ulong::format_min_length#2 = phi( printf_ulong::@1/printf_ulong::format_min_length#3, printf_ulong::@2/printf_ulong::format_min_length#4 )
printf_ulong::putc#2 = phi( printf_ulong::@1/printf_ulong::putc#3, printf_ulong::@2/printf_ulong::putc#4 )
printf_ulong::format_radix#1 = phi( printf_ulong::@1/printf_ulong::format_radix#3, printf_ulong::@2/printf_ulong::format_radix#4 )
printf_ulong::uvalue#1 = phi( printf_ulong::@1/printf_ulong::uvalue#2, printf_ulong::@2/printf_ulong::uvalue#3 )
printf_ulong::$2 = phi( printf_ulong::@1/printf_ulong::$1, printf_ulong::@2/printf_ulong::$0 )
Adding number conversion cast (unumber) printf_ulong::$0 in printf_ulong::format_upper_case#2 = phi( printf_ulong::@1/printf_ulong::format_upper_case#3, printf_ulong::@2/printf_ulong::format_upper_case#4 )
printf_ulong::format_zero_padding#2 = phi( printf_ulong::@1/printf_ulong::format_zero_padding#3, printf_ulong::@2/printf_ulong::format_zero_padding#4 )
printf_ulong::format_sign_always#3 = phi( printf_ulong::@1/printf_ulong::format_sign_always#4, printf_ulong::@2/printf_ulong::format_sign_always#5 )
printf_ulong::format_justify_left#2 = phi( printf_ulong::@1/printf_ulong::format_justify_left#3, printf_ulong::@2/printf_ulong::format_justify_left#4 )
printf_ulong::format_min_length#2 = phi( printf_ulong::@1/printf_ulong::format_min_length#3, printf_ulong::@2/printf_ulong::format_min_length#4 )
printf_ulong::putc#2 = phi( printf_ulong::@1/printf_ulong::putc#3, printf_ulong::@2/printf_ulong::putc#4 )
printf_ulong::format_radix#1 = phi( printf_ulong::@1/printf_ulong::format_radix#3, printf_ulong::@2/printf_ulong::format_radix#4 )
printf_ulong::uvalue#1 = phi( printf_ulong::@1/printf_ulong::uvalue#2, printf_ulong::@2/printf_ulong::uvalue#3 )
printf_ulong::$2 = phi( printf_ulong::@1/printf_ulong::$1, printf_ulong::@2/printf_ulong::$0 )
Adding number conversion cast (unumber) 0 in *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = 0
Adding number conversion cast (snumber) 0 in printf_sint::$0 = printf_sint::value#2 < 0
Adding number conversion cast (unumber) 0 in printf_sint::$5 = 0 != printf_sint::format_sign_always#1
Adding number conversion cast (unumber) 0 in printf_uint::$5 = 0 != printf_uint::format_sign_always#2
Adding number conversion cast (unumber) printf_uint::$2 in printf_uint::format_upper_case#3 = phi( printf_uint::@1/printf_uint::format_upper_case#4, printf_uint::@2/printf_uint::format_upper_case#5 )
printf_uint::format_zero_padding#3 = phi( printf_uint::@1/printf_uint::format_zero_padding#4, printf_uint::@2/printf_uint::format_zero_padding#5 )
printf_uint::format_sign_always#4 = phi( printf_uint::@1/printf_uint::format_sign_always#5, printf_uint::@2/printf_uint::format_sign_always#6 )
printf_uint::format_justify_left#3 = phi( printf_uint::@1/printf_uint::format_justify_left#4, printf_uint::@2/printf_uint::format_justify_left#5 )
printf_uint::format_min_length#3 = phi( printf_uint::@1/printf_uint::format_min_length#4, printf_uint::@2/printf_uint::format_min_length#5 )
printf_uint::putc#3 = phi( printf_uint::@1/printf_uint::putc#4, printf_uint::@2/printf_uint::putc#5 )
printf_uint::format_radix#2 = phi( printf_uint::@1/printf_uint::format_radix#4, printf_uint::@2/printf_uint::format_radix#5 )
printf_uint::uvalue#2 = phi( printf_uint::@1/printf_uint::uvalue#3, printf_uint::@2/printf_uint::uvalue#4 )
printf_uint::$2 = phi( printf_uint::@1/printf_uint::$1, printf_uint::@2/printf_uint::$0 )
Adding number conversion cast (unumber) printf_uint::$0 in printf_uint::format_upper_case#3 = phi( printf_uint::@1/printf_uint::format_upper_case#4, printf_uint::@2/printf_uint::format_upper_case#5 )
printf_uint::format_zero_padding#3 = phi( printf_uint::@1/printf_uint::format_zero_padding#4, printf_uint::@2/printf_uint::format_zero_padding#5 )
printf_uint::format_sign_always#4 = phi( printf_uint::@1/printf_uint::format_sign_always#5, printf_uint::@2/printf_uint::format_sign_always#6 )
printf_uint::format_justify_left#3 = phi( printf_uint::@1/printf_uint::format_justify_left#4, printf_uint::@2/printf_uint::format_justify_left#5 )
printf_uint::format_min_length#3 = phi( printf_uint::@1/printf_uint::format_min_length#4, printf_uint::@2/printf_uint::format_min_length#5 )
printf_uint::putc#3 = phi( printf_uint::@1/printf_uint::putc#4, printf_uint::@2/printf_uint::putc#5 )
printf_uint::format_radix#2 = phi( printf_uint::@1/printf_uint::format_radix#4, printf_uint::@2/printf_uint::format_radix#5 )
printf_uint::uvalue#2 = phi( printf_uint::@1/printf_uint::uvalue#3, printf_uint::@2/printf_uint::uvalue#4 )
printf_uint::$2 = phi( printf_uint::@1/printf_uint::$1, printf_uint::@2/printf_uint::$0 )
Adding number conversion cast (unumber) 0 in *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = 0
Adding number conversion cast (snumber) 0 in printf_schar::$0 = printf_schar::value#2 < 0
Adding number conversion cast (unumber) 0 in printf_schar::$5 = 0 != printf_schar::format_sign_always#1
Adding number conversion cast (unumber) 0 in printf_uchar::$5 = 0 != printf_uchar::format_sign_always#1
Adding number conversion cast (unumber) printf_uchar::$2 in printf_uchar::format_upper_case#2 = phi( printf_uchar::@1/printf_uchar::format_upper_case#3, printf_uchar::@2/printf_uchar::format_upper_case#4 )
printf_uchar::format_zero_padding#2 = phi( printf_uchar::@1/printf_uchar::format_zero_padding#3, printf_uchar::@2/printf_uchar::format_zero_padding#4 )
printf_uchar::format_sign_always#3 = phi( printf_uchar::@1/printf_uchar::format_sign_always#4, printf_uchar::@2/printf_uchar::format_sign_always#5 )
printf_uchar::format_justify_left#2 = phi( printf_uchar::@1/printf_uchar::format_justify_left#3, printf_uchar::@2/printf_uchar::format_justify_left#4 )
printf_uchar::format_min_length#2 = phi( printf_uchar::@1/printf_uchar::format_min_length#3, printf_uchar::@2/printf_uchar::format_min_length#4 )
printf_uchar::putc#2 = phi( printf_uchar::@1/printf_uchar::putc#3, printf_uchar::@2/printf_uchar::putc#4 )
printf_uchar::format_radix#1 = phi( printf_uchar::@1/printf_uchar::format_radix#3, printf_uchar::@2/printf_uchar::format_radix#4 )
printf_uchar::uvalue#1 = phi( printf_uchar::@1/printf_uchar::uvalue#2, printf_uchar::@2/printf_uchar::uvalue#3 )
printf_uchar::$2 = phi( printf_uchar::@1/printf_uchar::$1, printf_uchar::@2/printf_uchar::$0 )
Adding number conversion cast (unumber) printf_uchar::$0 in printf_uchar::format_upper_case#2 = phi( printf_uchar::@1/printf_uchar::format_upper_case#3, printf_uchar::@2/printf_uchar::format_upper_case#4 )
printf_uchar::format_zero_padding#2 = phi( printf_uchar::@1/printf_uchar::format_zero_padding#3, printf_uchar::@2/printf_uchar::format_zero_padding#4 )
printf_uchar::format_sign_always#3 = phi( printf_uchar::@1/printf_uchar::format_sign_always#4, printf_uchar::@2/printf_uchar::format_sign_always#5 )
printf_uchar::format_justify_left#2 = phi( printf_uchar::@1/printf_uchar::format_justify_left#3, printf_uchar::@2/printf_uchar::format_justify_left#4 )
printf_uchar::format_min_length#2 = phi( printf_uchar::@1/printf_uchar::format_min_length#3, printf_uchar::@2/printf_uchar::format_min_length#4 )
printf_uchar::putc#2 = phi( printf_uchar::@1/printf_uchar::putc#3, printf_uchar::@2/printf_uchar::putc#4 )
printf_uchar::format_radix#1 = phi( printf_uchar::@1/printf_uchar::format_radix#3, printf_uchar::@2/printf_uchar::format_radix#4 )
printf_uchar::uvalue#1 = phi( printf_uchar::@1/printf_uchar::uvalue#2, printf_uchar::@2/printf_uchar::uvalue#3 )
printf_uchar::$2 = phi( printf_uchar::@1/printf_uchar::$1, printf_uchar::@2/printf_uchar::$0 )
Adding number conversion cast (unumber) 0 in printf_number_buffer::$26 = 0 != printf_number_buffer::format_min_length#6
Adding number conversion cast (unumber) 0 in printf_number_buffer::$27 = 0 != printf_number_buffer::format_justify_left#6
Adding number conversion cast (unumber) 0 in printf_number_buffer::$28 = 0 != printf_number_buffer::format_zero_padding#6
Adding number conversion cast (unumber) 0 in printf_number_buffer::$29 = 0 != printf_number_buffer::buffer_sign#6
Adding number conversion cast (snumber) 0 in printf_number_buffer::$22 = printf_number_buffer::padding#1 < 0
Adding number conversion cast (snumber) 0 in printf_number_buffer::padding#2 = 0
Adding number conversion cast (unumber) 0 in printf_number_buffer::$30 = 0 != printf_number_buffer::buffer_sign#7
Adding number conversion cast (unumber) 0 in printf_number_buffer::$31 = 0 != printf_number_buffer::format_upper_case#6
Adding number conversion cast (unumber) 0 in printf_number_buffer::$32 = 0 != printf_number_buffer::format_zero_padding#8
Successful SSA optimization PassNAddNumberTypeConversions
Adding number conversion cast (unumber) 0 in printf_ulong::$0 = 0
Adding number conversion cast (unumber) 0 in printf_uint::$0 = 0
Adding number conversion cast (unumber) 0 in printf_uchar::$0 = 0
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 ultoa::max_digits#1 = (unumber)$a
Inlining cast ultoa::max_digits#2 = (unumber)8
Inlining cast ultoa::max_digits#3 = (unumber)$b
Inlining cast ultoa::max_digits#4 = (unumber)$20
Inlining cast *ultoa::buffer#2 = (unumber)0
Inlining cast *ultoa::buffer#3 = (unumber)0
Inlining cast ultoa::started#1 = (unumber)1
Inlining cast uctoa::max_digits#1 = (unumber)3
Inlining cast uctoa::max_digits#2 = (unumber)2
Inlining cast uctoa::max_digits#3 = (unumber)3
Inlining cast uctoa::max_digits#4 = (unumber)8
Inlining cast *uctoa::buffer#2 = (unumber)0
Inlining cast *uctoa::buffer#3 = (unumber)0
Inlining cast uctoa::started#1 = (unumber)1
Inlining cast conio_cursor_x = (unumber)0
Inlining cast conio_cursor_y = (unumber)0
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 *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = (unumber)0
Inlining cast printf_ulong::$0 = (unumber)0
Inlining cast *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = (unumber)0
Inlining cast printf_uint::$0 = (unumber)0
Inlining cast *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = (unumber)0
Inlining cast printf_uchar::$0 = (unumber)0
Inlining cast printf_number_buffer::padding#2 = (snumber)0
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 0
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 $a
Simplifying constant integer cast 8
Simplifying constant integer cast $b
Simplifying constant integer cast $20
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 3
Simplifying constant integer cast 2
Simplifying constant integer cast 3
Simplifying constant integer cast 8
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast uctoa::value#4
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast $19
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast $28
Simplifying constant integer cast $28
Simplifying constant integer cast $28
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 $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 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Successful SSA optimization PassNCastSimplification
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
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) $a
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) $b
Finalized unsigned number type (char) $20
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) 3
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) 3
Finalized unsigned number type (char) 8
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) 0
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) $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) $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) 0
Finalized unsigned number type (char) 0
Finalized signed number type (signed char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized signed number type (signed char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized signed number type (signed char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized signed number type (signed char) 0
Finalized signed number type (signed char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Successful SSA optimization PassNFinalizeNumberTypeConversions
Inferred type updated to char in utoa::$4 = utoa::max_digits#5 - 1
Inferred type updated to char in ultoa::$4 = ultoa::max_digits#5 - 1
Inferred type updated to char in uctoa::$4 = uctoa::max_digits#5 - 1
Inferred type updated to char in printf_ulong::$0 = 0
Inferred type updated to char for printf_ulong::$2
Inferred type updated to char in printf_uint::$0 = 0
Inferred type updated to char for printf_uint::$2
Inferred type updated to char in printf_uchar::$0 = 0
Inferred type updated to char for printf_uchar::$2
Inversing boolean not [19] memset::$1 = memset::num#2 <= 0 from [18] memset::$0 = memset::num#2 > 0
Inversing boolean not [348] gotoxy::$1 = gotoxy::y#3 <= $19 from [347] gotoxy::$0 = gotoxy::y#3 > $19
Inversing boolean not [352] gotoxy::$3 = gotoxy::x#3 < $28 from [351] gotoxy::$2 = gotoxy::x#3 >= $28
Inversing boolean not [377] cputc::$2 = conio_cursor_x != $28 from [376] cputc::$1 = conio_cursor_x == $28
Inversing boolean not [388] cscroll::$1 = conio_cursor_y != $19 from [387] cscroll::$0 = conio_cursor_y == $19
Inversing boolean not [421] conio_c64_init::$1 = conio_c64_init::line#0 < $19 from [420] conio_c64_init::$0 = conio_c64_init::line#0 >= $19
Inversing boolean not [464] printf_slong::$3 = 0 == printf_slong::format_sign_always#1 from [463] printf_slong::$5 = 0 != printf_slong::format_sign_always#1
Inversing boolean not [521] printf_sint::$3 = 0 == printf_sint::format_sign_always#1 from [520] printf_sint::$5 = 0 != printf_sint::format_sign_always#1
Inversing boolean not [578] printf_schar::$3 = 0 == printf_schar::format_sign_always#1 from [577] printf_schar::$5 = 0 != printf_schar::format_sign_always#1
Inversing boolean not [628] printf_number_buffer::$0 = 0 == printf_number_buffer::format_min_length#6 from [627] printf_number_buffer::$26 = 0 != printf_number_buffer::format_min_length#6
Inversing boolean not [632] printf_number_buffer::$1 = 0 == printf_number_buffer::format_justify_left#6 from [631] printf_number_buffer::$27 = 0 != printf_number_buffer::format_justify_left#6
Inversing boolean not [634] printf_number_buffer::$2 = 0 == printf_number_buffer::format_zero_padding#6 from [633] printf_number_buffer::$28 = 0 != printf_number_buffer::format_zero_padding#6
Inversing boolean not [647] printf_number_buffer::$20 = 0 == printf_number_buffer::buffer_sign#6 from [646] printf_number_buffer::$29 = 0 != printf_number_buffer::buffer_sign#6
Inversing boolean not [654] printf_number_buffer::$23 = printf_number_buffer::padding#1 >= 0 from [653] printf_number_buffer::$22 = printf_number_buffer::padding#1 < 0
Inversing boolean not [662] printf_number_buffer::$7 = 0 == printf_number_buffer::buffer_sign#7 from [661] printf_number_buffer::$30 = 0 != printf_number_buffer::buffer_sign#7
Inversing boolean not [680] printf_number_buffer::$12 = 0 == printf_number_buffer::format_upper_case#6 from [679] printf_number_buffer::$31 = 0 != printf_number_buffer::format_upper_case#6
Inversing boolean not [694] printf_number_buffer::$14 = 0 == printf_number_buffer::format_zero_padding#8 from [693] printf_number_buffer::$32 = 0 != printf_number_buffer::format_zero_padding#8
Successful SSA optimization Pass2UnaryNotSimplification
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
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 strlen::len#2 = strlen::len#4 strlen::len#3 strlen::return#0 strlen::return#3 strlen::return#1
Alias strlen::str#2 = strlen::str#3
Alias toupper::ch#1 = toupper::ch#2 toupper::ch#3 toupper::return#1
Alias toupper::return#0 = toupper::$3
Alias toupper::return#2 = toupper::return#4
Alias strupr::src#0 = strupr::str#1
Alias strupr::src#2 = strupr::src#3 strupr::src#4
Alias strupr::str#2 = strupr::str#5 strupr::str#3 strupr::str#4 strupr::return#0 strupr::return#3 strupr::return#1
Alias toupper::return#3 = toupper::return#5
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 ultoa::value#10 = ultoa::value#9 ultoa::value#13 ultoa::value#14 ultoa::value#15 ultoa::value#11 ultoa::value#16 ultoa::value#12
Alias ultoa::buffer#11 = ultoa::buffer#18 ultoa::buffer#22 ultoa::buffer#17 ultoa::buffer#19 ultoa::buffer#14 ultoa::buffer#20 ultoa::buffer#21 ultoa::buffer#7
Alias ultoa::radix#2 = ultoa::radix#3 ultoa::radix#4 ultoa::radix#5
Alias ultoa::digit#2 = ultoa::digit#3 ultoa::digit#6 ultoa::digit#5
Alias ultoa::digit_values#10 = ultoa::digit_values#5 ultoa::digit_values#6 ultoa::digit_values#9
Alias ultoa::value#3 = ultoa::value#6 ultoa::value#4 ultoa::value#5
Alias ultoa::started#2 = ultoa::started#3
Alias ultoa::buffer#10 = ultoa::buffer#13 ultoa::buffer#12 ultoa::buffer#8 ultoa::buffer#9
Alias ultoa::max_digits#10 = ultoa::max_digits#8 ultoa::max_digits#5 ultoa::max_digits#9
Alias ultoa::digit_value#0 = ultoa::digit_value#1
Alias ultoa_append::return#0 = ultoa_append::return#3
Alias ultoa::value#0 = ultoa::$9
Alias uctoa::value#10 = uctoa::value#9 uctoa::value#13 uctoa::value#14 uctoa::value#15 uctoa::value#11 uctoa::value#16 uctoa::value#12
Alias uctoa::buffer#11 = uctoa::buffer#18 uctoa::buffer#22 uctoa::buffer#17 uctoa::buffer#19 uctoa::buffer#14 uctoa::buffer#20 uctoa::buffer#21 uctoa::buffer#7
Alias uctoa::radix#2 = uctoa::radix#3 uctoa::radix#4 uctoa::radix#5
Alias uctoa::digit_values#10 = uctoa::digit_values#5 uctoa::digit_values#6 uctoa::digit_values#9
Alias uctoa::digit#2 = uctoa::digit#3 uctoa::digit#6 uctoa::digit#5
Alias uctoa::value#3 = uctoa::value#6 uctoa::value#4 uctoa::$10 uctoa::value#5
Alias uctoa::started#2 = uctoa::started#3
Alias uctoa::buffer#10 = uctoa::buffer#13 uctoa::buffer#12 uctoa::buffer#8 uctoa::buffer#9
Alias uctoa::max_digits#10 = uctoa::max_digits#8 uctoa::max_digits#5 uctoa::max_digits#9
Alias uctoa::digit_value#0 = uctoa::digit_value#1
Alias uctoa_append::return#0 = uctoa_append::return#3
Alias uctoa::value#0 = uctoa::$9
Alias uctoa_append::digit#2 = uctoa_append::digit#4 uctoa_append::digit#3
Alias uctoa_append::value#2 = uctoa_append::value#3 uctoa_append::value#4 uctoa_append::return#1 uctoa_append::return#4 uctoa_append::return#2
Alias uctoa_append::sub#1 = uctoa_append::sub#2
Alias uctoa_append::buffer#1 = uctoa_append::buffer#4 uctoa_append::buffer#2
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 ultoa_append::digit#2 = ultoa_append::digit#4 ultoa_append::digit#3
Alias ultoa_append::value#2 = ultoa_append::value#3 ultoa_append::value#4 ultoa_append::return#1 ultoa_append::return#4 ultoa_append::return#2
Alias ultoa_append::sub#1 = ultoa_append::sub#2
Alias ultoa_append::buffer#1 = ultoa_append::buffer#4 ultoa_append::buffer#2
Alias clrscr::line_text#5 = clrscr::line_text#6
Alias clrscr::line_cols#5 = clrscr::line_cols#6
Alias clrscr::l#2 = clrscr::l#5
Alias clrscr::line_text#2 = clrscr::line_text#4 clrscr::line_text#3
Alias clrscr::c#2 = clrscr::c#3
Alias clrscr::line_cols#2 = clrscr::line_cols#4 clrscr::line_cols#3
Alias clrscr::l#3 = clrscr::l#6 clrscr::l#4
Alias gotoxy::x#5 = gotoxy::x#6
Alias gotoxy::y#5 = gotoxy::y#6
Alias cputc::c#0 = cputc::c#1
Alias printf_str::c#1 = printf_str::$0 printf_str::c#2
Alias printf_str::putc#19 = printf_str::putc#20
Alias printf_str::s#0 = printf_str::s#22
Alias printf_padding::pad#3 = printf_padding::pad#4 printf_padding::pad#6
Alias printf_padding::putc#3 = printf_padding::putc#4 printf_padding::putc#6
Alias printf_padding::i#2 = printf_padding::i#4 printf_padding::i#3
Alias printf_padding::length#3 = printf_padding::length#6 printf_padding::length#5
Alias printf_slong::value#2 = printf_slong::value#3 printf_slong::value#5 printf_slong::value#6
Alias printf_slong::format_radix#3 = printf_slong::format_radix#6 printf_slong::format_radix#4 printf_slong::format_radix#5
Alias printf_slong::putc#3 = printf_slong::putc#6 printf_slong::putc#4 printf_slong::putc#5
Alias printf_slong::format_min_length#3 = printf_slong::format_min_length#6 printf_slong::format_min_length#4 printf_slong::format_min_length#5
Alias printf_slong::format_justify_left#3 = printf_slong::format_justify_left#6 printf_slong::format_justify_left#4 printf_slong::format_justify_left#5
Alias printf_slong::format_sign_always#1 = printf_slong::format_sign_always#5 printf_slong::format_sign_always#3 printf_slong::format_sign_always#6
Alias printf_slong::format_zero_padding#3 = printf_slong::format_zero_padding#6 printf_slong::format_zero_padding#4 printf_slong::format_zero_padding#5
Alias printf_slong::format_upper_case#3 = printf_slong::format_upper_case#6 printf_slong::format_upper_case#4 printf_slong::format_upper_case#5
Alias printf_slong::value#0 = printf_slong::$4
Alias printf_slong::putc#1 = printf_slong::putc#2
Alias printf_slong::format_min_length#1 = printf_slong::format_min_length#2
Alias printf_slong::format_justify_left#1 = printf_slong::format_justify_left#2
Alias printf_slong::format_sign_always#2 = printf_slong::format_sign_always#4
Alias printf_slong::format_zero_padding#1 = printf_slong::format_zero_padding#2
Alias printf_slong::format_upper_case#1 = printf_slong::format_upper_case#2
Alias printf_slong::format_radix#1 = printf_slong::format_radix#2
Alias printf_ulong::uvalue#2 = printf_ulong::uvalue#4 printf_ulong::uvalue#3
Alias printf_ulong::format_radix#3 = printf_ulong::format_radix#5 printf_ulong::format_radix#4
Alias printf_ulong::putc#3 = printf_ulong::putc#5 printf_ulong::putc#4
Alias printf_ulong::format_min_length#3 = printf_ulong::format_min_length#5 printf_ulong::format_min_length#4
Alias printf_ulong::format_justify_left#3 = printf_ulong::format_justify_left#5 printf_ulong::format_justify_left#4
Alias printf_ulong::format_sign_always#1 = printf_ulong::format_sign_always#4 printf_ulong::format_sign_always#5
Alias printf_ulong::format_zero_padding#3 = printf_ulong::format_zero_padding#5 printf_ulong::format_zero_padding#4
Alias printf_ulong::format_upper_case#3 = printf_ulong::format_upper_case#5 printf_ulong::format_upper_case#4
Alias printf_ulong::putc#1 = printf_ulong::putc#2
Alias printf_ulong::format_min_length#1 = printf_ulong::format_min_length#2
Alias printf_ulong::format_justify_left#1 = printf_ulong::format_justify_left#2
Alias printf_ulong::format_sign_always#2 = printf_ulong::format_sign_always#3
Alias printf_ulong::format_zero_padding#1 = printf_ulong::format_zero_padding#2
Alias printf_ulong::format_upper_case#1 = printf_ulong::format_upper_case#2
Alias printf_ulong::format_radix#1 = printf_ulong::format_radix#2
Alias printf_sint::value#2 = printf_sint::value#3 printf_sint::value#5 printf_sint::value#6
Alias printf_sint::format_radix#3 = printf_sint::format_radix#6 printf_sint::format_radix#4 printf_sint::format_radix#5
Alias printf_sint::putc#3 = printf_sint::putc#6 printf_sint::putc#4 printf_sint::putc#5
Alias printf_sint::format_min_length#3 = printf_sint::format_min_length#6 printf_sint::format_min_length#4 printf_sint::format_min_length#5
Alias printf_sint::format_justify_left#3 = printf_sint::format_justify_left#6 printf_sint::format_justify_left#4 printf_sint::format_justify_left#5
Alias printf_sint::format_sign_always#1 = printf_sint::format_sign_always#5 printf_sint::format_sign_always#3 printf_sint::format_sign_always#6
Alias printf_sint::format_zero_padding#3 = printf_sint::format_zero_padding#6 printf_sint::format_zero_padding#4 printf_sint::format_zero_padding#5
Alias printf_sint::format_upper_case#3 = printf_sint::format_upper_case#6 printf_sint::format_upper_case#4 printf_sint::format_upper_case#5
Alias printf_sint::value#0 = printf_sint::$4
Alias printf_sint::putc#1 = printf_sint::putc#2
Alias printf_sint::format_min_length#1 = printf_sint::format_min_length#2
Alias printf_sint::format_justify_left#1 = printf_sint::format_justify_left#2
Alias printf_sint::format_sign_always#2 = printf_sint::format_sign_always#4
Alias printf_sint::format_zero_padding#1 = printf_sint::format_zero_padding#2
Alias printf_sint::format_upper_case#1 = printf_sint::format_upper_case#2
Alias printf_sint::format_radix#1 = printf_sint::format_radix#2
Alias printf_uint::uvalue#3 = printf_uint::uvalue#5 printf_uint::uvalue#4
Alias printf_uint::format_radix#4 = printf_uint::format_radix#6 printf_uint::format_radix#5
Alias printf_uint::putc#4 = printf_uint::putc#6 printf_uint::putc#5
Alias printf_uint::format_min_length#4 = printf_uint::format_min_length#6 printf_uint::format_min_length#5
Alias printf_uint::format_justify_left#4 = printf_uint::format_justify_left#6 printf_uint::format_justify_left#5
Alias printf_uint::format_sign_always#2 = printf_uint::format_sign_always#5 printf_uint::format_sign_always#6
Alias printf_uint::format_zero_padding#4 = printf_uint::format_zero_padding#6 printf_uint::format_zero_padding#5
Alias printf_uint::format_upper_case#4 = printf_uint::format_upper_case#6 printf_uint::format_upper_case#5
Alias printf_uint::putc#2 = printf_uint::putc#3
Alias printf_uint::format_min_length#2 = printf_uint::format_min_length#3
Alias printf_uint::format_justify_left#2 = printf_uint::format_justify_left#3
Alias printf_uint::format_sign_always#3 = printf_uint::format_sign_always#4
Alias printf_uint::format_zero_padding#2 = printf_uint::format_zero_padding#3
Alias printf_uint::format_upper_case#2 = printf_uint::format_upper_case#3
Alias printf_uint::format_radix#2 = printf_uint::format_radix#3
Alias printf_schar::value#2 = printf_schar::value#3 printf_schar::value#5 printf_schar::value#6
Alias printf_schar::format_radix#3 = printf_schar::format_radix#6 printf_schar::format_radix#4 printf_schar::format_radix#5
Alias printf_schar::putc#3 = printf_schar::putc#6 printf_schar::putc#4 printf_schar::putc#5
Alias printf_schar::format_min_length#3 = printf_schar::format_min_length#6 printf_schar::format_min_length#4 printf_schar::format_min_length#5
Alias printf_schar::format_justify_left#3 = printf_schar::format_justify_left#6 printf_schar::format_justify_left#4 printf_schar::format_justify_left#5
Alias printf_schar::format_sign_always#1 = printf_schar::format_sign_always#5 printf_schar::format_sign_always#3 printf_schar::format_sign_always#6
Alias printf_schar::format_zero_padding#3 = printf_schar::format_zero_padding#6 printf_schar::format_zero_padding#4 printf_schar::format_zero_padding#5
Alias printf_schar::format_upper_case#3 = printf_schar::format_upper_case#6 printf_schar::format_upper_case#4 printf_schar::format_upper_case#5
Alias printf_schar::value#0 = printf_schar::$4
Alias printf_schar::putc#1 = printf_schar::putc#2
Alias printf_schar::format_min_length#1 = printf_schar::format_min_length#2
Alias printf_schar::format_justify_left#1 = printf_schar::format_justify_left#2
Alias printf_schar::format_sign_always#2 = printf_schar::format_sign_always#4
Alias printf_schar::format_zero_padding#1 = printf_schar::format_zero_padding#2
Alias printf_schar::format_upper_case#1 = printf_schar::format_upper_case#2
Alias printf_schar::format_radix#1 = printf_schar::format_radix#2
Alias printf_uchar::uvalue#2 = printf_uchar::uvalue#4 printf_uchar::uvalue#3
Alias printf_uchar::format_radix#3 = printf_uchar::format_radix#5 printf_uchar::format_radix#4
Alias printf_uchar::putc#3 = printf_uchar::putc#5 printf_uchar::putc#4
Alias printf_uchar::format_min_length#3 = printf_uchar::format_min_length#5 printf_uchar::format_min_length#4
Alias printf_uchar::format_justify_left#3 = printf_uchar::format_justify_left#5 printf_uchar::format_justify_left#4
Alias printf_uchar::format_sign_always#1 = printf_uchar::format_sign_always#4 printf_uchar::format_sign_always#5
Alias printf_uchar::format_zero_padding#3 = printf_uchar::format_zero_padding#5 printf_uchar::format_zero_padding#4
Alias printf_uchar::format_upper_case#3 = printf_uchar::format_upper_case#5 printf_uchar::format_upper_case#4
Alias printf_uchar::putc#1 = printf_uchar::putc#2
Alias printf_uchar::format_min_length#1 = printf_uchar::format_min_length#2
Alias printf_uchar::format_justify_left#1 = printf_uchar::format_justify_left#2
Alias printf_uchar::format_sign_always#2 = printf_uchar::format_sign_always#3
Alias printf_uchar::format_zero_padding#1 = printf_uchar::format_zero_padding#2
Alias printf_uchar::format_upper_case#1 = printf_uchar::format_upper_case#2
Alias printf_uchar::format_radix#1 = printf_uchar::format_radix#2
Alias printf_number_buffer::buffer_digits#22 = printf_number_buffer::buffer_digits#6 printf_number_buffer::buffer_digits#9 printf_number_buffer::buffer_digits#23
Alias printf_number_buffer::buffer_sign#12 = printf_number_buffer::buffer_sign#9 printf_number_buffer::buffer_sign#6 printf_number_buffer::buffer_sign#16
Alias printf_number_buffer::format_min_length#10 = printf_number_buffer::format_min_length#6 printf_number_buffer::format_min_length#8 printf_number_buffer::format_min_length#9
Alias printf_number_buffer::format_justify_left#12 = printf_number_buffer::format_justify_left#16 printf_number_buffer::format_justify_left#8 printf_number_buffer::format_justify_left#13
Alias printf_number_buffer::format_zero_padding#15 = printf_number_buffer::format_zero_padding#20 printf_number_buffer::format_zero_padding#9 printf_number_buffer::format_zero_padding#16
Alias printf_number_buffer::putc#17 = printf_number_buffer::putc#25 printf_number_buffer::putc#23 printf_number_buffer::putc#24
Alias printf_number_buffer::format_upper_case#14 = printf_number_buffer::format_upper_case#20 printf_number_buffer::format_upper_case#18 printf_number_buffer::format_upper_case#19
Alias strlen::return#2 = strlen::return#4
Alias printf_number_buffer::padding#1 = printf_number_buffer::$21
Alias printf_number_buffer::len#0 = printf_number_buffer::len#3
Alias printf_number_buffer::format_justify_left#10 = printf_number_buffer::format_justify_left#9
Alias printf_number_buffer::format_zero_padding#10 = printf_number_buffer::format_zero_padding#11
Alias printf_number_buffer::buffer_sign#13 = printf_number_buffer::buffer_sign#14
Alias printf_number_buffer::putc#18 = printf_number_buffer::putc#19
Alias printf_number_buffer::format_upper_case#15 = printf_number_buffer::format_upper_case#16
Alias printf_number_buffer::buffer_digits#19 = printf_number_buffer::buffer_digits#20
Alias printf_number_buffer::putc#11 = printf_number_buffer::putc#6 printf_number_buffer::putc#20
Alias printf_number_buffer::padding#12 = printf_number_buffer::padding#4 printf_number_buffer::padding#3
Alias printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#15 printf_number_buffer::buffer_sign#11
Alias printf_number_buffer::format_zero_padding#17 = printf_number_buffer::format_zero_padding#21 printf_number_buffer::format_zero_padding#6
Alias printf_number_buffer::format_upper_case#12 = printf_number_buffer::format_upper_case#17 printf_number_buffer::format_upper_case#13
Alias printf_number_buffer::buffer_digits#17 = printf_number_buffer::buffer_digits#21 printf_number_buffer::buffer_digits#18
Alias printf_number_buffer::format_justify_left#23 = printf_number_buffer::format_justify_left#24 printf_number_buffer::format_justify_left#6
Alias printf_number_buffer::buffer_sign#7 = printf_number_buffer::buffer_sign#8
Alias printf_number_buffer::putc#12 = printf_number_buffer::putc#7
Alias printf_number_buffer::format_zero_padding#12 = printf_number_buffer::format_zero_padding#13
Alias printf_number_buffer::padding#10 = printf_number_buffer::padding#9
Alias printf_number_buffer::format_upper_case#10 = printf_number_buffer::format_upper_case#9
Alias printf_number_buffer::buffer_digits#14 = printf_number_buffer::buffer_digits#15
Alias printf_number_buffer::format_justify_left#20 = printf_number_buffer::format_justify_left#21
Alias printf_number_buffer::putc#13 = printf_number_buffer::putc#8 printf_number_buffer::putc#21
Alias printf_number_buffer::padding#15 = printf_number_buffer::padding#6 printf_number_buffer::padding#5
Alias printf_number_buffer::format_upper_case#11 = printf_number_buffer::format_upper_case#8 printf_number_buffer::format_upper_case#7
Alias printf_number_buffer::buffer_digits#12 = printf_number_buffer::buffer_digits#16 printf_number_buffer::buffer_digits#13
Alias printf_number_buffer::format_zero_padding#22 = printf_number_buffer::format_zero_padding#24 printf_number_buffer::format_zero_padding#7
Alias printf_number_buffer::format_justify_left#17 = printf_number_buffer::format_justify_left#22 printf_number_buffer::format_justify_left#18
Alias printf_number_buffer::format_zero_padding#14 = printf_number_buffer::format_zero_padding#8
Alias printf_number_buffer::format_justify_left#11 = printf_number_buffer::format_justify_left#7
Alias printf_number_buffer::padding#11 = printf_number_buffer::padding#7 printf_number_buffer::padding#8
Alias printf_number_buffer::putc#10 = printf_number_buffer::putc#16 printf_number_buffer::putc#9
Alias printf_number_buffer::buffer_digits#10 = printf_number_buffer::buffer_digits#8 printf_number_buffer::buffer_digits#11
Alias printf_number_buffer::putc#14 = printf_number_buffer::putc#22 printf_number_buffer::putc#15
Alias printf_number_buffer::format_zero_padding#18 = printf_number_buffer::format_zero_padding#23 printf_number_buffer::format_zero_padding#19
Alias printf_number_buffer::format_justify_left#14 = printf_number_buffer::format_justify_left#19 printf_number_buffer::format_justify_left#15
Alias printf_number_buffer::padding#13 = printf_number_buffer::padding#16 printf_number_buffer::padding#14
Successful SSA optimization Pass2AliasElimination
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
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 ultoa::value#10 = ultoa::value#8
Alias ultoa::buffer#11 = ultoa::buffer#16
Alias ultoa::digit#2 = ultoa::digit#4
Alias ultoa::max_digits#10 = ultoa::max_digits#6
Alias ultoa::digit_values#10 = ultoa::digit_values#7
Alias uctoa::value#10 = uctoa::value#8
Alias uctoa::buffer#11 = uctoa::buffer#16
Alias uctoa::digit#2 = uctoa::digit#4
Alias uctoa::max_digits#10 = uctoa::max_digits#6
Alias uctoa::digit_values#10 = uctoa::digit_values#7
Alias gotoxy::x#3 = gotoxy::x#5
Alias gotoxy::y#4 = gotoxy::y#5
Alias printf_slong::format_radix#1 = printf_slong::format_radix#3
Alias printf_slong::putc#1 = printf_slong::putc#3
Alias printf_slong::format_min_length#1 = printf_slong::format_min_length#3
Alias printf_slong::format_justify_left#1 = printf_slong::format_justify_left#3
Alias printf_slong::format_sign_always#1 = printf_slong::format_sign_always#2
Alias printf_slong::format_zero_padding#1 = printf_slong::format_zero_padding#3
Alias printf_slong::format_upper_case#1 = printf_slong::format_upper_case#3
Alias printf_ulong::uvalue#1 = printf_ulong::uvalue#2
Alias printf_ulong::format_radix#1 = printf_ulong::format_radix#3
Alias printf_ulong::putc#1 = printf_ulong::putc#3
Alias printf_ulong::format_min_length#1 = printf_ulong::format_min_length#3
Alias printf_ulong::format_justify_left#1 = printf_ulong::format_justify_left#3
Alias printf_ulong::format_sign_always#1 = printf_ulong::format_sign_always#2
Alias printf_ulong::format_zero_padding#1 = printf_ulong::format_zero_padding#3
Alias printf_ulong::format_upper_case#1 = printf_ulong::format_upper_case#3
Alias printf_sint::format_radix#1 = printf_sint::format_radix#3
Alias printf_sint::putc#1 = printf_sint::putc#3
Alias printf_sint::format_min_length#1 = printf_sint::format_min_length#3
Alias printf_sint::format_justify_left#1 = printf_sint::format_justify_left#3
Alias printf_sint::format_sign_always#1 = printf_sint::format_sign_always#2
Alias printf_sint::format_zero_padding#1 = printf_sint::format_zero_padding#3
Alias printf_sint::format_upper_case#1 = printf_sint::format_upper_case#3
Alias printf_uint::uvalue#2 = printf_uint::uvalue#3
Alias printf_uint::format_radix#2 = printf_uint::format_radix#4
Alias printf_uint::putc#2 = printf_uint::putc#4
Alias printf_uint::format_min_length#2 = printf_uint::format_min_length#4
Alias printf_uint::format_justify_left#2 = printf_uint::format_justify_left#4
Alias printf_uint::format_sign_always#2 = printf_uint::format_sign_always#3
Alias printf_uint::format_zero_padding#2 = printf_uint::format_zero_padding#4
Alias printf_uint::format_upper_case#2 = printf_uint::format_upper_case#4
Alias printf_schar::format_radix#1 = printf_schar::format_radix#3
Alias printf_schar::putc#1 = printf_schar::putc#3
Alias printf_schar::format_min_length#1 = printf_schar::format_min_length#3
Alias printf_schar::format_justify_left#1 = printf_schar::format_justify_left#3
Alias printf_schar::format_sign_always#1 = printf_schar::format_sign_always#2
Alias printf_schar::format_zero_padding#1 = printf_schar::format_zero_padding#3
Alias printf_schar::format_upper_case#1 = printf_schar::format_upper_case#3
Alias printf_uchar::uvalue#1 = printf_uchar::uvalue#2
Alias printf_uchar::format_radix#1 = printf_uchar::format_radix#3
Alias printf_uchar::putc#1 = printf_uchar::putc#3
Alias printf_uchar::format_min_length#1 = printf_uchar::format_min_length#3
Alias printf_uchar::format_justify_left#1 = printf_uchar::format_justify_left#3
Alias printf_uchar::format_sign_always#1 = printf_uchar::format_sign_always#2
Alias printf_uchar::format_zero_padding#1 = printf_uchar::format_zero_padding#3
Alias printf_uchar::format_upper_case#1 = printf_uchar::format_upper_case#3
Alias printf_number_buffer::format_min_length#10 = printf_number_buffer::format_min_length#7
Alias printf_number_buffer::format_justify_left#10 = printf_number_buffer::format_justify_left#12
Alias printf_number_buffer::format_zero_padding#10 = printf_number_buffer::format_zero_padding#15
Alias printf_number_buffer::buffer_sign#12 = printf_number_buffer::buffer_sign#13
Alias printf_number_buffer::putc#17 = printf_number_buffer::putc#18
Alias printf_number_buffer::format_upper_case#14 = printf_number_buffer::format_upper_case#15
Alias printf_number_buffer::buffer_digits#19 = printf_number_buffer::buffer_digits#22
Alias printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#7
Alias printf_number_buffer::format_zero_padding#12 = printf_number_buffer::format_zero_padding#17 printf_number_buffer::format_zero_padding#22 printf_number_buffer::format_zero_padding#18 printf_number_buffer::format_zero_padding#14
Alias printf_number_buffer::padding#10 = printf_number_buffer::padding#12 printf_number_buffer::padding#15 printf_number_buffer::padding#13 printf_number_buffer::padding#11
Alias printf_number_buffer::putc#10 = printf_number_buffer::putc#12 printf_number_buffer::putc#11 printf_number_buffer::putc#13 printf_number_buffer::putc#14
Alias printf_number_buffer::format_upper_case#10 = printf_number_buffer::format_upper_case#12 printf_number_buffer::format_upper_case#11 printf_number_buffer::format_upper_case#6
Alias printf_number_buffer::buffer_digits#10 = printf_number_buffer::buffer_digits#14 printf_number_buffer::buffer_digits#17 printf_number_buffer::buffer_digits#12 printf_number_buffer::buffer_digits#7
Alias printf_number_buffer::format_justify_left#11 = printf_number_buffer::format_justify_left#20 printf_number_buffer::format_justify_left#23 printf_number_buffer::format_justify_left#17 printf_number_buffer::format_justify_left#14
Successful SSA optimization Pass2AliasElimination
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
Alias printf_number_buffer::format_justify_left#10 = printf_number_buffer::format_justify_left#11
Alias printf_number_buffer::format_zero_padding#10 = printf_number_buffer::format_zero_padding#12
Alias printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#12
Alias printf_number_buffer::putc#10 = printf_number_buffer::putc#17
Alias printf_number_buffer::format_upper_case#10 = printf_number_buffer::format_upper_case#14
Alias printf_number_buffer::buffer_digits#10 = printf_number_buffer::buffer_digits#19
Successful SSA optimization Pass2AliasElimination
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
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 strlen::str#4 strlen::str#1
Identical Phi Values toupper::ch#1 toupper::ch#0
Identical Phi Values strupr::src#0 strupr::str#0
Identical Phi Values strupr::str#2 strupr::src#0
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 ultoa::max_digits#10 ultoa::max_digits#7
Identical Phi Values ultoa::digit_values#10 ultoa::digit_values#8
Identical Phi Values uctoa::max_digits#10 uctoa::max_digits#7
Identical Phi Values uctoa::digit_values#10 uctoa::digit_values#8
Identical Phi Values uctoa_append::value#5 uctoa_append::value#0
Identical Phi Values uctoa_append::sub#3 uctoa_append::sub#0
Identical Phi Values uctoa_append::buffer#3 uctoa_append::buffer#0
Identical Phi Values uctoa_append::sub#1 uctoa_append::sub#3
Identical Phi Values uctoa_append::buffer#1 uctoa_append::buffer#3
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 ultoa_append::value#5 ultoa_append::value#0
Identical Phi Values ultoa_append::sub#3 ultoa_append::sub#0
Identical Phi Values ultoa_append::buffer#3 ultoa_append::buffer#0
Identical Phi Values ultoa_append::sub#1 ultoa_append::sub#3
Identical Phi Values ultoa_append::buffer#1 ultoa_append::buffer#3
Identical Phi Values clrscr::line_text#2 clrscr::line_text#5
Identical Phi Values clrscr::line_cols#2 clrscr::line_cols#5
Identical Phi Values clrscr::l#3 clrscr::l#2
Identical Phi Values printf_str::putc#19 printf_str::putc#21
Identical Phi Values printf_padding::length#3 printf_padding::length#4
Identical Phi Values printf_padding::pad#3 printf_padding::pad#5
Identical Phi Values printf_padding::putc#3 printf_padding::putc#5
Identical Phi Values printf_slong::value#2 printf_slong::value#1
Identical Phi Values printf_slong::format_sign_always#1 printf_slong::format_sign_always#0
Identical Phi Values printf_slong::format_radix#1 printf_slong::format_radix#0
Identical Phi Values printf_slong::putc#1 printf_slong::putc#0
Identical Phi Values printf_slong::format_min_length#1 printf_slong::format_min_length#0
Identical Phi Values printf_slong::format_justify_left#1 printf_slong::format_justify_left#0
Identical Phi Values printf_slong::format_zero_padding#1 printf_slong::format_zero_padding#0
Identical Phi Values printf_slong::format_upper_case#1 printf_slong::format_upper_case#0
Identical Phi Values printf_ulong::format_sign_always#1 printf_ulong::format_sign_always#0
Identical Phi Values printf_ulong::uvalue#1 printf_ulong::uvalue#0
Identical Phi Values printf_ulong::format_radix#1 printf_ulong::format_radix#0
Identical Phi Values printf_ulong::putc#1 printf_ulong::putc#0
Identical Phi Values printf_ulong::format_min_length#1 printf_ulong::format_min_length#0
Identical Phi Values printf_ulong::format_justify_left#1 printf_ulong::format_justify_left#0
Identical Phi Values printf_ulong::format_zero_padding#1 printf_ulong::format_zero_padding#0
Identical Phi Values printf_ulong::format_upper_case#1 printf_ulong::format_upper_case#0
Identical Phi Values printf_sint::value#2 printf_sint::value#1
Identical Phi Values printf_sint::format_sign_always#1 printf_sint::format_sign_always#0
Identical Phi Values printf_sint::format_radix#1 printf_sint::format_radix#0
Identical Phi Values printf_sint::putc#1 printf_sint::putc#0
Identical Phi Values printf_sint::format_min_length#1 printf_sint::format_min_length#0
Identical Phi Values printf_sint::format_justify_left#1 printf_sint::format_justify_left#0
Identical Phi Values printf_sint::format_zero_padding#1 printf_sint::format_zero_padding#0
Identical Phi Values printf_sint::format_upper_case#1 printf_sint::format_upper_case#0
Identical Phi Values printf_schar::value#2 printf_schar::value#1
Identical Phi Values printf_schar::format_sign_always#1 printf_schar::format_sign_always#0
Identical Phi Values printf_schar::format_radix#1 printf_schar::format_radix#0
Identical Phi Values printf_schar::putc#1 printf_schar::putc#0
Identical Phi Values printf_schar::format_min_length#1 printf_schar::format_min_length#0
Identical Phi Values printf_schar::format_justify_left#1 printf_schar::format_justify_left#0
Identical Phi Values printf_schar::format_zero_padding#1 printf_schar::format_zero_padding#0
Identical Phi Values printf_schar::format_upper_case#1 printf_schar::format_upper_case#0
Identical Phi Values printf_uchar::format_sign_always#1 printf_uchar::format_sign_always#0
Identical Phi Values printf_uchar::uvalue#1 printf_uchar::uvalue#0
Identical Phi Values printf_uchar::format_radix#1 printf_uchar::format_radix#0
Identical Phi Values printf_uchar::putc#1 printf_uchar::putc#0
Identical Phi Values printf_uchar::format_min_length#1 printf_uchar::format_min_length#0
Identical Phi Values printf_uchar::format_justify_left#1 printf_uchar::format_justify_left#0
Identical Phi Values printf_uchar::format_zero_padding#1 printf_uchar::format_zero_padding#0
Identical Phi Values printf_uchar::format_upper_case#1 printf_uchar::format_upper_case#0
Successful SSA optimization Pass2IdenticalPhiElimination
Identical Phi Values memset::return#0 memset::str#3
Successful SSA optimization Pass2IdenticalPhiElimination
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 strlen::$0 [29] if(0!=*strlen::str#2) goto strlen::@2
Simple Condition strupr::$1 [44] if(0!=*strupr::src#2) goto strupr::@2
Simple Condition utoa::$0 [56] if(utoa::radix#2==DECIMAL) goto utoa::@1
Simple Condition utoa::$1 [60] if(utoa::radix#2==HEXADECIMAL) goto utoa::@2
Simple Condition utoa::$2 [64] if(utoa::radix#2==OCTAL) goto utoa::@3
Simple Condition utoa::$3 [68] if(utoa::radix#2==BINARY) goto utoa::@4
Simple Condition utoa::$5 [85] if(utoa::digit#2<utoa::$4) goto utoa::@11
Simple Condition ultoa::$0 [110] if(ultoa::radix#2==DECIMAL) goto ultoa::@1
Simple Condition ultoa::$1 [114] if(ultoa::radix#2==HEXADECIMAL) goto ultoa::@2
Simple Condition ultoa::$2 [118] if(ultoa::radix#2==OCTAL) goto ultoa::@3
Simple Condition ultoa::$3 [122] if(ultoa::radix#2==BINARY) goto ultoa::@4
Simple Condition ultoa::$5 [139] if(ultoa::digit#2<ultoa::$4) goto ultoa::@11
Simple Condition uctoa::$0 [164] if(uctoa::radix#2==DECIMAL) goto uctoa::@1
Simple Condition uctoa::$1 [168] if(uctoa::radix#2==HEXADECIMAL) goto uctoa::@2
Simple Condition uctoa::$2 [172] if(uctoa::radix#2==OCTAL) goto uctoa::@3
Simple Condition uctoa::$3 [176] if(uctoa::radix#2==BINARY) goto uctoa::@4
Simple Condition uctoa::$5 [193] if(uctoa::digit#2<uctoa::$4) goto uctoa::@11
Simple Condition uctoa_append::$0 [216] if(uctoa_append::value#2>=uctoa_append::sub#0) goto uctoa_append::@2
Simple Condition utoa_append::$0 [225] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2
Simple Condition ultoa_append::$0 [234] if(ultoa_append::value#2>=ultoa_append::sub#0) goto ultoa_append::@2
Simple Condition clrscr::$0 [244] if(clrscr::l#2<$19) goto clrscr::@2
Simple Condition clrscr::$1 [252] if(clrscr::c#2<$28) goto clrscr::@5
Simple Condition gotoxy::$1 [262] if(gotoxy::y#3<=$19) goto gotoxy::@1
Simple Condition gotoxy::$3 [265] if(gotoxy::x#3<$28) goto gotoxy::@2
Simple Condition cputc::$0 [280] if(cputc::c#0=='
') goto cputc::@1
Simple Condition cputc::$2 [286] if(conio_cursor_x!=$28) goto cputc::@return
Simple Condition cscroll::$1 [296] if(conio_cursor_y!=$19) goto cscroll::@return
Simple Condition cscroll::$7 [298] if(0!=conio_scroll_enable) goto cscroll::@3
Simple Condition conio_c64_init::$1 [328] if(conio_c64_init::line#0<$19) goto conio_c64_init::@1
Simple Condition printf_str::$2 [341] if(0!=printf_str::c#1) goto printf_str::@2
Simple Condition printf_padding::$0 [350] if(printf_padding::i#2<printf_padding::length#4) goto printf_padding::@2
Simple Condition printf_slong::$0 [359] if(printf_slong::value#1<0) goto printf_slong::@1
Simple Condition printf_slong::$3 [363] if(0==printf_slong::format_sign_always#0) goto printf_slong::@2
Simple Condition printf_ulong::$5 [384] if(0!=printf_ulong::format_sign_always#0) goto printf_ulong::@1
Simple Condition printf_sint::$0 [407] if(printf_sint::value#1<0) goto printf_sint::@1
Simple Condition printf_sint::$3 [411] if(0==printf_sint::format_sign_always#0) goto printf_sint::@2
Simple Condition printf_uint::$5 [432] if(0!=printf_uint::format_sign_always#2) goto printf_uint::@1
Simple Condition printf_schar::$0 [455] if(printf_schar::value#1<0) goto printf_schar::@1
Simple Condition printf_schar::$3 [459] if(0==printf_schar::format_sign_always#0) goto printf_schar::@2
Simple Condition printf_uchar::$5 [480] if(0!=printf_uchar::format_sign_always#0) goto printf_uchar::@1
Simple Condition printf_number_buffer::$0 [503] if(0==printf_number_buffer::format_min_length#10) goto printf_number_buffer::@1
Simple Condition printf_number_buffer::$20 [517] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@13
Simple Condition printf_number_buffer::$23 [522] if(printf_number_buffer::padding#1>=0) goto printf_number_buffer::@1
Simple Condition printf_number_buffer::$7 [526] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@3
Simple Condition printf_number_buffer::$12 [538] if(0==printf_number_buffer::format_upper_case#10) goto printf_number_buffer::@5
Successful SSA optimization Pass2ConditionalJumpSimplification
Rewriting && if()-condition to two if()s [36] toupper::$2 = toupper::$0 && toupper::$1
Rewriting ! if()-condition to reversed if() [90] utoa::$8 = ! utoa::$7
Rewriting || if()-condition to two if()s [89] utoa::$7 = utoa::started#2 || utoa::$6
Rewriting ! if()-condition to reversed if() [144] ultoa::$8 = ! ultoa::$7
Rewriting || if()-condition to two if()s [143] ultoa::$7 = ultoa::started#2 || ultoa::$6
Rewriting ! if()-condition to reversed if() [197] uctoa::$8 = ! uctoa::$7
Rewriting || if()-condition to two if()s [196] uctoa::$7 = uctoa::started#2 || uctoa::$6
Rewriting ! if()-condition to reversed if() [509] printf_number_buffer::$5 = ! printf_number_buffer::$4
Rewriting && if()-condition to two if()s [508] printf_number_buffer::$4 = printf_number_buffer::$3 && printf_number_buffer::padding#10
Rewriting && if()-condition to two if()s [507] printf_number_buffer::$3 = printf_number_buffer::$1 && printf_number_buffer::$2
Rewriting ! if()-condition to reversed if() [532] printf_number_buffer::$10 = ! printf_number_buffer::$9
Rewriting && if()-condition to two if()s [531] printf_number_buffer::$9 = printf_number_buffer::format_zero_padding#10 && printf_number_buffer::padding#10
Rewriting ! if()-condition to reversed if() [549] printf_number_buffer::$17 = ! printf_number_buffer::$16
Rewriting && if()-condition to two if()s [548] printf_number_buffer::$16 = printf_number_buffer::$15 && printf_number_buffer::padding#10
Rewriting && if()-condition to two if()s [547] printf_number_buffer::$15 = printf_number_buffer::format_justify_left#10 && printf_number_buffer::$14
Successful SSA optimization Pass2ConditionalAndOrRewriting
Warning! Adding boolean cast to non-boolean condition utoa::started#2
Warning! Adding boolean cast to non-boolean condition ultoa::started#2
Warning! Adding boolean cast to non-boolean condition uctoa::started#2
Warning! Adding boolean cast to non-boolean condition printf_number_buffer::format_zero_padding#10
Warning! Adding boolean cast to non-boolean condition printf_number_buffer::format_justify_left#10
Warning! Adding boolean cast to non-boolean condition printf_number_buffer::padding#10
Warning! Adding boolean cast to non-boolean condition printf_number_buffer::padding#10
Warning! Adding boolean cast to non-boolean condition printf_number_buffer::padding#10
Constant right-side identified [301] memcpy::num#0 = (unumber)$19*$28-$28
Constant right-side identified [306] memcpy::num#1 = (unumber)$19*$28-$28
Constant right-side identified [333] conio_c64_init::line#1 = (unumber)$19-1
Constant right-side identified [574] printf_uint::uvalue#0 = (unsigned int)&main::c
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant strlen::len#0 = 0
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 ultoa::max_digits#0 = 0
Constant ultoa::digit_values#0 = (unsigned long *) 0
Constant ultoa::max_digits#1 = $a
Constant ultoa::digit_values#1 = RADIX_DECIMAL_VALUES_LONG
Constant ultoa::max_digits#2 = 8
Constant ultoa::digit_values#2 = RADIX_HEXADECIMAL_VALUES_LONG
Constant ultoa::max_digits#3 = $b
Constant ultoa::digit_values#3 = RADIX_OCTAL_VALUES_LONG
Constant ultoa::max_digits#4 = $20
Constant ultoa::digit_values#4 = RADIX_BINARY_VALUES_LONG
Constant ultoa::started#0 = 0
Constant ultoa::digit#0 = 0
Constant ultoa::started#1 = 1
Constant uctoa::max_digits#0 = 0
Constant uctoa::digit_values#0 = (char *) 0
Constant uctoa::max_digits#1 = 3
Constant uctoa::digit_values#1 = RADIX_DECIMAL_VALUES_CHAR
Constant uctoa::max_digits#2 = 2
Constant uctoa::digit_values#2 = RADIX_HEXADECIMAL_VALUES_CHAR
Constant uctoa::max_digits#3 = 3
Constant uctoa::digit_values#3 = RADIX_OCTAL_VALUES_CHAR
Constant uctoa::max_digits#4 = 8
Constant uctoa::digit_values#4 = RADIX_BINARY_VALUES_CHAR
Constant uctoa::started#0 = 0
Constant uctoa::digit#0 = 0
Constant uctoa::started#1 = 1
Constant uctoa_append::digit#0 = 0
Constant utoa_append::digit#0 = 0
Constant ultoa_append::digit#0 = 0
Constant clrscr::line_text#0 = CONIO_SCREEN_TEXT
Constant clrscr::line_cols#0 = CONIO_SCREEN_COLORS
Constant clrscr::l#0 = 0
Constant clrscr::c#0 = 0
Constant gotoxy::y#0 = 0
Constant gotoxy::x#0 = 0
Constant memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
Constant memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Constant memcpy::num#0 = (unumber)$19*$28-$28
Constant memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
Constant memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Constant memcpy::num#1 = (unumber)$19*$28-$28
Constant memset::str#0 = (void *)CONIO_SCREEN_TEXT+(unsigned int)$19*$28-$28
Constant memset::c#0 = ' '
Constant memset::num#0 = $28
Constant memset::str#1 = (void *)CONIO_SCREEN_COLORS+(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 printf_str::c#0 = 0
Constant printf_padding::i#0 = 0
Constant ultoa::buffer#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant printf_number_buffer::buffer_digits#0 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant printf_ulong::$1 = '+'
Constant printf_ulong::$0 = 0
Constant ultoa::buffer#6 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant printf_number_buffer::buffer_digits#1 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant utoa::buffer#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant printf_number_buffer::buffer_digits#2 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant printf_uint::$1 = '+'
Constant printf_uint::$0 = 0
Constant utoa::buffer#6 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant printf_number_buffer::buffer_digits#3 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant uctoa::buffer#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant printf_number_buffer::buffer_digits#4 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant printf_uchar::$1 = '+'
Constant printf_uchar::$0 = 0
Constant uctoa::buffer#6 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant printf_number_buffer::buffer_digits#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant printf_number_buffer::padding#0 = 0
Constant printf_number_buffer::padding#2 = 0
Constant printf_padding::pad#0 = ' '
Constant printf_padding::pad#1 = '0'
Constant printf_padding::pad#2 = ' '
Constant printf_str::putc#1 = &cputc
Constant printf_str::s#2 = main::s
Constant printf_str::putc#2 = &cputc
Constant printf_str::s#3 = main::s1
Constant printf_str::putc#3 = &cputc
Constant printf_str::s#4 = main::s2
Constant printf_uint::putc#0 = &cputc
Constant printf_uint::uvalue#0 = (unsigned int)&main::c
Constant printf_uint::format_min_length#0 = 0
Constant printf_uint::format_justify_left#0 = 0
Constant printf_uint::format_sign_always#0 = 0
Constant printf_uint::format_zero_padding#0 = 0
Constant printf_uint::format_upper_case#0 = 0
Constant printf_uint::format_radix#0 = HEXADECIMAL
Constant printf_str::putc#4 = &cputc
Constant printf_str::s#5 = main::s3
Constant printf_str::putc#5 = &cputc
Constant printf_str::s#6 = main::s4
Constant printf_str::putc#6 = &cputc
Constant printf_str::s#7 = main::s5
Constant printf_str::putc#7 = &cputc
Constant printf_str::s#8 = main::s6
Constant printf_schar::putc#0 = &cputc
Constant printf_schar::value#1 = main::sc
Constant printf_schar::format_min_length#0 = 0
Constant printf_schar::format_justify_left#0 = 0
Constant printf_schar::format_sign_always#0 = 0
Constant printf_schar::format_zero_padding#0 = 0
Constant printf_schar::format_upper_case#0 = 0
Constant printf_schar::format_radix#0 = DECIMAL
Constant printf_str::putc#8 = &cputc
Constant printf_str::s#9 = main::s7
Constant printf_str::putc#9 = &cputc
Constant printf_str::s#10 = main::s8
Constant printf_uchar::putc#0 = &cputc
Constant printf_uchar::uvalue#0 = main::uc
Constant printf_uchar::format_min_length#0 = 0
Constant printf_uchar::format_justify_left#0 = 0
Constant printf_uchar::format_sign_always#0 = 0
Constant printf_uchar::format_zero_padding#0 = 0
Constant printf_uchar::format_upper_case#0 = 0
Constant printf_uchar::format_radix#0 = DECIMAL
Constant printf_str::putc#10 = &cputc
Constant printf_str::s#11 = main::s9
Constant printf_str::putc#11 = &cputc
Constant printf_str::s#12 = main::s10
Constant printf_sint::putc#0 = &cputc
Constant printf_sint::value#1 = main::si
Constant printf_sint::format_min_length#0 = 0
Constant printf_sint::format_justify_left#0 = 0
Constant printf_sint::format_sign_always#0 = 0
Constant printf_sint::format_zero_padding#0 = 0
Constant printf_sint::format_upper_case#0 = 0
Constant printf_sint::format_radix#0 = DECIMAL
Constant printf_str::putc#12 = &cputc
Constant printf_str::s#13 = main::s11
Constant printf_str::putc#13 = &cputc
Constant printf_str::s#14 = main::s12
Constant printf_uint::putc#1 = &cputc
Constant printf_uint::uvalue#1 = main::ui
Constant printf_uint::format_min_length#1 = 0
Constant printf_uint::format_justify_left#1 = 0
Constant printf_uint::format_sign_always#1 = 0
Constant printf_uint::format_zero_padding#1 = 0
Constant printf_uint::format_upper_case#1 = 0
Constant printf_uint::format_radix#1 = DECIMAL
Constant printf_str::putc#14 = &cputc
Constant printf_str::s#15 = main::s13
Constant printf_str::putc#15 = &cputc
Constant printf_str::s#16 = main::s14
Constant printf_slong::putc#0 = &cputc
Constant printf_slong::value#1 = main::sl
Constant printf_slong::format_min_length#0 = 0
Constant printf_slong::format_justify_left#0 = 0
Constant printf_slong::format_sign_always#0 = 0
Constant printf_slong::format_zero_padding#0 = 0
Constant printf_slong::format_upper_case#0 = 0
Constant printf_slong::format_radix#0 = DECIMAL
Constant printf_str::putc#16 = &cputc
Constant printf_str::s#17 = main::s15
Constant printf_str::putc#17 = &cputc
Constant printf_str::s#18 = main::s16
Constant printf_ulong::putc#0 = &cputc
Constant printf_ulong::uvalue#0 = main::ul
Constant printf_ulong::format_min_length#0 = 0
Constant printf_ulong::format_justify_left#0 = 0
Constant printf_ulong::format_sign_always#0 = 0
Constant printf_ulong::format_zero_padding#0 = 0
Constant printf_ulong::format_upper_case#0 = 0
Constant printf_ulong::format_radix#0 = DECIMAL
Constant printf_str::putc#18 = &cputc
Constant printf_str::s#19 = main::s17
Constant conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
Constant conio_scroll_enable = 1
Successful SSA optimization Pass2ConstantIdentification
Constant memset::c#1 = conio_textcolor
Constant ultoa::radix#0 = printf_slong::format_radix#0
Constant printf_number_buffer::putc#0 = printf_slong::putc#0
Constant printf_number_buffer::format_min_length#0 = printf_slong::format_min_length#0
Constant printf_number_buffer::format_justify_left#0 = printf_slong::format_justify_left#0
Constant printf_number_buffer::format_sign_always#0 = printf_slong::format_sign_always#0
Constant printf_number_buffer::format_zero_padding#0 = printf_slong::format_zero_padding#0
Constant printf_number_buffer::format_upper_case#0 = printf_slong::format_upper_case#0
Constant printf_number_buffer::format_radix#0 = printf_slong::format_radix#0
Constant ultoa::value#2 = printf_ulong::uvalue#0
Constant ultoa::radix#1 = printf_ulong::format_radix#0
Constant printf_number_buffer::putc#1 = printf_ulong::putc#0
Constant printf_number_buffer::format_min_length#1 = printf_ulong::format_min_length#0
Constant printf_number_buffer::format_justify_left#1 = printf_ulong::format_justify_left#0
Constant printf_number_buffer::format_sign_always#1 = printf_ulong::format_sign_always#0
Constant printf_number_buffer::format_zero_padding#1 = printf_ulong::format_zero_padding#0
Constant printf_number_buffer::format_upper_case#1 = printf_ulong::format_upper_case#0
Constant printf_number_buffer::format_radix#1 = printf_ulong::format_radix#0
Constant utoa::radix#0 = printf_sint::format_radix#0
Constant printf_number_buffer::putc#2 = printf_sint::putc#0
Constant printf_number_buffer::format_min_length#2 = printf_sint::format_min_length#0
Constant printf_number_buffer::format_justify_left#2 = printf_sint::format_justify_left#0
Constant printf_number_buffer::format_sign_always#2 = printf_sint::format_sign_always#0
Constant printf_number_buffer::format_zero_padding#2 = printf_sint::format_zero_padding#0
Constant printf_number_buffer::format_upper_case#2 = printf_sint::format_upper_case#0
Constant printf_number_buffer::format_radix#2 = printf_sint::format_radix#0
Constant uctoa::radix#0 = printf_schar::format_radix#0
Constant printf_number_buffer::putc#4 = printf_schar::putc#0
Constant printf_number_buffer::format_min_length#4 = printf_schar::format_min_length#0
Constant printf_number_buffer::format_justify_left#4 = printf_schar::format_justify_left#0
Constant printf_number_buffer::format_sign_always#4 = printf_schar::format_sign_always#0
Constant printf_number_buffer::format_zero_padding#4 = printf_schar::format_zero_padding#0
Constant printf_number_buffer::format_upper_case#4 = printf_schar::format_upper_case#0
Constant printf_number_buffer::format_radix#4 = printf_schar::format_radix#0
Constant uctoa::value#2 = printf_uchar::uvalue#0
Constant uctoa::radix#1 = printf_uchar::format_radix#0
Constant printf_number_buffer::putc#5 = printf_uchar::putc#0
Constant printf_number_buffer::format_min_length#5 = printf_uchar::format_min_length#0
Constant printf_number_buffer::format_justify_left#5 = printf_uchar::format_justify_left#0
Constant printf_number_buffer::format_sign_always#5 = printf_uchar::format_sign_always#0
Constant printf_number_buffer::format_zero_padding#5 = printf_uchar::format_zero_padding#0
Constant printf_number_buffer::format_upper_case#5 = printf_uchar::format_upper_case#0
Constant printf_number_buffer::format_radix#5 = printf_uchar::format_radix#0
Successful SSA optimization Pass2ConstantIdentification
if() condition always true - replacing block destination [298] if(0!=conio_scroll_enable) goto cscroll::@3
if() condition always true - replacing block destination [359] if(printf_slong::value#1<0) goto printf_slong::@1
if() condition always true - replacing block destination [363] if(0==printf_slong::format_sign_always#0) goto printf_slong::@2
if() condition always false - eliminating [384] if(0!=printf_ulong::format_sign_always#0) goto printf_ulong::@1
if() condition always true - replacing block destination [407] if(printf_sint::value#1<0) goto printf_sint::@1
if() condition always true - replacing block destination [411] if(0==printf_sint::format_sign_always#0) goto printf_sint::@2
if() condition always true - replacing block destination [455] if(printf_schar::value#1<0) goto printf_schar::@1
if() condition always true - replacing block destination [459] if(0==printf_schar::format_sign_always#0) goto printf_schar::@2
if() condition always false - eliminating [480] if(0!=printf_uchar::format_sign_always#0) goto printf_uchar::@1
Successful SSA optimization Pass2ConstantIfs
Consolidated constant strings into main::s1
Successful SSA optimization Pass2ConstantStringConsolidation
Rewriting conditional comparison [262] if(gotoxy::y#3<=$19) goto gotoxy::@1
Simplifying expression containing zero (char *)&printf_buffer in [357] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = 0
Simplifying expression containing zero (char *)&printf_buffer in [361] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = '-'
Simplifying expression containing zero (char *)&printf_buffer in [364] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = '+'
Simplifying expression containing zero (char *)&printf_buffer in [372] printf_number_buffer::buffer_sign#0 = *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN)
Simplifying expression containing zero (char *)&printf_buffer in [388] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = printf_ulong::$2
Simplifying expression containing zero (char *)&printf_buffer in [394] printf_number_buffer::buffer_sign#1 = *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN)
Simplifying expression containing zero (char *)&printf_buffer in [405] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = 0
Simplifying expression containing zero (char *)&printf_buffer in [409] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = '-'
Simplifying expression containing zero (char *)&printf_buffer in [412] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = '+'
Simplifying expression containing zero (char *)&printf_buffer in [420] printf_number_buffer::buffer_sign#2 = *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN)
Simplifying expression containing zero (char *)&printf_buffer in [436] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = printf_uint::$2
Simplifying expression containing zero (char *)&printf_buffer in [442] printf_number_buffer::buffer_sign#3 = *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN)
Simplifying expression containing zero (char *)&printf_buffer in [453] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = 0
Simplifying expression containing zero (char *)&printf_buffer in [457] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = '-'
Simplifying expression containing zero (char *)&printf_buffer in [460] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = '+'
Simplifying expression containing zero (char *)&printf_buffer in [468] printf_number_buffer::buffer_sign#4 = *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN)
Simplifying expression containing zero (char *)&printf_buffer in [484] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = printf_uchar::$2
Simplifying expression containing zero (char *)&printf_buffer in [490] printf_number_buffer::buffer_sign#5 = *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN)
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
Removing PHI-reference to removed block (printf_slong::@3) in block printf_slong::@2
Removing unused block printf_slong::@3
Removing PHI-reference to removed block (printf_slong::@4) in block printf_slong::@2
Removing unused block printf_slong::@4
Removing PHI-reference to removed block (printf_ulong::@1) in block printf_ulong::@3
Removing unused block printf_ulong::@1
Removing PHI-reference to removed block (printf_sint::@3) in block printf_sint::@2
Removing unused block printf_sint::@3
Removing PHI-reference to removed block (printf_sint::@4) in block printf_sint::@2
Removing unused block printf_sint::@4
Removing PHI-reference to removed block (printf_schar::@3) in block printf_schar::@2
Removing unused block printf_schar::@3
Removing PHI-reference to removed block (printf_schar::@4) in block printf_schar::@2
Removing unused block printf_schar::@4
Removing PHI-reference to removed block (printf_uchar::@1) in block printf_uchar::@3
Removing unused block printf_uchar::@1
Successful SSA optimization Pass2EliminateUnusedBlocks
Eliminating unused variable memcpy::return#2 and assignment [208] memcpy::return#2 = memcpy::destination#2
Eliminating unused variable memcpy::return#3 and assignment [210] memcpy::return#3 = memcpy::destination#2
Eliminating unused variable memset::return#2 and assignment [212] memset::return#2 = memset::str#3
Eliminating unused variable memset::return#3 and assignment [214] memset::return#3 = memset::str#3
Eliminating unused variable printf_number_buffer::format_sign_always#3 and assignment [279] printf_number_buffer::format_sign_always#3 = printf_uint::format_sign_always#2
Eliminating unused variable printf_number_buffer::format_radix#3 and assignment [282] printf_number_buffer::format_radix#3 = printf_uint::format_radix#2
Eliminating unused variable strupr::return#2 and assignment [339] strupr::return#2 = strupr::str#0
Eliminating unused constant utoa::max_digits#0
Eliminating unused constant utoa::digit_values#0
Eliminating unused constant ultoa::max_digits#0
Eliminating unused constant ultoa::digit_values#0
Eliminating unused constant uctoa::max_digits#0
Eliminating unused constant uctoa::digit_values#0
Eliminating unused constant gotoxy::x#1
Eliminating unused constant gotoxy::y#1
Eliminating unused constant printf_str::c#0
Eliminating unused constant printf_ulong::$1
Eliminating unused constant printf_uchar::$1
Eliminating unused constant printf_number_buffer::format_sign_always#0
Eliminating unused constant printf_number_buffer::format_radix#0
Eliminating unused constant printf_number_buffer::format_sign_always#1
Eliminating unused constant printf_number_buffer::format_radix#1
Eliminating unused constant printf_number_buffer::format_sign_always#2
Eliminating unused constant printf_number_buffer::format_radix#2
Eliminating unused constant printf_number_buffer::format_sign_always#4
Eliminating unused constant printf_number_buffer::format_radix#4
Eliminating unused constant printf_number_buffer::format_sign_always#5
Eliminating unused constant printf_number_buffer::format_radix#5
Eliminating unused constant OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN
Eliminating unused constant conio_scroll_enable
Successful SSA optimization PassNEliminateUnusedVars
Eliminating unused constant printf_slong::format_sign_always#0
Eliminating unused constant printf_ulong::format_sign_always#0
Eliminating unused constant printf_sint::format_sign_always#0
Eliminating unused constant printf_schar::format_sign_always#0
Eliminating unused constant printf_uchar::format_sign_always#0
Successful SSA optimization PassNEliminateUnusedVars
Adding number conversion cast (unumber) 0 in utoa::$12 = 0 != utoa::started#2
Adding number conversion cast (unumber) 0 in ultoa::$12 = 0 != ultoa::started#2
Adding number conversion cast (unumber) 0 in uctoa::$11 = 0 != uctoa::started#2
Adding number conversion cast (unumber) $19+1 in if(gotoxy::y#3<$19+1) goto gotoxy::@1
Adding number conversion cast (unumber) 1 in if(gotoxy::y#3<(unumber)$19+1) goto gotoxy::@1
Adding number conversion cast (unumber) 0 in printf_number_buffer::$33 = 0 != printf_number_buffer::format_zero_padding#10
Adding number conversion cast (unumber) 0 in printf_number_buffer::$34 = 0 != printf_number_buffer::format_justify_left#10
Adding number conversion cast (snumber) 0 in printf_number_buffer::$35 = 0 != printf_number_buffer::padding#10
Adding number conversion cast (snumber) 0 in printf_number_buffer::$36 = 0 != printf_number_buffer::padding#10
Adding number conversion cast (snumber) 0 in printf_number_buffer::$37 = 0 != printf_number_buffer::padding#10
Successful SSA optimization PassNAddNumberTypeConversions
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast $19+(unumber)1
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Successful SSA optimization PassNCastSimplification
Finalized unsigned number type (char) 0
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) 0
Finalized signed number type (signed char) 0
Finalized signed number type (signed char) 0
Finalized signed number type (signed char) 0
Successful SSA optimization PassNFinalizeNumberTypeConversions
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
Alias printf_slong::value#0 = printf_slong::value#4
Alias printf_sint::value#0 = printf_sint::value#4
Alias printf_schar::value#0 = printf_schar::value#4
Successful SSA optimization Pass2AliasElimination
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
Identical Phi Values gotoxy::y#3 gotoxy::y#2
Identical Phi Values gotoxy::x#3 gotoxy::x#2
Identical Phi Values printf_ulong::$2 printf_ulong::$0
Identical Phi Values printf_uchar::$2 printf_uchar::$0
Successful SSA optimization Pass2IdenticalPhiElimination
Simple Condition toupper::$0 [28] if(toupper::ch#0>='a') goto toupper::@3
Simple Condition utoa::$12 [62] if(0!=utoa::started#2) goto utoa::@14
Simple Condition ultoa::$12 [97] if(0!=ultoa::started#2) goto ultoa::@14
Simple Condition uctoa::$11 [131] if(0!=uctoa::started#2) goto uctoa::@14
Simple Condition printf_number_buffer::$1 [297] if(0==printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@22
Simple Condition printf_number_buffer::$33 [314] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@23
Simple Condition printf_number_buffer::$34 [327] if(0!=printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@25
Simple Condition toupper::$1 [375] if(toupper::ch#0<='z') goto toupper::@1
Simple Condition utoa::$6 [376] if(utoa::value#3>=utoa::digit_value#0) goto utoa::@14
Simple Condition ultoa::$6 [377] if(ultoa::value#3>=ultoa::digit_value#0) goto ultoa::@14
Simple Condition uctoa::$6 [378] if(uctoa::value#3>=uctoa::digit_value#0) goto uctoa::@14
Simple Condition printf_number_buffer::$35 [380] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@8
Simple Condition printf_number_buffer::$2 [381] if(0==printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@21
Simple Condition printf_number_buffer::$36 [383] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@10
Simple Condition printf_number_buffer::$37 [385] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@12
Simple Condition printf_number_buffer::$14 [386] if(0==printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@24
Successful SSA optimization Pass2ConditionalJumpSimplification
Negating conditional jump and destination [28] if(toupper::ch#0<'a') goto toupper::@2
Negating conditional jump and destination [297] if(0!=printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@2
Negating conditional jump and destination [314] if(0==printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4
Negating conditional jump and destination [327] if(0==printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@return
Negating conditional jump and destination [381] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2
Negating conditional jump and destination [386] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@return
Successful SSA optimization Pass2ConditionalJumpSequenceImprovement
Constant right-side identified [239] printf_slong::value#0 = - printf_slong::value#1
Constant right-side identified [254] printf_sint::value#0 = - printf_sint::value#1
Constant right-side identified [278] printf_schar::value#0 = - printf_schar::value#1
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant printf_slong::value#0 = -printf_slong::value#1
Constant printf_sint::value#0 = -printf_sint::value#1
Constant printf_schar::value#0 = -printf_schar::value#1
Successful SSA optimization Pass2ConstantIdentification
Constant printf_slong::uvalue#0 = (unsigned long)printf_slong::value#0
Constant printf_sint::uvalue#0 = (unsigned int)printf_sint::value#0
Constant printf_schar::uvalue#0 = (char)printf_schar::value#0
Successful SSA optimization Pass2ConstantIdentification
Constant ultoa::value#1 = printf_slong::uvalue#0
Constant utoa::value#1 = printf_sint::uvalue#0
Constant uctoa::value#1 = printf_schar::uvalue#0
Successful SSA optimization Pass2ConstantIdentification
if() condition always true - replacing block destination [180] if(gotoxy::x#2<$28) goto gotoxy::@2
Successful SSA optimization Pass2ConstantIfs
Removing PHI-reference to removed block (gotoxy::@4) in block gotoxy::@2
Removing unused block gotoxy::@4
Successful SSA optimization Pass2EliminateUnusedBlocks
Eliminating unused constant gotoxy::x#0
Successful SSA optimization PassNEliminateUnusedVars
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
Identical Phi Values gotoxy::x#4 gotoxy::x#2
Successful SSA optimization Pass2IdenticalPhiElimination
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
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
Inlining Noop Cast [281] printf_number_buffer::$25 = (signed char)printf_number_buffer::format_min_length#10 keeping printf_number_buffer::format_min_length#10
Successful SSA optimization Pass2NopCastInlining
Rewriting multiplication to use shift [56] utoa::$10 = utoa::digit#2 * SIZEOF_UNSIGNED_INT
Rewriting multiplication to use shift [89] ultoa::$10 = ultoa::digit#2 * SIZEOF_UNSIGNED_LONG
Rewriting multiplication to use shift and addition[174] gotoxy::line_offset#0 = gotoxy::$7 * $28
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 memset::c#1
Inlining constant with var siblings strlen::len#0
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::buffer#6
Inlining constant with var siblings utoa::radix#0
Inlining constant with var siblings utoa::value#1
Inlining constant with var siblings ultoa::max_digits#1
Inlining constant with var siblings ultoa::digit_values#1
Inlining constant with var siblings ultoa::max_digits#2
Inlining constant with var siblings ultoa::digit_values#2
Inlining constant with var siblings ultoa::max_digits#3
Inlining constant with var siblings ultoa::digit_values#3
Inlining constant with var siblings ultoa::max_digits#4
Inlining constant with var siblings ultoa::digit_values#4
Inlining constant with var siblings ultoa::started#0
Inlining constant with var siblings ultoa::digit#0
Inlining constant with var siblings ultoa::started#1
Inlining constant with var siblings ultoa::buffer#5
Inlining constant with var siblings ultoa::buffer#6
Inlining constant with var siblings ultoa::radix#0
Inlining constant with var siblings ultoa::value#2
Inlining constant with var siblings ultoa::radix#1
Inlining constant with var siblings ultoa::value#1
Inlining constant with var siblings uctoa::max_digits#1
Inlining constant with var siblings uctoa::digit_values#1
Inlining constant with var siblings uctoa::max_digits#2
Inlining constant with var siblings uctoa::digit_values#2
Inlining constant with var siblings uctoa::max_digits#3
Inlining constant with var siblings uctoa::digit_values#3
Inlining constant with var siblings uctoa::max_digits#4
Inlining constant with var siblings uctoa::digit_values#4
Inlining constant with var siblings uctoa::started#0
Inlining constant with var siblings uctoa::digit#0
Inlining constant with var siblings uctoa::started#1
Inlining constant with var siblings uctoa::buffer#5
Inlining constant with var siblings uctoa::buffer#6
Inlining constant with var siblings uctoa::radix#0
Inlining constant with var siblings uctoa::value#2
Inlining constant with var siblings uctoa::radix#1
Inlining constant with var siblings uctoa::value#1
Inlining constant with var siblings uctoa_append::digit#0
Inlining constant with var siblings utoa_append::digit#0
Inlining constant with var siblings ultoa_append::digit#0
Inlining constant with var siblings clrscr::line_text#0
Inlining constant with var siblings clrscr::line_cols#0
Inlining constant with var siblings clrscr::l#0
Inlining constant with var siblings clrscr::c#0
Inlining constant with var siblings gotoxy::y#0
Inlining constant with var siblings conio_c64_init::line#1
Inlining constant with var siblings printf_str::putc#1
Inlining constant with var siblings printf_str::s#2
Inlining constant with var siblings printf_str::putc#2
Inlining constant with var siblings printf_str::s#3
Inlining constant with var siblings printf_str::putc#3
Inlining constant with var siblings printf_str::s#4
Inlining constant with var siblings printf_str::putc#4
Inlining constant with var siblings printf_str::s#5
Inlining constant with var siblings printf_str::putc#5
Inlining constant with var siblings printf_str::s#6
Inlining constant with var siblings printf_str::putc#6
Inlining constant with var siblings printf_str::s#7
Inlining constant with var siblings printf_str::putc#7
Inlining constant with var siblings printf_str::s#8
Inlining constant with var siblings printf_str::putc#8
Inlining constant with var siblings printf_str::s#9
Inlining constant with var siblings printf_str::putc#9
Inlining constant with var siblings printf_str::s#10
Inlining constant with var siblings printf_str::putc#10
Inlining constant with var siblings printf_str::s#11
Inlining constant with var siblings printf_str::putc#11
Inlining constant with var siblings printf_str::s#12
Inlining constant with var siblings printf_str::putc#12
Inlining constant with var siblings printf_str::s#13
Inlining constant with var siblings printf_str::putc#13
Inlining constant with var siblings printf_str::s#14
Inlining constant with var siblings printf_str::putc#14
Inlining constant with var siblings printf_str::s#15
Inlining constant with var siblings printf_str::putc#15
Inlining constant with var siblings printf_str::s#16
Inlining constant with var siblings printf_str::putc#16
Inlining constant with var siblings printf_str::s#17
Inlining constant with var siblings printf_str::putc#17
Inlining constant with var siblings printf_str::s#18
Inlining constant with var siblings printf_str::putc#18
Inlining constant with var siblings printf_str::s#19
Inlining constant with var siblings printf_padding::i#0
Inlining constant with var siblings printf_padding::pad#0
Inlining constant with var siblings printf_padding::pad#1
Inlining constant with var siblings printf_padding::pad#2
Inlining constant with different constant siblings printf_slong::value#1
Inlining constant with different constant siblings printf_sint::value#1
Inlining constant with var siblings printf_uint::putc#0
Inlining constant with var siblings printf_uint::uvalue#0
Inlining constant with var siblings printf_uint::format_min_length#0
Inlining constant with var siblings printf_uint::format_justify_left#0
Inlining constant with var siblings printf_uint::format_sign_always#0
Inlining constant with var siblings printf_uint::format_zero_padding#0
Inlining constant with var siblings printf_uint::format_upper_case#0
Inlining constant with var siblings printf_uint::format_radix#0
Inlining constant with var siblings printf_uint::putc#1
Inlining constant with var siblings printf_uint::uvalue#1
Inlining constant with var siblings printf_uint::format_min_length#1
Inlining constant with var siblings printf_uint::format_justify_left#1
Inlining constant with var siblings printf_uint::format_sign_always#1
Inlining constant with var siblings printf_uint::format_zero_padding#1
Inlining constant with var siblings printf_uint::format_upper_case#1
Inlining constant with var siblings printf_uint::format_radix#1
Inlining constant with different constant siblings printf_schar::value#1
Inlining constant with var siblings printf_number_buffer::buffer_digits#0
Inlining constant with var siblings printf_number_buffer::buffer_digits#1
Inlining constant with var siblings printf_number_buffer::buffer_digits#2
Inlining constant with var siblings printf_number_buffer::buffer_digits#3
Inlining constant with var siblings printf_number_buffer::buffer_digits#4
Inlining constant with var siblings printf_number_buffer::buffer_digits#5
Inlining constant with var siblings printf_number_buffer::padding#0
Inlining constant with var siblings printf_number_buffer::padding#2
Inlining constant with var siblings printf_number_buffer::putc#0
Inlining constant with var siblings printf_number_buffer::format_min_length#0
Inlining constant with var siblings printf_number_buffer::format_justify_left#0
Inlining constant with var siblings printf_number_buffer::format_zero_padding#0
Inlining constant with var siblings printf_number_buffer::format_upper_case#0
Inlining constant with var siblings printf_number_buffer::putc#1
Inlining constant with var siblings printf_number_buffer::format_min_length#1
Inlining constant with var siblings printf_number_buffer::format_justify_left#1
Inlining constant with var siblings printf_number_buffer::format_zero_padding#1
Inlining constant with var siblings printf_number_buffer::format_upper_case#1
Inlining constant with var siblings printf_number_buffer::putc#2
Inlining constant with var siblings printf_number_buffer::format_min_length#2
Inlining constant with var siblings printf_number_buffer::format_justify_left#2
Inlining constant with var siblings printf_number_buffer::format_zero_padding#2
Inlining constant with var siblings printf_number_buffer::format_upper_case#2
Inlining constant with var siblings printf_number_buffer::putc#4
Inlining constant with var siblings printf_number_buffer::format_min_length#4
Inlining constant with var siblings printf_number_buffer::format_justify_left#4
Inlining constant with var siblings printf_number_buffer::format_zero_padding#4
Inlining constant with var siblings printf_number_buffer::format_upper_case#4
Inlining constant with var siblings printf_number_buffer::putc#5
Inlining constant with var siblings printf_number_buffer::format_min_length#5
Inlining constant with var siblings printf_number_buffer::format_justify_left#5
Inlining constant with var siblings printf_number_buffer::format_zero_padding#5
Inlining constant with var siblings printf_number_buffer::format_upper_case#5
Constant inlined utoa::digit_values#1 = RADIX_DECIMAL_VALUES
Constant inlined utoa::radix#0 = DECIMAL
Constant inlined printf_number_buffer::format_justify_left#0 = printf_slong::format_justify_left#0
Constant inlined printf_number_buffer::buffer_digits#0 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined printf_number_buffer::buffer_digits#1 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined utoa::digit_values#4 = RADIX_BINARY_VALUES
Constant inlined printf_uchar::uvalue#0 = main::uc
Constant inlined printf_number_buffer::format_justify_left#2 = printf_sint::format_justify_left#0
Constant inlined printf_number_buffer::buffer_digits#2 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined printf_number_buffer::format_justify_left#1 = printf_ulong::format_justify_left#0
Constant inlined printf_number_buffer::buffer_digits#3 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined utoa::digit_values#2 = RADIX_HEXADECIMAL_VALUES
Constant inlined printf_number_buffer::format_justify_left#4 = printf_schar::format_justify_left#0
Constant inlined printf_number_buffer::buffer_digits#4 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined utoa::digit_values#3 = RADIX_OCTAL_VALUES
Constant inlined printf_number_buffer::buffer_digits#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined conio_textcolor = LIGHT_BLUE
Constant inlined clrscr::l#0 = 0
Constant inlined strlen::len#0 = 0
Constant inlined printf_str::s#9 = main::s1
Constant inlined printf_str::s#7 = main::s1
Constant inlined printf_str::s#8 = main::s6
Constant inlined printf_str::s#5 = main::s1
Constant inlined printf_str::s#6 = main::s4
Constant inlined printf_str::s#3 = main::s1
Constant inlined printf_str::s#4 = main::s2
Constant inlined CONIO_SCREEN_TEXT = DEFAULT_SCREEN
Constant inlined printf_str::s#2 = main::s
Constant inlined uctoa::digit#0 = 0
Constant inlined clrscr::line_text#0 = DEFAULT_SCREEN
Constant inlined printf_sint::format_radix#0 = DECIMAL
Constant inlined printf_str::s#13 = main::s1
Constant inlined printf_str::s#12 = main::s10
Constant inlined printf_str::s#15 = main::s1
Constant inlined printf_str::s#14 = main::s12
Constant inlined memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant inlined printf_str::s#11 = main::s1
Constant inlined printf_str::s#10 = main::s8
Constant inlined ultoa::digit#0 = 0
Constant inlined printf_sint::value#1 = main::si
Constant inlined memset::c#0 = ' '
Constant inlined memset::c#1 = LIGHT_BLUE
Constant inlined utoa_append::digit#0 = 0
Constant inlined uctoa::digit_values#2 = RADIX_HEXADECIMAL_VALUES_CHAR
Constant inlined uctoa::digit_values#1 = RADIX_DECIMAL_VALUES_CHAR
Constant inlined uctoa::digit_values#4 = RADIX_BINARY_VALUES_CHAR
Constant inlined printf_ulong::format_radix#0 = DECIMAL
Constant inlined uctoa::digit_values#3 = RADIX_OCTAL_VALUES_CHAR
Constant inlined printf_uchar::$0 = 0
Constant inlined memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant inlined memcpy::destination#1 = (void *)COLORRAM
Constant inlined uctoa::max_digits#1 = 3
Constant inlined printf_slong::value#1 = main::sl
Constant inlined utoa::digit#0 = 0
Constant inlined ultoa::max_digits#3 = $b
Constant inlined ultoa::max_digits#4 = $20
Constant inlined printf_number_buffer::format_min_length#4 = printf_schar::format_min_length#0
Constant inlined printf_number_buffer::format_min_length#5 = printf_uchar::format_min_length#0
Constant inlined printf_number_buffer::format_min_length#0 = printf_slong::format_min_length#0
Constant inlined uctoa::max_digits#3 = 3
Constant inlined printf_uint::format_upper_case#1 = 0
Constant inlined printf_number_buffer::format_min_length#1 = printf_ulong::format_min_length#0
Constant inlined uctoa::max_digits#2 = 2
Constant inlined printf_uint::format_upper_case#0 = 0
Constant inlined printf_number_buffer::format_min_length#2 = printf_sint::format_min_length#0
Constant inlined CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
Constant inlined uctoa::max_digits#4 = 8
Constant inlined printf_padding::pad#0 = ' '
Constant inlined printf_padding::i#0 = 0
Constant inlined printf_padding::pad#1 = '0'
Constant inlined printf_padding::pad#2 = ' '
Constant inlined main::s17 = main::s1
Constant inlined printf_number_buffer::putc#1 = printf_ulong::putc#0
Constant inlined printf_ulong::$0 = 0
Constant inlined ultoa::max_digits#1 = $a
Constant inlined printf_number_buffer::putc#2 = printf_sint::putc#0
Constant inlined utoa::started#1 = 1
Constant inlined ultoa::max_digits#2 = 8
Constant inlined utoa::started#0 = 0
Constant inlined printf_number_buffer::putc#0 = printf_slong::putc#0
Constant inlined printf_number_buffer::putc#5 = printf_uchar::putc#0
Constant inlined uctoa::buffer#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined uctoa::buffer#6 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined printf_number_buffer::putc#4 = printf_schar::putc#0
Constant inlined printf_str::putc#16 = &cputc
Constant inlined printf_str::putc#15 = &cputc
Constant inlined gotoxy::y#0 = 0
Constant inlined printf_str::putc#18 = &cputc
Constant inlined printf_str::putc#17 = &cputc
Constant inlined ultoa::digit_values#2 = RADIX_HEXADECIMAL_VALUES_LONG
Constant inlined printf_str::putc#12 = &cputc
Constant inlined ultoa::digit_values#3 = RADIX_OCTAL_VALUES_LONG
Constant inlined printf_number_buffer::format_justify_left#5 = printf_uchar::format_justify_left#0
Constant inlined printf_str::putc#11 = &cputc
Constant inlined ultoa_append::digit#0 = 0
Constant inlined printf_str::putc#14 = &cputc
Constant inlined ultoa::digit_values#1 = RADIX_DECIMAL_VALUES_LONG
Constant inlined printf_str::putc#13 = &cputc
Constant inlined ultoa::digit_values#4 = RADIX_BINARY_VALUES_LONG
Constant inlined printf_str::putc#10 = &cputc
Constant inlined utoa::value#1 = printf_sint::uvalue#0
Constant inlined uctoa_append::digit#0 = 0
Constant inlined ultoa::value#2 = main::ul
Constant inlined ultoa::value#1 = printf_slong::uvalue#0
Constant inlined printf_str::putc#1 = &cputc
Constant inlined memset::num#1 = $28
Constant inlined printf_str::putc#2 = &cputc
Constant inlined memset::num#0 = $28
Constant inlined printf_str::putc#3 = &cputc
Constant inlined printf_slong::format_radix#0 = DECIMAL
Constant inlined printf_str::putc#8 = &cputc
Constant inlined printf_str::putc#9 = &cputc
Constant inlined printf_str::putc#4 = &cputc
Constant inlined printf_str::putc#5 = &cputc
Constant inlined printf_str::putc#6 = &cputc
Constant inlined printf_str::putc#7 = &cputc
Constant inlined main::s15 = main::s1
Constant inlined main::s13 = main::s1
Constant inlined main::s11 = main::s1
Constant inlined printf_number_buffer::padding#2 = 0
Constant inlined printf_uint::format_zero_padding#1 = 0
Constant inlined printf_uint::putc#1 = &cputc
Constant inlined ultoa::radix#0 = DECIMAL
Constant inlined ultoa::radix#1 = DECIMAL
Constant inlined printf_uint::putc#0 = &cputc
Constant inlined ultoa::started#1 = 1
Constant inlined uctoa::value#2 = main::uc
Constant inlined utoa::buffer#6 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined printf_uint::uvalue#1 = main::ui
Constant inlined utoa::buffer#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined printf_uint::format_sign_always#0 = 0
Constant inlined printf_uint::uvalue#0 = (unsigned int)&main::c
Constant inlined printf_uint::format_sign_always#1 = 0
Constant inlined utoa::max_digits#1 = 5
Constant inlined printf_uint::format_radix#0 = HEXADECIMAL
Constant inlined utoa::max_digits#2 = 4
Constant inlined printf_uint::format_radix#1 = DECIMAL
Constant inlined utoa::max_digits#3 = 6
Constant inlined utoa::max_digits#4 = $10
Constant inlined printf_uint::format_zero_padding#0 = 0
Constant inlined printf_number_buffer::padding#0 = 0
Constant inlined uctoa::value#1 = printf_schar::uvalue#0
Constant inlined uctoa::started#0 = 0
Constant inlined printf_uint::format_justify_left#0 = 0
Constant inlined uctoa::started#1 = 1
Constant inlined printf_schar::format_radix#0 = DECIMAL
Constant inlined printf_uint::format_justify_left#1 = 0
Constant inlined printf_number_buffer::format_upper_case#5 = printf_uchar::format_upper_case#0
Constant inlined ultoa::buffer#6 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined printf_number_buffer::format_upper_case#4 = printf_schar::format_upper_case#0
Constant inlined conio_c64_init::line#1 = (char)$19-1
Constant inlined printf_number_buffer::format_upper_case#2 = printf_sint::format_upper_case#0
Constant inlined memcpy::source#1 = (void *)COLORRAM+$28
Constant inlined ultoa::buffer#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined printf_str::s#17 = main::s1
Constant inlined printf_number_buffer::format_upper_case#1 = printf_ulong::format_upper_case#0
Constant inlined ultoa::started#0 = 0
Constant inlined printf_uint::format_min_length#0 = 0
Constant inlined printf_str::s#16 = main::s14
Constant inlined printf_number_buffer::format_upper_case#0 = printf_slong::format_upper_case#0
Constant inlined printf_uint::format_min_length#1 = 0
Constant inlined printf_str::s#19 = main::s1
Constant inlined printf_str::s#18 = main::s16
Constant inlined printf_number_buffer::format_zero_padding#0 = printf_slong::format_zero_padding#0
Constant inlined printf_number_buffer::format_zero_padding#4 = printf_schar::format_zero_padding#0
Constant inlined memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant inlined printf_number_buffer::format_zero_padding#1 = printf_ulong::format_zero_padding#0
Constant inlined memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant inlined CONIO_SCREEN_COLORS = COLORRAM
Constant inlined printf_number_buffer::format_zero_padding#2 = printf_sint::format_zero_padding#0
Constant inlined printf_uint::$1 = '+'
Constant inlined printf_schar::value#1 = main::sc
Constant inlined printf_uint::$0 = 0
Constant inlined printf_number_buffer::format_zero_padding#5 = printf_uchar::format_zero_padding#0
Constant inlined printf_ulong::uvalue#0 = main::ul
Constant inlined main::s5 = main::s1
Constant inlined main::s3 = main::s1
Constant inlined main::s9 = main::s1
Constant inlined main::s7 = main::s1
Constant inlined uctoa::radix#0 = DECIMAL
Constant inlined memcpy::num#1 = (unsigned int)$19*$28-$28
Constant inlined memcpy::num#0 = (unsigned int)$19*$28-$28
Constant inlined uctoa::radix#1 = DECIMAL
Constant inlined printf_uchar::format_radix#0 = DECIMAL
Constant inlined clrscr::c#0 = 0
Constant inlined clrscr::line_cols#0 = COLORRAM
Successful SSA optimization Pass2ConstantInlining
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
Alias gotoxy::line_offset#0 = gotoxy::$10
Successful SSA optimization Pass2AliasElimination
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
Identical Phi Values memcpy::num#2 (unsigned int)$19*$28-$28
Identical Phi Values memset::num#2 $28
Identical Phi Values utoa::buffer#11 (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Identical Phi Values ultoa::radix#2 DECIMAL
Identical Phi Values ultoa::buffer#11 (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Identical Phi Values uctoa::radix#2 DECIMAL
Identical Phi Values uctoa::buffer#11 (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Identical Phi Values printf_uint::format_sign_always#2 0
Identical Phi Values printf_uint::putc#2 &cputc
Identical Phi Values printf_uint::format_min_length#2 0
Identical Phi Values printf_uint::format_justify_left#2 0
Identical Phi Values printf_uint::format_zero_padding#2 0
Identical Phi Values printf_uint::format_upper_case#2 0
Identical Phi Values printf_number_buffer::buffer_digits#10 (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Successful SSA optimization Pass2IdenticalPhiElimination
Constant right-side identified [40] utoa::buffer#0 = ++ (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant right-side identified [73] ultoa::buffer#0 = ++ (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant right-side identified [106] uctoa::buffer#0 = ++ (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant utoa::buffer#0 = ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant ultoa::buffer#0 = ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant uctoa::buffer#0 = ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant printf_number_buffer::putc#3 = &cputc
Constant printf_number_buffer::format_min_length#3 = 0
Constant printf_number_buffer::format_justify_left#3 = 0
Constant printf_number_buffer::format_zero_padding#3 = 0
Constant printf_number_buffer::format_upper_case#3 = 0
Constant strlen::str#1 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant printf_str::s#1 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant strupr::str#0 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Successful SSA optimization Pass2ConstantIdentification
if() condition always false - eliminating [9] if($28<=0) goto memset::@1
if() condition always true - replacing block destination [68] if(DECIMAL==DECIMAL) goto ultoa::@1
if() condition always false - eliminating [69] if(DECIMAL==HEXADECIMAL) goto ultoa::@2
if() condition always false - eliminating [70] if(DECIMAL==OCTAL) goto ultoa::@3
if() condition always false - eliminating [71] if(DECIMAL==BINARY) goto ultoa::@4
if() condition always true - replacing block destination [101] if(DECIMAL==DECIMAL) goto uctoa::@1
if() condition always false - eliminating [102] if(DECIMAL==HEXADECIMAL) goto uctoa::@2
if() condition always false - eliminating [103] if(DECIMAL==OCTAL) goto uctoa::@3
if() condition always false - eliminating [104] if(DECIMAL==BINARY) goto uctoa::@4
if() condition always false - eliminating [242] if(0!=0) goto printf_uint::@1
Successful SSA optimization Pass2ConstantIfs
Eliminating variable ultoa::buffer#1 from unused block ultoa::@9
Eliminating variable ultoa::buffer#2 from unused block ultoa::@9
Eliminating variable uctoa::buffer#1 from unused block uctoa::@9
Eliminating variable uctoa::buffer#2 from unused block uctoa::@9
Removing unused block ultoa::@6
Removing PHI-reference to removed block (ultoa::@2) in block ultoa::@5
Removing PHI-reference to removed block (ultoa::@2) in block ultoa::@5
Removing unused block ultoa::@2
Removing unused block ultoa::@7
Removing PHI-reference to removed block (ultoa::@3) in block ultoa::@5
Removing PHI-reference to removed block (ultoa::@3) in block ultoa::@5
Removing unused block ultoa::@3
Removing unused block ultoa::@8
Removing PHI-reference to removed block (ultoa::@4) in block ultoa::@5
Removing PHI-reference to removed block (ultoa::@4) in block ultoa::@5
Removing unused block ultoa::@4
Removing unused block ultoa::@9
Removing unused block uctoa::@6
Removing PHI-reference to removed block (uctoa::@2) in block uctoa::@5
Removing PHI-reference to removed block (uctoa::@2) in block uctoa::@5
Removing unused block uctoa::@2
Removing unused block uctoa::@7
Removing PHI-reference to removed block (uctoa::@3) in block uctoa::@5
Removing PHI-reference to removed block (uctoa::@3) in block uctoa::@5
Removing unused block uctoa::@3
Removing unused block uctoa::@8
Removing PHI-reference to removed block (uctoa::@4) in block uctoa::@5
Removing PHI-reference to removed block (uctoa::@4) in block uctoa::@5
Removing unused block uctoa::@4
Removing unused block uctoa::@9
Removing PHI-reference to removed block (printf_uint::@1) in block printf_uint::@3
Removing unused block printf_uint::@1
Successful SSA optimization Pass2EliminateUnusedBlocks
Eliminating unused constant ultoa::buffer#0
Eliminating unused constant RADIX_BINARY_VALUES_CHAR
Eliminating unused constant RADIX_OCTAL_VALUES_CHAR
Eliminating unused constant RADIX_HEXADECIMAL_VALUES_CHAR
Eliminating unused constant uctoa::buffer#0
Eliminating unused constant RADIX_BINARY_VALUES_LONG
Eliminating unused constant RADIX_OCTAL_VALUES_LONG
Eliminating unused constant RADIX_HEXADECIMAL_VALUES_LONG
Eliminating unused constant SIZEOF_UNSIGNED_INT
Eliminating unused constant SIZEOF_UNSIGNED_LONG
Successful SSA optimization PassNEliminateUnusedVars
Inlining constant with var siblings strlen::str#1
Inlining constant with var siblings utoa::buffer#0
Inlining constant with var siblings printf_str::s#1
Inlining constant with var siblings printf_number_buffer::putc#3
Inlining constant with var siblings printf_number_buffer::format_min_length#3
Inlining constant with var siblings printf_number_buffer::format_justify_left#3
Inlining constant with var siblings printf_number_buffer::format_zero_padding#3
Inlining constant with var siblings printf_number_buffer::format_upper_case#3
Constant inlined printf_number_buffer::format_zero_padding#3 = 0
Constant inlined printf_number_buffer::format_upper_case#3 = 0
Constant inlined strlen::str#1 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined printf_number_buffer::format_justify_left#3 = 0
Constant inlined utoa::buffer#0 = ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined printf_str::s#1 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined printf_number_buffer::putc#3 = &cputc
Constant inlined printf_number_buffer::format_min_length#3 = 0
Successful SSA optimization Pass2ConstantInlining
Simplifying constant integer increment ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Simplifying constant integer increment ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Successful SSA optimization Pass2ConstantSimplification
Adding number conversion cast (unumber) 1 in [39] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1) = 'r'
Adding number conversion cast (unumber) 1 in [40] utoa::buffer#1 = ++ (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1
Successful SSA optimization PassNAddNumberTypeConversions
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Successful SSA optimization PassNCastSimplification
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
Identical Phi Values ultoa::max_digits#7 $a
Identical Phi Values ultoa::digit_values#8 RADIX_DECIMAL_VALUES_LONG
Identical Phi Values uctoa::max_digits#7 3
Identical Phi Values uctoa::digit_values#8 RADIX_DECIMAL_VALUES_CHAR
Identical Phi Values printf_uint::$2 0
Successful SSA optimization Pass2IdenticalPhiElimination
Constant right-side identified [40] utoa::buffer#1 = ++ (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1
Constant right-side identified [69] ultoa::$4 = $a - 1
Constant right-side identified [91] uctoa::$4 = 3 - 1
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant utoa::buffer#1 = ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1
Constant ultoa::$4 = $a-1
Constant uctoa::$4 = 3-1
Successful SSA optimization Pass2ConstantIdentification
Inlining constant with var siblings utoa::buffer#1
Constant inlined uctoa::$4 = 3-1
Constant inlined utoa::buffer#1 = ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1
Constant inlined ultoa::$4 = $a-1
Successful SSA optimization Pass2ConstantInlining
Simplifying constant integer increment ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1
Simplifying constant integer increment ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1
Successful SSA optimization Pass2ConstantSimplification
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
Constant right-side identified [41] utoa::buffer#2 = ++ (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant utoa::buffer#2 = ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2
Successful SSA optimization Pass2ConstantIdentification
Inlining constant with var siblings utoa::buffer#2
Constant inlined utoa::buffer#2 = ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2
Successful SSA optimization Pass2ConstantInlining
Simplifying constant integer increment ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2
Successful SSA optimization Pass2ConstantSimplification
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
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) 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
Finalized unsigned number type (char) 1
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
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)conio_line_text = gotoxy::$5
Alias candidate removed (volatile)conio_line_color = gotoxy::$6
Added new block during phi lifting utoa::@17(between utoa::@16 and utoa::@13)
Added new block during phi lifting ultoa::@17(between ultoa::@16 and ultoa::@13)
Added new block during phi lifting uctoa::@17(between uctoa::@16 and uctoa::@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 printf_number_buffer::@26(between printf_number_buffer::@13 and printf_number_buffer::@1)
Added new block during phi lifting printf_number_buffer::@27(between printf_number_buffer::@15 and printf_number_buffer::@13)
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 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 main
Adding NOP phi() at start of main::@3
Adding NOP phi() at start of main::@4
Adding NOP phi() at start of main::@5
Adding NOP phi() at start of main::@6
Adding NOP phi() at start of main::@8
Adding NOP phi() at start of main::@9
Adding NOP phi() at start of main::@10
Adding NOP phi() at start of main::@11
Adding NOP phi() at start of main::@12
Adding NOP phi() at start of main::@13
Adding NOP phi() at start of main::@14
Adding NOP phi() at start of main::@15
Adding NOP phi() at start of main::@16
Adding NOP phi() at start of main::@17
Adding NOP phi() at start of main::@18
Adding NOP phi() at start of main::@19
Adding NOP phi() at start of main::@20
Adding NOP phi() at start of main::@21
Adding NOP phi() at start of main::@22
Adding NOP phi() at start of main::@23
Adding NOP phi() at start of main::@24
Adding NOP phi() at start of main::@25
Adding NOP phi() at start of main::@26
Adding NOP phi() at start of gotoxy::@3
Adding NOP phi() at start of cputln::@1
Adding NOP phi() at start of clrscr
Adding NOP phi() at start of clrscr::@2
Adding NOP phi() at start of printf_uint::@2
Adding NOP phi() at start of printf_uint::@5
Adding NOP phi() at start of printf_schar::@2
Adding NOP phi() at start of printf_schar::@6
Adding NOP phi() at start of printf_uchar
Adding NOP phi() at start of printf_uchar::@2
Adding NOP phi() at start of printf_uchar::@5
Adding NOP phi() at start of printf_sint::@2
Adding NOP phi() at start of printf_sint::@6
Adding NOP phi() at start of printf_slong::@2
Adding NOP phi() at start of printf_slong::@6
Adding NOP phi() at start of printf_ulong
Adding NOP phi() at start of printf_ulong::@2
Adding NOP phi() at start of printf_ulong::@5
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 cscroll::@6
Adding NOP phi() at start of utoa::@4
Adding NOP phi() at start of utoa::@3
Adding NOP phi() at start of utoa::@2
Adding NOP phi() at start of utoa::@1
Adding NOP phi() at start of printf_number_buffer::@6
Adding NOP phi() at start of printf_number_buffer::@14
Adding NOP phi() at start of printf_number_buffer::@11
Adding NOP phi() at start of printf_number_buffer::@19
Adding NOP phi() at start of printf_number_buffer::@20
Adding NOP phi() at start of printf_number_buffer::@17
Adding NOP phi() at start of printf_number_buffer::@16
Adding NOP phi() at start of uctoa::@1
Adding NOP phi() at start of ultoa::@1
Adding NOP phi() at start of memcpy::@3
Adding NOP phi() at start of memset::@1
Adding NOP phi() at start of strlen
Adding NOP phi() at start of strlen::@3
Adding NOP phi() at start of strupr
Adding NOP phi() at start of strupr::@3
CALL GRAPH
Calls in [__start] to conio_c64_init:5 main:8
Calls in [conio_c64_init] to gotoxy:16
Calls in [cputc] to cputln:27 cputln:31
Calls in [main] to clrscr:34 printf_str:36 cputc:38 printf_str:40 printf_str:42 printf_uint:44 printf_str:46 printf_str:48 cputc:50 printf_str:52 printf_str:54 printf_schar:56 printf_str:58 printf_str:60 printf_uchar:62 printf_str:64 printf_str:66 printf_sint:68 printf_str:70 printf_str:72 printf_uint:74 printf_str:76 printf_str:78 printf_slong:80 printf_str:82 printf_str:84 printf_ulong:86 printf_str:88
Calls in [cputln] to cscroll:110
Calls in [printf_str] to null:142
Calls in [printf_uint] to utoa:152 printf_number_buffer:155
Calls in [printf_schar] to uctoa:161 printf_number_buffer:164
Calls in [printf_uchar] to uctoa:170 printf_number_buffer:173
Calls in [printf_sint] to utoa:179 printf_number_buffer:182
Calls in [printf_slong] to ultoa:188 printf_number_buffer:191
Calls in [printf_ulong] to ultoa:197 printf_number_buffer:200
Calls in [cscroll] to memcpy:206 memcpy:208 memset:210 memset:212
Calls in [utoa] to utoa_append:253
Calls in [printf_number_buffer] to strlen:265 null:282 strupr:288 printf_str:292 printf_padding:301 printf_padding:307 printf_padding:313
Calls in [uctoa] to uctoa_append:341
Calls in [ultoa] to ultoa_append:373
Calls in [strupr] to toupper:426
Calls in [printf_padding] to null:437
Created 67 initial phi equivalence classes
Coalesced [19] conio_c64_init::line#3 = conio_c64_init::line#0
Coalesced [105] gotoxy::y#7 = gotoxy::y#2
Coalesced [127] clrscr::l#7 = clrscr::l#1
Coalesced [128] clrscr::line_text#7 = clrscr::line_text#1
Coalesced [129] clrscr::line_cols#7 = clrscr::line_cols#1
Coalesced [133] clrscr::c#4 = clrscr::c#1
Coalesced [135] printf_str::s#23 = printf_str::s#21
Coalesced [144] printf_str::s#24 = printf_str::s#0
Coalesced [150] utoa::radix#6 = utoa::radix#1
Coalesced [151] utoa::value#17 = utoa::value#2
Coalesced [154] printf_number_buffer::buffer_sign#21 = printf_number_buffer::buffer_sign#3
Coalesced [163] printf_number_buffer::buffer_sign#17 = printf_number_buffer::buffer_sign#4
Coalesced [172] printf_number_buffer::buffer_sign#20 = printf_number_buffer::buffer_sign#5
Coalesced [181] printf_number_buffer::buffer_sign#18 = printf_number_buffer::buffer_sign#2
Coalesced [190] printf_number_buffer::buffer_sign#19 = printf_number_buffer::buffer_sign#0
Coalesced [199] printf_number_buffer::buffer_sign#22 = printf_number_buffer::buffer_sign#1
Coalesced [229] utoa::value#19 = utoa::value#10
Coalesced [241] utoa::value#20 = utoa::value#3
Coalesced [242] utoa::started#6 = utoa::started#2
Coalesced [243] utoa::buffer#24 = utoa::buffer#10
Coalesced [246] utoa::digit#7 = utoa::digit#1
Coalesced (already) [247] utoa::value#18 = utoa::value#7
Coalesced (already) [248] utoa::started#5 = utoa::started#4
Coalesced (already) [249] utoa::buffer#23 = utoa::buffer#15
Coalesced [257] utoa::value#21 = utoa::value#0
Coalesced [258] utoa::buffer#25 = utoa::buffer#4
Coalesced [271] printf_number_buffer::len#5 = printf_number_buffer::len#1
Coalesced [291] printf_str::putc#22 = printf_str::putc#0
Coalesced [299] printf_padding::length#8 = printf_padding::length#2
Coalesced [300] printf_padding::putc#8 = printf_padding::putc#2
Coalesced [305] printf_padding::length#7 = printf_padding::length#1
Coalesced [306] printf_padding::putc#7 = printf_padding::putc#1
Coalesced [311] printf_padding::length#9 = printf_padding::length#0
Coalesced [312] printf_padding::putc#9 = printf_padding::putc#0
Coalesced [315] printf_number_buffer::padding#17 = printf_number_buffer::padding#1
Coalesced [316] printf_number_buffer::len#4 = printf_number_buffer::len#0
Coalesced [319] uctoa::value#18 = uctoa::value#10
Coalesced [329] uctoa::value#19 = uctoa::value#3
Coalesced [330] uctoa::started#6 = uctoa::started#2
Coalesced [331] uctoa::buffer#24 = uctoa::buffer#10
Coalesced [334] uctoa::digit#7 = uctoa::digit#1
Coalesced (already) [335] uctoa::value#17 = uctoa::value#7
Coalesced (already) [336] uctoa::started#5 = uctoa::started#4
Coalesced (already) [337] uctoa::buffer#23 = uctoa::buffer#15
Coalesced [345] uctoa::value#20 = uctoa::value#0
Coalesced [346] uctoa::buffer#25 = uctoa::buffer#4
Coalesced [349] ultoa::value#18 = ultoa::value#10
Coalesced [361] ultoa::value#19 = ultoa::value#3
Coalesced [362] ultoa::started#6 = ultoa::started#2
Coalesced [363] ultoa::buffer#24 = ultoa::buffer#10
Coalesced [366] ultoa::digit#7 = ultoa::digit#1
Coalesced (already) [367] ultoa::value#17 = ultoa::value#7
Coalesced (already) [368] ultoa::started#5 = ultoa::started#4
Coalesced (already) [369] ultoa::buffer#23 = ultoa::buffer#15
Coalesced [377] ultoa::value#20 = ultoa::value#0
Coalesced [378] ultoa::buffer#25 = ultoa::buffer#4
Coalesced [390] memcpy::src#5 = memcpy::src#1
Coalesced [391] memcpy::dst#5 = memcpy::dst#1
Coalesced [401] memset::dst#5 = memset::dst#1
Coalesced [402] utoa_append::value#6 = utoa_append::value#0
Coalesced [409] utoa_append::value#7 = utoa_append::value#1
Coalesced [410] utoa_append::digit#5 = utoa_append::digit#1
Coalesced [418] strlen::str#5 = strlen::str#0
Coalesced [419] strlen::len#5 = strlen::len#1
Coalesced [431] strupr::src#5 = strupr::src#1
Coalesced [440] printf_padding::i#5 = printf_padding::i#1
Coalesced [441] uctoa_append::value#6 = uctoa_append::value#0
Coalesced [448] uctoa_append::value#7 = uctoa_append::value#1
Coalesced [449] uctoa_append::digit#5 = uctoa_append::digit#1
Coalesced [450] ultoa_append::value#6 = ultoa_append::value#0
Coalesced [457] ultoa_append::value#7 = ultoa_append::value#1
Coalesced [458] ultoa_append::digit#5 = ultoa_append::digit#1
Coalesced [461] toupper::return#7 = toupper::ch#0
Coalesced [465] toupper::return#6 = toupper::return#0
Coalesced down to 54 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 cputc::@5
Culled Empty Block label cputc::@4
Culled Empty Block label main::@26
Culled Empty Block label gotoxy::@3
Culled Empty Block label cputln::@1
Culled Empty Block label clrscr::@2
Culled Empty Block label printf_uint::@2
Culled Empty Block label printf_uint::@5
Culled Empty Block label printf_schar::@6
Culled Empty Block label printf_uchar::@2
Culled Empty Block label printf_uchar::@5
Culled Empty Block label printf_sint::@6
Culled Empty Block label printf_slong::@6
Culled Empty Block label printf_ulong::@2
Culled Empty Block label printf_ulong::@5
Culled Empty Block label cscroll::@1
Culled Empty Block label utoa::@4
Culled Empty Block label utoa::@17
Culled Empty Block label utoa::@3
Culled Empty Block label utoa::@2
Culled Empty Block label utoa::@1
Culled Empty Block label printf_number_buffer::@14
Culled Empty Block label printf_number_buffer::@19
Culled Empty Block label printf_number_buffer::@20
Culled Empty Block label printf_number_buffer::@17
Culled Empty Block label printf_number_buffer::@16
Culled Empty Block label printf_number_buffer::@27
Culled Empty Block label uctoa::@1
Culled Empty Block label uctoa::@5
Culled Empty Block label uctoa::@17
Culled Empty Block label ultoa::@1
Culled Empty Block label ultoa::@5
Culled Empty Block label ultoa::@17
Culled Empty Block label memcpy::@3
Culled Empty Block label memset::@1
Culled Empty Block label strlen::@3
Culled Empty Block label strupr::@3
Culled Empty Block label toupper::@2
Renumbering block memset::@2 to memset::@1
Renumbering block memset::@3 to memset::@2
Renumbering block memset::@4 to memset::@3
Renumbering block toupper::@3 to toupper::@2
Renumbering block strupr::@4 to strupr::@3
Renumbering block utoa::@5 to utoa::@1
Renumbering block utoa::@6 to utoa::@2
Renumbering block utoa::@7 to utoa::@3
Renumbering block utoa::@8 to utoa::@4
Renumbering block utoa::@9 to utoa::@5
Renumbering block utoa::@10 to utoa::@6
Renumbering block utoa::@11 to utoa::@7
Renumbering block utoa::@12 to utoa::@8
Renumbering block utoa::@13 to utoa::@9
Renumbering block utoa::@14 to utoa::@10
Renumbering block utoa::@15 to utoa::@11
Renumbering block utoa::@16 to utoa::@12
Renumbering block ultoa::@10 to ultoa::@1
Renumbering block ultoa::@11 to ultoa::@2
Renumbering block ultoa::@12 to ultoa::@3
Renumbering block ultoa::@13 to ultoa::@4
Renumbering block ultoa::@14 to ultoa::@5
Renumbering block ultoa::@15 to ultoa::@6
Renumbering block ultoa::@16 to ultoa::@7
Renumbering block uctoa::@10 to uctoa::@1
Renumbering block uctoa::@11 to uctoa::@2
Renumbering block uctoa::@12 to uctoa::@3
Renumbering block uctoa::@13 to uctoa::@4
Renumbering block uctoa::@14 to uctoa::@5
Renumbering block uctoa::@15 to uctoa::@6
Renumbering block uctoa::@16 to uctoa::@7
Renumbering block clrscr::@3 to clrscr::@2
Renumbering block clrscr::@4 to clrscr::@3
Renumbering block clrscr::@5 to clrscr::@4
Renumbering block clrscr::@6 to clrscr::@5
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 printf_slong::@5 to printf_slong::@3
Renumbering block printf_ulong::@3 to printf_ulong::@1
Renumbering block printf_ulong::@4 to printf_ulong::@2
Renumbering block printf_sint::@5 to printf_sint::@3
Renumbering block printf_uint::@3 to printf_uint::@1
Renumbering block printf_uint::@4 to printf_uint::@2
Renumbering block printf_schar::@5 to printf_schar::@3
Renumbering block printf_uchar::@3 to printf_uchar::@1
Renumbering block printf_uchar::@4 to printf_uchar::@2
Renumbering block printf_number_buffer::@15 to printf_number_buffer::@14
Renumbering block printf_number_buffer::@18 to printf_number_buffer::@15
Renumbering block printf_number_buffer::@21 to printf_number_buffer::@16
Renumbering block printf_number_buffer::@22 to printf_number_buffer::@17
Renumbering block printf_number_buffer::@23 to printf_number_buffer::@18
Renumbering block printf_number_buffer::@24 to printf_number_buffer::@19
Renumbering block printf_number_buffer::@25 to printf_number_buffer::@20
Renumbering block printf_number_buffer::@26 to printf_number_buffer::@21
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 cputc::@3
Adding NOP phi() at start of cputc::@1
Adding NOP phi() at start of main
Adding NOP phi() at start of main::@3
Adding NOP phi() at start of main::@4
Adding NOP phi() at start of main::@5
Adding NOP phi() at start of main::@6
Adding NOP phi() at start of main::@8
Adding NOP phi() at start of main::@9
Adding NOP phi() at start of main::@10
Adding NOP phi() at start of main::@11
Adding NOP phi() at start of main::@12
Adding NOP phi() at start of main::@13
Adding NOP phi() at start of main::@14
Adding NOP phi() at start of main::@15
Adding NOP phi() at start of main::@16
Adding NOP phi() at start of main::@17
Adding NOP phi() at start of main::@18
Adding NOP phi() at start of main::@19
Adding NOP phi() at start of main::@20
Adding NOP phi() at start of main::@21
Adding NOP phi() at start of main::@22
Adding NOP phi() at start of main::@23
Adding NOP phi() at start of main::@24
Adding NOP phi() at start of main::@25
Adding NOP phi() at start of gotoxy::@3
Adding NOP phi() at start of clrscr
Adding NOP phi() at start of printf_schar::@2
Adding NOP phi() at start of printf_uchar
Adding NOP phi() at start of printf_sint::@2
Adding NOP phi() at start of printf_slong::@2
Adding NOP phi() at start of printf_ulong
Adding NOP phi() at start of cscroll::@1
Adding NOP phi() at start of cscroll::@2
Adding NOP phi() at start of cscroll::@3
Adding NOP phi() at start of cscroll::@4
Adding NOP phi() at start of printf_number_buffer::@6
Adding NOP phi() at start of printf_number_buffer::@21
Adding NOP phi() at start of printf_number_buffer::@11
Adding NOP phi() at start of utoa_append
Adding NOP phi() at start of strlen
Adding NOP phi() at start of strupr
Adding NOP phi() at start of uctoa_append
Adding NOP phi() at start of ultoa_append
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] call conio_c64_init
to:__start::@1
__start::@1: scope:[__start] from __start::__init1
[6] phi()
[7] call main
to:__start::@return
__start::@return: scope:[__start] from __start::@1
[8] return
to:@return
void conio_c64_init()
conio_c64_init: scope:[conio_c64_init] from __start::__init1
[9] conio_c64_init::line#0 = *conio_c64_init::BASIC_CURSOR_LINE
[10] 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
[11] phi()
to:conio_c64_init::@1
conio_c64_init::@1: scope:[conio_c64_init] from conio_c64_init conio_c64_init::@2
[12] conio_c64_init::line#2 = phi( conio_c64_init::@2/conio_c64_init::line#0, conio_c64_init/$19-1 )
[13] gotoxy::y#2 = conio_c64_init::line#2
[14] call gotoxy
to:conio_c64_init::@return
conio_c64_init::@return: scope:[conio_c64_init] from conio_c64_init::@1
[15] return
to:@return
__stackcall void cputc(char c)
cputc: scope:[cputc] from
[16] cputc::c#0 = stackidx(char,cputc::OFFSET_STACK_C)
[17] if(cputc::c#0=='
') goto cputc::@1
to:cputc::@2
cputc::@2: scope:[cputc] from cputc
[18] conio_line_text[conio_cursor_x] = cputc::c#0
[19] conio_line_color[conio_cursor_x] = LIGHT_BLUE
[20] conio_cursor_x = ++ conio_cursor_x
[21] if(conio_cursor_x!=$28) goto cputc::@return
to:cputc::@3
cputc::@3: scope:[cputc] from cputc::@2
[22] phi()
[23] call cputln
to:cputc::@return
cputc::@return: scope:[cputc] from cputc::@1 cputc::@2 cputc::@3
[24] return
to:@return
cputc::@1: scope:[cputc] from cputc
[25] phi()
[26] call cputln
to:cputc::@return
void main()
main: scope:[main] from __start::@1
[27] phi()
[28] call clrscr
to:main::@1
main::@1: scope:[main] from main
[29] main::c = 'x'
[30] call printf_str
to:main::@2
main::@2: scope:[main] from main::@1
[31] stackpush(char) = main::c
[32] callexecute cputc
sideeffect stackpullbytes(1)
[34] call printf_str
to:main::@3
main::@3: scope:[main] from main::@2
[35] phi()
[36] call printf_str
to:main::@4
main::@4: scope:[main] from main::@3
[37] phi()
[38] call printf_uint
to:main::@5
main::@5: scope:[main] from main::@4
[39] phi()
[40] call printf_str
to:main::@6
main::@6: scope:[main] from main::@5
[41] phi()
[42] call printf_str
to:main::@7
main::@7: scope:[main] from main::@6
[43] stackpush(char) = '%'
[44] callexecute cputc
sideeffect stackpullbytes(1)
[46] call printf_str
to:main::@8
main::@8: scope:[main] from main::@7
[47] phi()
[48] call printf_str
to:main::@9
main::@9: scope:[main] from main::@8
[49] phi()
[50] call printf_schar
to:main::@10
main::@10: scope:[main] from main::@9
[51] phi()
[52] call printf_str
to:main::@11
main::@11: scope:[main] from main::@10
[53] phi()
[54] call printf_str
to:main::@12
main::@12: scope:[main] from main::@11
[55] phi()
[56] call printf_uchar
to:main::@13
main::@13: scope:[main] from main::@12
[57] phi()
[58] call printf_str
to:main::@14
main::@14: scope:[main] from main::@13
[59] phi()
[60] call printf_str
to:main::@15
main::@15: scope:[main] from main::@14
[61] phi()
[62] call printf_sint
to:main::@16
main::@16: scope:[main] from main::@15
[63] phi()
[64] call printf_str
to:main::@17
main::@17: scope:[main] from main::@16
[65] phi()
[66] call printf_str
to:main::@18
main::@18: scope:[main] from main::@17
[67] phi()
[68] call printf_uint
to:main::@19
main::@19: scope:[main] from main::@18
[69] phi()
[70] call printf_str
to:main::@20
main::@20: scope:[main] from main::@19
[71] phi()
[72] call printf_str
to:main::@21
main::@21: scope:[main] from main::@20
[73] phi()
[74] call printf_slong
to:main::@22
main::@22: scope:[main] from main::@21
[75] phi()
[76] call printf_str
to:main::@23
main::@23: scope:[main] from main::@22
[77] phi()
[78] call printf_str
to:main::@24
main::@24: scope:[main] from main::@23
[79] phi()
[80] call printf_ulong
to:main::@25
main::@25: scope:[main] from main::@24
[81] phi()
[82] call printf_str
to:main::@return
main::@return: scope:[main] from main::@25
[83] return
to:@return
void gotoxy(char x , char y)
gotoxy: scope:[gotoxy] from conio_c64_init::@1
[84] if(gotoxy::y#2<$19+1) goto gotoxy::@3
to:gotoxy::@1
gotoxy::@3: scope:[gotoxy] from gotoxy
[85] phi()
to:gotoxy::@1
gotoxy::@1: scope:[gotoxy] from gotoxy gotoxy::@3
[86] gotoxy::y#4 = phi( gotoxy::@3/gotoxy::y#2, gotoxy/0 )
to:gotoxy::@2
gotoxy::@2: scope:[gotoxy] from gotoxy::@1
[87] conio_cursor_x = gotoxy::x#2
[88] conio_cursor_y = gotoxy::y#4
[89] gotoxy::$7 = (unsigned int)gotoxy::y#4
[90] gotoxy::$8 = gotoxy::$7 << 2
[91] gotoxy::$9 = gotoxy::$8 + gotoxy::$7
[92] gotoxy::line_offset#0 = gotoxy::$9 << 3
[93] gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0
[94] conio_line_text = gotoxy::$5
[95] gotoxy::$6 = COLORRAM + gotoxy::line_offset#0
[96] conio_line_color = gotoxy::$6
to:gotoxy::@return
gotoxy::@return: scope:[gotoxy] from gotoxy::@2
[97] return
to:@return
void cputln()
cputln: scope:[cputln] from cputc::@1 cputc::@3
[98] conio_line_text = conio_line_text + $28
[99] conio_line_color = conio_line_color + $28
[100] conio_cursor_x = 0
[101] conio_cursor_y = ++ conio_cursor_y
[102] call cscroll
to:cputln::@return
cputln::@return: scope:[cputln] from cputln
[103] return
to:@return
void clrscr()
clrscr: scope:[clrscr] from main
[104] phi()
to:clrscr::@1
clrscr::@1: scope:[clrscr] from clrscr clrscr::@5
[105] clrscr::line_cols#5 = phi( clrscr/COLORRAM, clrscr::@5/clrscr::line_cols#1 )
[105] clrscr::line_text#5 = phi( clrscr/DEFAULT_SCREEN, clrscr::@5/clrscr::line_text#1 )
[105] clrscr::l#2 = phi( clrscr/0, clrscr::@5/clrscr::l#1 )
[106] if(clrscr::l#2<$19) goto clrscr::@3
to:clrscr::@2
clrscr::@2: scope:[clrscr] from clrscr::@1
[107] conio_cursor_x = 0
[108] conio_cursor_y = 0
[109] conio_line_text = DEFAULT_SCREEN
[110] conio_line_color = COLORRAM
to:clrscr::@return
clrscr::@return: scope:[clrscr] from clrscr::@2
[111] return
to:@return
clrscr::@3: scope:[clrscr] from clrscr::@1 clrscr::@4
[112] clrscr::c#2 = phi( clrscr::@1/0, clrscr::@4/clrscr::c#1 )
[113] if(clrscr::c#2<$28) goto clrscr::@4
to:clrscr::@5
clrscr::@5: scope:[clrscr] from clrscr::@3
[114] clrscr::line_text#1 = clrscr::line_text#5 + $28
[115] clrscr::line_cols#1 = clrscr::line_cols#5 + $28
[116] clrscr::l#1 = ++ clrscr::l#2
to:clrscr::@1
clrscr::@4: scope:[clrscr] from clrscr::@3
[117] clrscr::line_text#5[clrscr::c#2] = ' '
[118] clrscr::line_cols#5[clrscr::c#2] = LIGHT_BLUE
[119] clrscr::c#1 = ++ clrscr::c#2
to:clrscr::@3
void printf_str(void (*putc)(char) , const char *s)
printf_str: scope:[printf_str] from main::@1 main::@10 main::@11 main::@13 main::@14 main::@16 main::@17 main::@19 main::@2 main::@20 main::@22 main::@23 main::@25 main::@3 main::@5 main::@6 main::@7 main::@8 printf_number_buffer::@5
[120] printf_str::putc#21 = phi( main::@1/&cputc, main::@10/&cputc, main::@11/&cputc, main::@13/&cputc, main::@14/&cputc, main::@16/&cputc, main::@17/&cputc, main::@19/&cputc, main::@2/&cputc, main::@20/&cputc, main::@22/&cputc, main::@23/&cputc, main::@25/&cputc, main::@3/&cputc, main::@5/&cputc, main::@6/&cputc, main::@7/&cputc, main::@8/&cputc, printf_number_buffer::@5/printf_str::putc#0 )
[120] printf_str::s#21 = phi( main::@1/main::s, main::@10/main::s1, main::@11/main::s8, main::@13/main::s1, main::@14/main::s10, main::@16/main::s1, main::@17/main::s12, main::@19/main::s1, main::@2/main::s1, main::@20/main::s14, main::@22/main::s1, main::@23/main::s16, main::@25/main::s1, main::@3/main::s2, main::@5/main::s1, main::@6/main::s4, main::@7/main::s1, main::@8/main::s6, printf_number_buffer::@5/(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS )
to:printf_str::@1
printf_str::@1: scope:[printf_str] from printf_str printf_str::@2
[121] printf_str::s#20 = phi( printf_str/printf_str::s#21, printf_str::@2/printf_str::s#0 )
[122] printf_str::c#1 = *printf_str::s#20
[123] printf_str::s#0 = ++ printf_str::s#20
[124] if(0!=printf_str::c#1) goto printf_str::@2
to:printf_str::@return
printf_str::@return: scope:[printf_str] from printf_str::@1
[125] return
to:@return
printf_str::@2: scope:[printf_str] from printf_str::@1
[126] stackpush(char) = printf_str::c#1
[127] callexecute *printf_str::putc#21
sideeffect stackpullbytes(1)
to:printf_str::@1
void printf_uint(void (*putc)(char) , unsigned int uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_uint: scope:[printf_uint] from main::@18 main::@4
[129] printf_uint::format_radix#2 = phi( main::@18/DECIMAL, main::@4/HEXADECIMAL )
[129] printf_uint::uvalue#2 = phi( main::@18/main::ui, main::@4/(unsigned int)&main::c )
to:printf_uint::@1
printf_uint::@1: scope:[printf_uint] from printf_uint
[130] *((char *)&printf_buffer) = 0
[131] utoa::value#2 = printf_uint::uvalue#2
[132] utoa::radix#1 = printf_uint::format_radix#2
[133] call utoa
to:printf_uint::@2
printf_uint::@2: scope:[printf_uint] from printf_uint::@1
[134] printf_number_buffer::buffer_sign#3 = *((char *)&printf_buffer)
[135] call printf_number_buffer
to:printf_uint::@return
printf_uint::@return: scope:[printf_uint] from printf_uint::@2
[136] return
to:@return
void printf_schar(void (*putc)(char) , signed char value , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_schar: scope:[printf_schar] from main::@9
[137] *((char *)&printf_buffer) = 0
to:printf_schar::@1
printf_schar::@1: scope:[printf_schar] from printf_schar
[138] *((char *)&printf_buffer) = '-'
to:printf_schar::@2
printf_schar::@2: scope:[printf_schar] from printf_schar::@1
[139] phi()
[140] call uctoa
to:printf_schar::@3
printf_schar::@3: scope:[printf_schar] from printf_schar::@2
[141] printf_number_buffer::buffer_sign#4 = *((char *)&printf_buffer)
[142] call printf_number_buffer
to:printf_schar::@return
printf_schar::@return: scope:[printf_schar] from printf_schar::@3
[143] return
to:@return
void printf_uchar(void (*putc)(char) , char uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_uchar: scope:[printf_uchar] from main::@12
[144] phi()
to:printf_uchar::@1
printf_uchar::@1: scope:[printf_uchar] from printf_uchar
[145] *((char *)&printf_buffer) = 0
[146] call uctoa
to:printf_uchar::@2
printf_uchar::@2: scope:[printf_uchar] from printf_uchar::@1
[147] printf_number_buffer::buffer_sign#5 = *((char *)&printf_buffer)
[148] call printf_number_buffer
to:printf_uchar::@return
printf_uchar::@return: scope:[printf_uchar] from printf_uchar::@2
[149] return
to:@return
void printf_sint(void (*putc)(char) , int value , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_sint: scope:[printf_sint] from main::@15
[150] *((char *)&printf_buffer) = 0
to:printf_sint::@1
printf_sint::@1: scope:[printf_sint] from printf_sint
[151] *((char *)&printf_buffer) = '-'
to:printf_sint::@2
printf_sint::@2: scope:[printf_sint] from printf_sint::@1
[152] phi()
[153] call utoa
to:printf_sint::@3
printf_sint::@3: scope:[printf_sint] from printf_sint::@2
[154] printf_number_buffer::buffer_sign#2 = *((char *)&printf_buffer)
[155] call printf_number_buffer
to:printf_sint::@return
printf_sint::@return: scope:[printf_sint] from printf_sint::@3
[156] return
to:@return
void printf_slong(void (*putc)(char) , long value , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_slong: scope:[printf_slong] from main::@21
[157] *((char *)&printf_buffer) = 0
to:printf_slong::@1
printf_slong::@1: scope:[printf_slong] from printf_slong
[158] *((char *)&printf_buffer) = '-'
to:printf_slong::@2
printf_slong::@2: scope:[printf_slong] from printf_slong::@1
[159] phi()
[160] call ultoa
to:printf_slong::@3
printf_slong::@3: scope:[printf_slong] from printf_slong::@2
[161] printf_number_buffer::buffer_sign#0 = *((char *)&printf_buffer)
[162] call printf_number_buffer
to:printf_slong::@return
printf_slong::@return: scope:[printf_slong] from printf_slong::@3
[163] return
to:@return
void printf_ulong(void (*putc)(char) , unsigned long uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_ulong: scope:[printf_ulong] from main::@24
[164] phi()
to:printf_ulong::@1
printf_ulong::@1: scope:[printf_ulong] from printf_ulong
[165] *((char *)&printf_buffer) = 0
[166] call ultoa
to:printf_ulong::@2
printf_ulong::@2: scope:[printf_ulong] from printf_ulong::@1
[167] printf_number_buffer::buffer_sign#1 = *((char *)&printf_buffer)
[168] call printf_number_buffer
to:printf_ulong::@return
printf_ulong::@return: scope:[printf_ulong] from printf_ulong::@2
[169] return
to:@return
void cscroll()
cscroll: scope:[cscroll] from cputln
[170] if(conio_cursor_y!=$19) goto cscroll::@return
to:cscroll::@1
cscroll::@1: scope:[cscroll] from cscroll
[171] phi()
[172] call memcpy
to:cscroll::@2
cscroll::@2: scope:[cscroll] from cscroll::@1
[173] phi()
[174] call memcpy
to:cscroll::@3
cscroll::@3: scope:[cscroll] from cscroll::@2
[175] phi()
[176] call memset
to:cscroll::@4
cscroll::@4: scope:[cscroll] from cscroll::@3
[177] phi()
[178] call memset
to:cscroll::@5
cscroll::@5: scope:[cscroll] from cscroll::@4
[179] conio_line_text = conio_line_text - $28
[180] conio_line_color = conio_line_color - $28
[181] conio_cursor_y = -- conio_cursor_y
to:cscroll::@return
cscroll::@return: scope:[cscroll] from cscroll cscroll::@5
[182] return
to:@return
void utoa(unsigned int value , char *buffer , char radix)
utoa: scope:[utoa] from printf_sint::@2 printf_uint::@1
[183] utoa::value#10 = phi( printf_sint::@2/printf_sint::uvalue#0, printf_uint::@1/utoa::value#2 )
[183] utoa::radix#2 = phi( printf_sint::@2/DECIMAL, printf_uint::@1/utoa::radix#1 )
[184] if(utoa::radix#2==DECIMAL) goto utoa::@1
to:utoa::@2
utoa::@2: scope:[utoa] from utoa
[185] if(utoa::radix#2==HEXADECIMAL) goto utoa::@1
to:utoa::@3
utoa::@3: scope:[utoa] from utoa::@2
[186] if(utoa::radix#2==OCTAL) goto utoa::@1
to:utoa::@4
utoa::@4: scope:[utoa] from utoa::@3
[187] if(utoa::radix#2==BINARY) goto utoa::@1
to:utoa::@5
utoa::@5: scope:[utoa] from utoa::@4
[188] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS) = 'e'
[189] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1) = 'r'
[190] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2) = 'r'
[191] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3) = 0
to:utoa::@return
utoa::@return: scope:[utoa] from utoa::@5 utoa::@8
[192] return
to:@return
utoa::@1: scope:[utoa] from utoa utoa::@2 utoa::@3 utoa::@4
[193] utoa::digit_values#8 = phi( utoa/RADIX_DECIMAL_VALUES, utoa::@2/RADIX_HEXADECIMAL_VALUES, utoa::@3/RADIX_OCTAL_VALUES, utoa::@4/RADIX_BINARY_VALUES )
[193] utoa::max_digits#7 = phi( utoa/5, utoa::@2/4, utoa::@3/6, utoa::@4/$10 )
to:utoa::@6
utoa::@6: scope:[utoa] from utoa::@1 utoa::@9
[194] utoa::buffer#10 = phi( utoa::@9/utoa::buffer#15, utoa::@1/(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS )
[194] utoa::started#2 = phi( utoa::@9/utoa::started#4, utoa::@1/0 )
[194] utoa::value#3 = phi( utoa::@9/utoa::value#7, utoa::@1/utoa::value#10 )
[194] utoa::digit#2 = phi( utoa::@9/utoa::digit#1, utoa::@1/0 )
[195] utoa::$4 = utoa::max_digits#7 - 1
[196] if(utoa::digit#2<utoa::$4) goto utoa::@7
to:utoa::@8
utoa::@8: scope:[utoa] from utoa::@6
[197] utoa::$11 = (char)utoa::value#3
[198] *utoa::buffer#10 = DIGITS[utoa::$11]
[199] utoa::buffer#3 = ++ utoa::buffer#10
[200] *utoa::buffer#3 = 0
to:utoa::@return
utoa::@7: scope:[utoa] from utoa::@6
[201] utoa::$10 = utoa::digit#2 << 1
[202] utoa::digit_value#0 = utoa::digit_values#8[utoa::$10]
[203] if(0!=utoa::started#2) goto utoa::@10
to:utoa::@12
utoa::@12: scope:[utoa] from utoa::@7
[204] if(utoa::value#3>=utoa::digit_value#0) goto utoa::@10
to:utoa::@9
utoa::@9: scope:[utoa] from utoa::@11 utoa::@12
[205] utoa::buffer#15 = phi( utoa::@12/utoa::buffer#10, utoa::@11/utoa::buffer#4 )
[205] utoa::started#4 = phi( utoa::@12/utoa::started#2, utoa::@11/1 )
[205] utoa::value#7 = phi( utoa::@12/utoa::value#3, utoa::@11/utoa::value#0 )
[206] utoa::digit#1 = ++ utoa::digit#2
to:utoa::@6
utoa::@10: scope:[utoa] from utoa::@12 utoa::@7
[207] utoa_append::buffer#0 = utoa::buffer#10
[208] utoa_append::value#0 = utoa::value#3
[209] utoa_append::sub#0 = utoa::digit_value#0
[210] call utoa_append
[211] utoa_append::return#0 = utoa_append::value#2
to:utoa::@11
utoa::@11: scope:[utoa] from utoa::@10
[212] utoa::value#0 = utoa_append::return#0
[213] utoa::buffer#4 = ++ utoa::buffer#10
to:utoa::@9
void printf_number_buffer(void (*putc)(char) , char buffer_sign , char *buffer_digits , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_number_buffer: scope:[printf_number_buffer] from printf_schar::@3 printf_sint::@3 printf_slong::@3 printf_uchar::@2 printf_uint::@2 printf_ulong::@2
[214] printf_number_buffer::format_upper_case#10 = phi( printf_schar::@3/printf_schar::format_upper_case#0, printf_sint::@3/printf_sint::format_upper_case#0, printf_slong::@3/printf_slong::format_upper_case#0, printf_uchar::@2/printf_uchar::format_upper_case#0, printf_uint::@2/0, printf_ulong::@2/printf_ulong::format_upper_case#0 )
[214] printf_number_buffer::putc#10 = phi( printf_schar::@3/printf_schar::putc#0, printf_sint::@3/printf_sint::putc#0, printf_slong::@3/printf_slong::putc#0, printf_uchar::@2/printf_uchar::putc#0, printf_uint::@2/&cputc, printf_ulong::@2/printf_ulong::putc#0 )
[214] printf_number_buffer::buffer_sign#10 = phi( printf_schar::@3/printf_number_buffer::buffer_sign#4, printf_sint::@3/printf_number_buffer::buffer_sign#2, printf_slong::@3/printf_number_buffer::buffer_sign#0, printf_uchar::@2/printf_number_buffer::buffer_sign#5, printf_uint::@2/printf_number_buffer::buffer_sign#3, printf_ulong::@2/printf_number_buffer::buffer_sign#1 )
[214] printf_number_buffer::format_zero_padding#10 = phi( printf_schar::@3/printf_schar::format_zero_padding#0, printf_sint::@3/printf_sint::format_zero_padding#0, printf_slong::@3/printf_slong::format_zero_padding#0, printf_uchar::@2/printf_uchar::format_zero_padding#0, printf_uint::@2/0, printf_ulong::@2/printf_ulong::format_zero_padding#0 )
[214] printf_number_buffer::format_justify_left#10 = phi( printf_schar::@3/printf_schar::format_justify_left#0, printf_sint::@3/printf_sint::format_justify_left#0, printf_slong::@3/printf_slong::format_justify_left#0, printf_uchar::@2/printf_uchar::format_justify_left#0, printf_uint::@2/0, printf_ulong::@2/printf_ulong::format_justify_left#0 )
[214] printf_number_buffer::format_min_length#10 = phi( printf_schar::@3/printf_schar::format_min_length#0, printf_sint::@3/printf_sint::format_min_length#0, printf_slong::@3/printf_slong::format_min_length#0, printf_uchar::@2/printf_uchar::format_min_length#0, printf_uint::@2/0, printf_ulong::@2/printf_ulong::format_min_length#0 )
[215] if(0==printf_number_buffer::format_min_length#10) goto printf_number_buffer::@1
to:printf_number_buffer::@6
printf_number_buffer::@6: scope:[printf_number_buffer] from printf_number_buffer
[216] phi()
[217] call strlen
[218] strlen::return#2 = strlen::len#2
to:printf_number_buffer::@14
printf_number_buffer::@14: scope:[printf_number_buffer] from printf_number_buffer::@6
[219] printf_number_buffer::$19 = strlen::return#2
[220] printf_number_buffer::len#0 = (signed char)printf_number_buffer::$19
[221] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@13
to:printf_number_buffer::@7
printf_number_buffer::@7: scope:[printf_number_buffer] from printf_number_buffer::@14
[222] printf_number_buffer::len#1 = ++ printf_number_buffer::len#0
to:printf_number_buffer::@13
printf_number_buffer::@13: scope:[printf_number_buffer] from printf_number_buffer::@14 printf_number_buffer::@7
[223] printf_number_buffer::len#2 = phi( printf_number_buffer::@14/printf_number_buffer::len#0, printf_number_buffer::@7/printf_number_buffer::len#1 )
[224] printf_number_buffer::padding#1 = (signed char)printf_number_buffer::format_min_length#10 - printf_number_buffer::len#2
[225] if(printf_number_buffer::padding#1>=0) goto printf_number_buffer::@21
to:printf_number_buffer::@1
printf_number_buffer::@21: scope:[printf_number_buffer] from printf_number_buffer::@13
[226] phi()
to:printf_number_buffer::@1
printf_number_buffer::@1: scope:[printf_number_buffer] from printf_number_buffer printf_number_buffer::@13 printf_number_buffer::@21
[227] printf_number_buffer::padding#10 = phi( printf_number_buffer/0, printf_number_buffer::@21/printf_number_buffer::padding#1, printf_number_buffer::@13/0 )
[228] if(0!=printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@2
to:printf_number_buffer::@17
printf_number_buffer::@17: scope:[printf_number_buffer] from printf_number_buffer::@1
[229] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2
to:printf_number_buffer::@16
printf_number_buffer::@16: scope:[printf_number_buffer] from printf_number_buffer::@17
[230] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@8
to:printf_number_buffer::@2
printf_number_buffer::@8: scope:[printf_number_buffer] from printf_number_buffer::@16
[231] printf_padding::putc#0 = printf_number_buffer::putc#10
[232] printf_padding::length#0 = (char)printf_number_buffer::padding#10
[233] call printf_padding
to:printf_number_buffer::@2
printf_number_buffer::@2: scope:[printf_number_buffer] from printf_number_buffer::@1 printf_number_buffer::@16 printf_number_buffer::@17 printf_number_buffer::@8
[234] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@3
to:printf_number_buffer::@9
printf_number_buffer::@9: scope:[printf_number_buffer] from printf_number_buffer::@2
[235] stackpush(char) = printf_number_buffer::buffer_sign#10
[236] callexecute *printf_number_buffer::putc#10
sideeffect stackpullbytes(1)
to:printf_number_buffer::@3
printf_number_buffer::@3: scope:[printf_number_buffer] from printf_number_buffer::@2 printf_number_buffer::@9
[238] if(0==printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4
to:printf_number_buffer::@18
printf_number_buffer::@18: scope:[printf_number_buffer] from printf_number_buffer::@3
[239] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@10
to:printf_number_buffer::@4
printf_number_buffer::@10: scope:[printf_number_buffer] from printf_number_buffer::@18
[240] printf_padding::putc#1 = printf_number_buffer::putc#10
[241] printf_padding::length#1 = (char)printf_number_buffer::padding#10
[242] call printf_padding
to:printf_number_buffer::@4
printf_number_buffer::@4: scope:[printf_number_buffer] from printf_number_buffer::@10 printf_number_buffer::@18 printf_number_buffer::@3
[243] if(0==printf_number_buffer::format_upper_case#10) goto printf_number_buffer::@5
to:printf_number_buffer::@11
printf_number_buffer::@11: scope:[printf_number_buffer] from printf_number_buffer::@4
[244] phi()
[245] call strupr
to:printf_number_buffer::@5
printf_number_buffer::@5: scope:[printf_number_buffer] from printf_number_buffer::@11 printf_number_buffer::@4
[246] printf_str::putc#0 = printf_number_buffer::putc#10
[247] call printf_str
to:printf_number_buffer::@15
printf_number_buffer::@15: scope:[printf_number_buffer] from printf_number_buffer::@5
[248] if(0==printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@return
to:printf_number_buffer::@20
printf_number_buffer::@20: scope:[printf_number_buffer] from printf_number_buffer::@15
[249] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@return
to:printf_number_buffer::@19
printf_number_buffer::@19: scope:[printf_number_buffer] from printf_number_buffer::@20
[250] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@12
to:printf_number_buffer::@return
printf_number_buffer::@12: scope:[printf_number_buffer] from printf_number_buffer::@19
[251] printf_padding::putc#2 = printf_number_buffer::putc#10
[252] printf_padding::length#2 = (char)printf_number_buffer::padding#10
[253] call printf_padding
to:printf_number_buffer::@return
printf_number_buffer::@return: scope:[printf_number_buffer] from printf_number_buffer::@12 printf_number_buffer::@15 printf_number_buffer::@19 printf_number_buffer::@20
[254] return
to:@return
void uctoa(char value , char *buffer , char radix)
uctoa: scope:[uctoa] from printf_schar::@2 printf_uchar::@1
[255] uctoa::value#10 = phi( printf_schar::@2/printf_schar::uvalue#0, printf_uchar::@1/main::uc )
to:uctoa::@1
uctoa::@1: scope:[uctoa] from uctoa uctoa::@4
[256] uctoa::buffer#10 = phi( uctoa::@4/uctoa::buffer#15, uctoa/(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS )
[256] uctoa::started#2 = phi( uctoa::@4/uctoa::started#4, uctoa/0 )
[256] uctoa::value#3 = phi( uctoa::@4/uctoa::value#7, uctoa/uctoa::value#10 )
[256] uctoa::digit#2 = phi( uctoa::@4/uctoa::digit#1, uctoa/0 )
[257] if(uctoa::digit#2<3-1) goto uctoa::@2
to:uctoa::@3
uctoa::@3: scope:[uctoa] from uctoa::@1
[258] *uctoa::buffer#10 = DIGITS[uctoa::value#3]
[259] uctoa::buffer#3 = ++ uctoa::buffer#10
[260] *uctoa::buffer#3 = 0
to:uctoa::@return
uctoa::@return: scope:[uctoa] from uctoa::@3
[261] return
to:@return
uctoa::@2: scope:[uctoa] from uctoa::@1
[262] uctoa::digit_value#0 = RADIX_DECIMAL_VALUES_CHAR[uctoa::digit#2]
[263] if(0!=uctoa::started#2) goto uctoa::@5
to:uctoa::@7
uctoa::@7: scope:[uctoa] from uctoa::@2
[264] if(uctoa::value#3>=uctoa::digit_value#0) goto uctoa::@5
to:uctoa::@4
uctoa::@4: scope:[uctoa] from uctoa::@6 uctoa::@7
[265] uctoa::buffer#15 = phi( uctoa::@7/uctoa::buffer#10, uctoa::@6/uctoa::buffer#4 )
[265] uctoa::started#4 = phi( uctoa::@7/uctoa::started#2, uctoa::@6/1 )
[265] uctoa::value#7 = phi( uctoa::@7/uctoa::value#3, uctoa::@6/uctoa::value#0 )
[266] uctoa::digit#1 = ++ uctoa::digit#2
to:uctoa::@1
uctoa::@5: scope:[uctoa] from uctoa::@2 uctoa::@7
[267] uctoa_append::buffer#0 = uctoa::buffer#10
[268] uctoa_append::value#0 = uctoa::value#3
[269] uctoa_append::sub#0 = uctoa::digit_value#0
[270] call uctoa_append
[271] uctoa_append::return#0 = uctoa_append::value#2
to:uctoa::@6
uctoa::@6: scope:[uctoa] from uctoa::@5
[272] uctoa::value#0 = uctoa_append::return#0
[273] uctoa::buffer#4 = ++ uctoa::buffer#10
to:uctoa::@4
void ultoa(unsigned long value , char *buffer , char radix)
ultoa: scope:[ultoa] from printf_slong::@2 printf_ulong::@1
[274] ultoa::value#10 = phi( printf_slong::@2/printf_slong::uvalue#0, printf_ulong::@1/main::ul )
to:ultoa::@1
ultoa::@1: scope:[ultoa] from ultoa ultoa::@4
[275] ultoa::buffer#10 = phi( ultoa::@4/ultoa::buffer#15, ultoa/(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS )
[275] ultoa::started#2 = phi( ultoa::@4/ultoa::started#4, ultoa/0 )
[275] ultoa::value#3 = phi( ultoa::@4/ultoa::value#7, ultoa/ultoa::value#10 )
[275] ultoa::digit#2 = phi( ultoa::@4/ultoa::digit#1, ultoa/0 )
[276] if(ultoa::digit#2<$a-1) goto ultoa::@2
to:ultoa::@3
ultoa::@3: scope:[ultoa] from ultoa::@1
[277] ultoa::$11 = (char)ultoa::value#3
[278] *ultoa::buffer#10 = DIGITS[ultoa::$11]
[279] ultoa::buffer#3 = ++ ultoa::buffer#10
[280] *ultoa::buffer#3 = 0
to:ultoa::@return
ultoa::@return: scope:[ultoa] from ultoa::@3
[281] return
to:@return
ultoa::@2: scope:[ultoa] from ultoa::@1
[282] ultoa::$10 = ultoa::digit#2 << 2
[283] ultoa::digit_value#0 = RADIX_DECIMAL_VALUES_LONG[ultoa::$10]
[284] if(0!=ultoa::started#2) goto ultoa::@5
to:ultoa::@7
ultoa::@7: scope:[ultoa] from ultoa::@2
[285] if(ultoa::value#3>=ultoa::digit_value#0) goto ultoa::@5
to:ultoa::@4
ultoa::@4: scope:[ultoa] from ultoa::@6 ultoa::@7
[286] ultoa::buffer#15 = phi( ultoa::@7/ultoa::buffer#10, ultoa::@6/ultoa::buffer#4 )
[286] ultoa::started#4 = phi( ultoa::@7/ultoa::started#2, ultoa::@6/1 )
[286] ultoa::value#7 = phi( ultoa::@7/ultoa::value#3, ultoa::@6/ultoa::value#0 )
[287] ultoa::digit#1 = ++ ultoa::digit#2
to:ultoa::@1
ultoa::@5: scope:[ultoa] from ultoa::@2 ultoa::@7
[288] ultoa_append::buffer#0 = ultoa::buffer#10
[289] ultoa_append::value#0 = ultoa::value#3
[290] ultoa_append::sub#0 = ultoa::digit_value#0
[291] call ultoa_append
[292] ultoa_append::return#0 = ultoa_append::value#2
to:ultoa::@6
ultoa::@6: scope:[ultoa] from ultoa::@5
[293] ultoa::value#0 = ultoa_append::return#0
[294] ultoa::buffer#4 = ++ ultoa::buffer#10
to:ultoa::@4
void * memcpy(void *destination , void *source , unsigned int num)
memcpy: scope:[memcpy] from cscroll::@1 cscroll::@2
[295] memcpy::destination#2 = phi( cscroll::@1/(void *)DEFAULT_SCREEN, cscroll::@2/(void *)COLORRAM )
[295] memcpy::source#2 = phi( cscroll::@1/(void *)DEFAULT_SCREEN+$28, cscroll::@2/(void *)COLORRAM+$28 )
[296] memcpy::src_end#0 = (char *)memcpy::source#2 + (unsigned int)$19*$28-$28
[297] memcpy::src#4 = (char *)memcpy::source#2
[298] memcpy::dst#4 = (char *)memcpy::destination#2
to:memcpy::@1
memcpy::@1: scope:[memcpy] from memcpy memcpy::@2
[299] memcpy::dst#2 = phi( memcpy/memcpy::dst#4, memcpy::@2/memcpy::dst#1 )
[299] memcpy::src#2 = phi( memcpy/memcpy::src#4, memcpy::@2/memcpy::src#1 )
[300] if(memcpy::src#2!=memcpy::src_end#0) goto memcpy::@2
to:memcpy::@return
memcpy::@return: scope:[memcpy] from memcpy::@1
[301] return
to:@return
memcpy::@2: scope:[memcpy] from memcpy::@1
[302] *memcpy::dst#2 = *memcpy::src#2
[303] memcpy::dst#1 = ++ memcpy::dst#2
[304] 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
[305] memset::c#4 = phi( cscroll::@3/' ', cscroll::@4/LIGHT_BLUE )
[305] 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
[306] memset::end#0 = (char *)memset::str#3 + $28
[307] memset::dst#4 = (char *)memset::str#3
to:memset::@2
memset::@2: scope:[memset] from memset::@1 memset::@3
[308] memset::dst#2 = phi( memset::@1/memset::dst#4, memset::@3/memset::dst#1 )
[309] if(memset::dst#2!=memset::end#0) goto memset::@3
to:memset::@return
memset::@return: scope:[memset] from memset::@2
[310] return
to:@return
memset::@3: scope:[memset] from memset::@2
[311] *memset::dst#2 = memset::c#4
[312] memset::dst#1 = ++ memset::dst#2
to:memset::@2
unsigned int utoa_append(char *buffer , unsigned int value , unsigned int sub)
utoa_append: scope:[utoa_append] from utoa::@10
[313] phi()
to:utoa_append::@1
utoa_append::@1: scope:[utoa_append] from utoa_append utoa_append::@2
[314] utoa_append::digit#2 = phi( utoa_append/0, utoa_append::@2/utoa_append::digit#1 )
[314] utoa_append::value#2 = phi( utoa_append/utoa_append::value#0, utoa_append::@2/utoa_append::value#1 )
[315] 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
[316] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2]
to:utoa_append::@return
utoa_append::@return: scope:[utoa_append] from utoa_append::@3
[317] return
to:@return
utoa_append::@2: scope:[utoa_append] from utoa_append::@1
[318] utoa_append::digit#1 = ++ utoa_append::digit#2
[319] utoa_append::value#1 = utoa_append::value#2 - utoa_append::sub#0
to:utoa_append::@1
unsigned int strlen(char *str)
strlen: scope:[strlen] from printf_number_buffer::@6
[320] phi()
to:strlen::@1
strlen::@1: scope:[strlen] from strlen strlen::@2
[321] strlen::len#2 = phi( strlen/0, strlen::@2/strlen::len#1 )
[321] strlen::str#2 = phi( strlen/(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS, strlen::@2/strlen::str#0 )
[322] if(0!=*strlen::str#2) goto strlen::@2
to:strlen::@return
strlen::@return: scope:[strlen] from strlen::@1
[323] return
to:@return
strlen::@2: scope:[strlen] from strlen::@1
[324] strlen::len#1 = ++ strlen::len#2
[325] strlen::str#0 = ++ strlen::str#2
to:strlen::@1
void printf_padding(void (*putc)(char) , char pad , char length)
printf_padding: scope:[printf_padding] from printf_number_buffer::@10 printf_number_buffer::@12 printf_number_buffer::@8
[326] printf_padding::putc#5 = phi( printf_number_buffer::@10/printf_padding::putc#1, printf_number_buffer::@12/printf_padding::putc#2, printf_number_buffer::@8/printf_padding::putc#0 )
[326] printf_padding::pad#5 = phi( printf_number_buffer::@10/'0', printf_number_buffer::@12/' ', printf_number_buffer::@8/' ' )
[326] printf_padding::length#4 = phi( printf_number_buffer::@10/printf_padding::length#1, printf_number_buffer::@12/printf_padding::length#2, printf_number_buffer::@8/printf_padding::length#0 )
to:printf_padding::@1
printf_padding::@1: scope:[printf_padding] from printf_padding printf_padding::@3
[327] printf_padding::i#2 = phi( printf_padding/0, printf_padding::@3/printf_padding::i#1 )
[328] if(printf_padding::i#2<printf_padding::length#4) goto printf_padding::@2
to:printf_padding::@return
printf_padding::@return: scope:[printf_padding] from printf_padding::@1
[329] return
to:@return
printf_padding::@2: scope:[printf_padding] from printf_padding::@1
[330] stackpush(char) = printf_padding::pad#5
[331] callexecute *printf_padding::putc#5
sideeffect stackpullbytes(1)
to:printf_padding::@3
printf_padding::@3: scope:[printf_padding] from printf_padding::@2
[333] printf_padding::i#1 = ++ printf_padding::i#2
to:printf_padding::@1
char * strupr(char *str)
strupr: scope:[strupr] from printf_number_buffer::@11
[334] phi()
to:strupr::@1
strupr::@1: scope:[strupr] from strupr strupr::@3
[335] strupr::src#2 = phi( strupr/strupr::str#0, strupr::@3/strupr::src#1 )
[336] if(0!=*strupr::src#2) goto strupr::@2
to:strupr::@return
strupr::@return: scope:[strupr] from strupr::@1
[337] return
to:@return
strupr::@2: scope:[strupr] from strupr::@1
[338] toupper::ch#0 = *strupr::src#2
[339] call toupper
[340] toupper::return#3 = toupper::return#2
to:strupr::@3
strupr::@3: scope:[strupr] from strupr::@2
[341] strupr::$0 = toupper::return#3
[342] *strupr::src#2 = strupr::$0
[343] strupr::src#1 = ++ strupr::src#2
to:strupr::@1
char uctoa_append(char *buffer , char value , char sub)
uctoa_append: scope:[uctoa_append] from uctoa::@5
[344] phi()
to:uctoa_append::@1
uctoa_append::@1: scope:[uctoa_append] from uctoa_append uctoa_append::@2
[345] uctoa_append::digit#2 = phi( uctoa_append/0, uctoa_append::@2/uctoa_append::digit#1 )
[345] uctoa_append::value#2 = phi( uctoa_append/uctoa_append::value#0, uctoa_append::@2/uctoa_append::value#1 )
[346] if(uctoa_append::value#2>=uctoa_append::sub#0) goto uctoa_append::@2
to:uctoa_append::@3
uctoa_append::@3: scope:[uctoa_append] from uctoa_append::@1
[347] *uctoa_append::buffer#0 = DIGITS[uctoa_append::digit#2]
to:uctoa_append::@return
uctoa_append::@return: scope:[uctoa_append] from uctoa_append::@3
[348] return
to:@return
uctoa_append::@2: scope:[uctoa_append] from uctoa_append::@1
[349] uctoa_append::digit#1 = ++ uctoa_append::digit#2
[350] uctoa_append::value#1 = uctoa_append::value#2 - uctoa_append::sub#0
to:uctoa_append::@1
unsigned long ultoa_append(char *buffer , unsigned long value , unsigned long sub)
ultoa_append: scope:[ultoa_append] from ultoa::@5
[351] phi()
to:ultoa_append::@1
ultoa_append::@1: scope:[ultoa_append] from ultoa_append ultoa_append::@2
[352] ultoa_append::digit#2 = phi( ultoa_append/0, ultoa_append::@2/ultoa_append::digit#1 )
[352] ultoa_append::value#2 = phi( ultoa_append/ultoa_append::value#0, ultoa_append::@2/ultoa_append::value#1 )
[353] if(ultoa_append::value#2>=ultoa_append::sub#0) goto ultoa_append::@2
to:ultoa_append::@3
ultoa_append::@3: scope:[ultoa_append] from ultoa_append::@1
[354] *ultoa_append::buffer#0 = DIGITS[ultoa_append::digit#2]
to:ultoa_append::@return
ultoa_append::@return: scope:[ultoa_append] from ultoa_append::@3
[355] return
to:@return
ultoa_append::@2: scope:[ultoa_append] from ultoa_append::@1
[356] ultoa_append::digit#1 = ++ ultoa_append::digit#2
[357] ultoa_append::value#1 = ultoa_append::value#2 - ultoa_append::sub#0
to:ultoa_append::@1
char toupper(char ch)
toupper: scope:[toupper] from strupr::@2
[358] if(toupper::ch#0<'a') goto toupper::@return
to:toupper::@2
toupper::@2: scope:[toupper] from toupper
[359] if(toupper::ch#0<='z') goto toupper::@1
to:toupper::@return
toupper::@1: scope:[toupper] from toupper::@2
[360] toupper::return#0 = toupper::ch#0 + 'A'-'a'
to:toupper::@return
toupper::@return: scope:[toupper] from toupper toupper::@1 toupper::@2
[361] toupper::return#2 = phi( toupper::@1/toupper::return#0, toupper/toupper::ch#0, toupper::@2/toupper::ch#0 )
[362] return
to:@return
VARIABLE REGISTER WEIGHTS
void __start()
void clrscr()
char clrscr::c
char clrscr::c#1 // 20002.0
char clrscr::c#2 // 12501.25
char clrscr::l
char clrscr::l#1 // 2002.0
char clrscr::l#2 // 333.6666666666667
char *clrscr::line_cols
char *clrscr::line_cols#1 // 1001.0
char *clrscr::line_cols#5 // 1500.375
char *clrscr::line_text
char *clrscr::line_text#1 // 667.3333333333334
char *clrscr::line_text#5 // 1714.7142857142858
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 // 50.294117647058826
__loadstore char conio_cursor_y // 644.1800000000001
__loadstore char *conio_line_color // 464.77083333333326
__loadstore char *conio_line_text // 455.28571428571433
__stackcall void cputc(char c)
char cputc::c
char cputc::c#0 // 151.5
void cputln()
void cscroll()
void gotoxy(char x , char y)
char *gotoxy::$5 // 202.0
char *gotoxy::$6 // 202.0
unsigned int gotoxy::$7 // 151.5
unsigned int gotoxy::$8 // 202.0
unsigned int gotoxy::$9 // 202.0
unsigned int gotoxy::line_offset
unsigned int gotoxy::line_offset#0 // 101.0
char gotoxy::x
char gotoxy::y
char gotoxy::y#2 // 71.0
char gotoxy::y#4 // 67.33333333333333
void main()
__loadstore volatile char main::c // 11.0
void * memcpy(void *destination , void *source , unsigned int num)
void *memcpy::destination
void *memcpy::destination#2
char *memcpy::dst
char *memcpy::dst#1 // 1000001.0
char *memcpy::dst#2 // 1033334.6666666667
char *memcpy::dst#4 // 200002.0
unsigned int memcpy::num
void *memcpy::return
void *memcpy::source
void *memcpy::source#2
char *memcpy::src
char *memcpy::src#1 // 2000002.0
char *memcpy::src#2 // 1025001.25
char *memcpy::src#4 // 100001.0
char *memcpy::src_end
char *memcpy::src_end#0 // 137500.25
void * memset(void *str , char c , unsigned int num)
char memset::c
char memset::c#4 // 142857.2857142857
char *memset::dst
char *memset::dst#1 // 2000002.0
char *memset::dst#2 // 1366668.3333333335
char *memset::dst#4 // 200002.0
char *memset::end
char *memset::end#0 // 183333.6666666667
unsigned int memset::num
void *memset::return
void *memset::str
void *memset::str#3
__loadstore struct printf_buffer_number printf_buffer = {}
void printf_number_buffer(void (*putc)(char) , char buffer_sign , char *buffer_digits , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
unsigned int printf_number_buffer::$19 // 1001.0
struct printf_buffer_number printf_number_buffer::buffer
char *printf_number_buffer::buffer_digits
char printf_number_buffer::buffer_sign
char printf_number_buffer::buffer_sign#0 // 202.0
char printf_number_buffer::buffer_sign#1 // 202.0
char printf_number_buffer::buffer_sign#10 // 171.85714285714283
char printf_number_buffer::buffer_sign#2 // 202.0
char printf_number_buffer::buffer_sign#3 // 202.0
char printf_number_buffer::buffer_sign#4 // 202.0
char printf_number_buffer::buffer_sign#5 // 202.0
struct printf_format_number printf_number_buffer::format
char printf_number_buffer::format_justify_left
char printf_number_buffer::format_justify_left#10 // 60.666666666666664
char printf_number_buffer::format_min_length
char printf_number_buffer::format_min_length#10 // 100.1
char printf_number_buffer::format_radix
char printf_number_buffer::format_sign_always
char printf_number_buffer::format_upper_case
char printf_number_buffer::format_upper_case#10 // 35.75
char printf_number_buffer::format_zero_padding
char printf_number_buffer::format_zero_padding#10 // 88.32352941176471
signed char printf_number_buffer::len
signed char printf_number_buffer::len#0 // 1501.5
signed char printf_number_buffer::len#1 // 2002.0
signed char printf_number_buffer::len#2 // 3003.0
signed char printf_number_buffer::padding
signed char printf_number_buffer::padding#1 // 1001.0
signed char printf_number_buffer::padding#10 // 166.83333333333334
void (*printf_number_buffer::putc)(char)
void (*printf_number_buffer::putc#10)(char) // 111.22222222222223
void printf_padding(void (*putc)(char) , char pad , char length)
char printf_padding::i
char printf_padding::i#1 // 200002.0
char printf_padding::i#2 // 100001.0
char printf_padding::length
char printf_padding::length#0 // 2002.0
char printf_padding::length#1 // 2002.0
char printf_padding::length#2 // 2002.0
char printf_padding::length#4 // 20600.8
char printf_padding::pad
char printf_padding::pad#5 // 16666.833333333332
void (*printf_padding::putc)(char)
void (*printf_padding::putc#0)(char) // 1001.0
void (*printf_padding::putc#1)(char) // 1001.0
void (*printf_padding::putc#2)(char) // 1001.0
void (*printf_padding::putc#5)(char) // 30030.0
void printf_schar(void (*putc)(char) , signed char value , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
struct printf_format_number printf_schar::format
char printf_schar::format_justify_left
char printf_schar::format_min_length
char printf_schar::format_radix
char printf_schar::format_sign_always
char printf_schar::format_upper_case
char printf_schar::format_zero_padding
void (*printf_schar::putc)(char)
char printf_schar::uvalue
signed char printf_schar::value
void printf_sint(void (*putc)(char) , int value , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
struct printf_format_number printf_sint::format
char printf_sint::format_justify_left
char printf_sint::format_min_length
char printf_sint::format_radix
char printf_sint::format_sign_always
char printf_sint::format_upper_case
char printf_sint::format_zero_padding
void (*printf_sint::putc)(char)
unsigned int printf_sint::uvalue
int printf_sint::value
void printf_slong(void (*putc)(char) , long value , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
struct printf_format_number printf_slong::format
char printf_slong::format_justify_left
char printf_slong::format_min_length
char printf_slong::format_radix
char printf_slong::format_sign_always
char printf_slong::format_upper_case
char printf_slong::format_zero_padding
void (*printf_slong::putc)(char)
unsigned long printf_slong::uvalue
long printf_slong::value
void printf_str(void (*putc)(char) , const char *s)
char printf_str::c
char printf_str::c#1 // 100001.0
void (*printf_str::putc)(char)
void (*printf_str::putc#0)(char) // 2002.0
void (*printf_str::putc#21)(char) // 10010.0
const char *printf_str::s
const char *printf_str::s#0 // 100001.0
const char *printf_str::s#20 // 155002.0
const char *printf_str::s#21 // 10001.0
void printf_uchar(void (*putc)(char) , char uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
struct printf_format_number printf_uchar::format
char printf_uchar::format_justify_left
char printf_uchar::format_min_length
char printf_uchar::format_radix
char printf_uchar::format_sign_always
char printf_uchar::format_upper_case
char printf_uchar::format_zero_padding
void (*printf_uchar::putc)(char)
char printf_uchar::uvalue
void printf_uint(void (*putc)(char) , unsigned int uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
struct printf_format_number printf_uint::format
char printf_uint::format_justify_left
char printf_uint::format_min_length
char printf_uint::format_radix
char printf_uint::format_radix#2 // 33.666666666666664
char printf_uint::format_sign_always
char printf_uint::format_upper_case
char printf_uint::format_zero_padding
void (*printf_uint::putc)(char)
unsigned int printf_uint::uvalue
unsigned int printf_uint::uvalue#2 // 50.5
void printf_ulong(void (*putc)(char) , unsigned long uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
struct printf_format_number printf_ulong::format
char printf_ulong::format_justify_left
char printf_ulong::format_min_length
char printf_ulong::format_radix
char printf_ulong::format_sign_always
char printf_ulong::format_upper_case
char printf_ulong::format_zero_padding
void (*printf_ulong::putc)(char)
unsigned long printf_ulong::uvalue
unsigned int strlen(char *str)
unsigned int strlen::len
unsigned int strlen::len#1 // 100001.0
unsigned int strlen::len#2 // 50250.75
unsigned int strlen::return
unsigned int strlen::return#2 // 2002.0
char *strlen::str
char *strlen::str#0 // 200002.0
char *strlen::str#2 // 100001.0
char * strupr(char *str)
char strupr::$0 // 200002.0
char *strupr::return
char *strupr::src
char *strupr::src#1 // 200002.0
char *strupr::src#2 // 71429.28571428571
char *strupr::str
char toupper(char ch)
char toupper::ch
char toupper::ch#0 // 1700002.0000000002
char toupper::return
char toupper::return#0 // 2000002.0
char toupper::return#2 // 1033334.6666666667
char toupper::return#3 // 200002.0
void uctoa(char value , char *buffer , char radix)
char *uctoa::buffer
char *uctoa::buffer#10 // 3500.4999999999995
char *uctoa::buffer#15 // 15001.5
char *uctoa::buffer#3 // 2002.0
char *uctoa::buffer#4 // 20002.0
char uctoa::digit
char uctoa::digit#1 // 20002.0
char uctoa::digit#2 // 3077.230769230769
char uctoa::digit_value
char uctoa::digit_value#0 // 6000.6
char *uctoa::digit_values
char uctoa::max_digits
char uctoa::radix
char uctoa::started
char uctoa::started#2 // 6000.6
char uctoa::started#4 // 10001.0
char uctoa::value
char uctoa::value#0 // 10001.0
char uctoa::value#10 // 1001.0
char uctoa::value#3 // 7000.999999999999
char uctoa::value#7 // 15001.5
char uctoa_append(char *buffer , char value , char sub)
char *uctoa_append::buffer
char *uctoa_append::buffer#0 // 13750.25
char uctoa_append::digit
char uctoa_append::digit#1 // 1.0000001E7
char uctoa_append::digit#2 // 1.00500015E7
char uctoa_append::return
char uctoa_append::return#0 // 20002.0
char uctoa_append::sub
char uctoa_append::sub#0 // 3335000.5
char uctoa_append::value
char uctoa_append::value#0 // 36667.33333333333
char uctoa_append::value#1 // 2.0000002E7
char uctoa_append::value#2 // 5018334.166666666
void ultoa(unsigned long value , char *buffer , char radix)
char ultoa::$10 // 20002.0
char ultoa::$11 // 2002.0
char *ultoa::buffer
char *ultoa::buffer#10 // 3000.4285714285716
char *ultoa::buffer#15 // 15001.5
char *ultoa::buffer#3 // 2002.0
char *ultoa::buffer#4 // 20002.0
char ultoa::digit
char ultoa::digit#1 // 20002.0
char ultoa::digit#2 // 2857.4285714285716
unsigned long ultoa::digit_value
unsigned long ultoa::digit_value#0 // 6000.6
unsigned long *ultoa::digit_values
char ultoa::max_digits
char ultoa::radix
char ultoa::started
char ultoa::started#2 // 5000.5
char ultoa::started#4 // 10001.0
unsigned long ultoa::value
unsigned long ultoa::value#0 // 10001.0
unsigned long ultoa::value#10 // 1001.0
unsigned long ultoa::value#3 // 5857.857142857143
unsigned long ultoa::value#7 // 15001.5
unsigned long ultoa_append(char *buffer , unsigned long value , unsigned long sub)
char *ultoa_append::buffer
char *ultoa_append::buffer#0 // 13750.25
char ultoa_append::digit
char ultoa_append::digit#1 // 1.0000001E7
char ultoa_append::digit#2 // 1.00500015E7
unsigned long ultoa_append::return
unsigned long ultoa_append::return#0 // 20002.0
unsigned long ultoa_append::sub
unsigned long ultoa_append::sub#0 // 3335000.5
unsigned long ultoa_append::value
unsigned long ultoa_append::value#0 // 36667.33333333333
unsigned long ultoa_append::value#1 // 2.0000002E7
unsigned long ultoa_append::value#2 // 5018334.166666666
void utoa(unsigned int value , char *buffer , char radix)
char utoa::$10 // 20002.0
char utoa::$11 // 2002.0
char utoa::$4 // 20002.0
char *utoa::buffer
char *utoa::buffer#10 // 2800.4000000000005
char *utoa::buffer#15 // 15001.5
char *utoa::buffer#3 // 2002.0
char *utoa::buffer#4 // 20002.0
char utoa::digit
char utoa::digit#1 // 20002.0
char utoa::digit#2 // 2666.9333333333334
unsigned int utoa::digit_value
unsigned int utoa::digit_value#0 // 6000.6
unsigned int *utoa::digit_values
unsigned int *utoa::digit_values#8 // 588.2941176470588
char utoa::max_digits
char utoa::max_digits#7 // 588.2941176470588
char utoa::radix
char utoa::radix#1 // 202.0
char utoa::radix#2 // 1026.25
char utoa::started
char utoa::started#2 // 4286.142857142857
char utoa::started#4 // 10001.0
unsigned int utoa::value
unsigned int utoa::value#0 // 10001.0
unsigned int utoa::value#10 // 183.66666666666669
unsigned int utoa::value#2 // 101.0
unsigned int utoa::value#3 // 5125.625
unsigned int utoa::value#7 // 15001.5
unsigned int utoa_append(char *buffer , unsigned int value , unsigned int sub)
char *utoa_append::buffer
char *utoa_append::buffer#0 // 13750.25
char utoa_append::digit
char utoa_append::digit#1 // 1.0000001E7
char utoa_append::digit#2 // 1.00500015E7
unsigned int utoa_append::return
unsigned int utoa_append::return#0 // 20002.0
unsigned int utoa_append::sub
unsigned int utoa_append::sub#0 // 3335000.5
unsigned int utoa_append::value
unsigned int utoa_append::value#0 // 36667.33333333333
unsigned int utoa_append::value#1 // 2.0000002E7
unsigned int utoa_append::value#2 // 5018334.166666666
Initial phi equivalence classes
[ conio_c64_init::line#2 conio_c64_init::line#0 ]
[ gotoxy::y#4 gotoxy::y#2 ]
[ clrscr::l#2 clrscr::l#1 ]
[ clrscr::line_text#5 clrscr::line_text#1 ]
[ clrscr::line_cols#5 clrscr::line_cols#1 ]
[ clrscr::c#2 clrscr::c#1 ]
[ printf_str::putc#21 printf_str::putc#0 ]
[ printf_str::s#20 printf_str::s#21 printf_str::s#0 ]
[ printf_uint::uvalue#2 ]
[ printf_uint::format_radix#2 ]
[ utoa::radix#2 utoa::radix#1 ]
[ utoa::max_digits#7 ]
[ utoa::digit_values#8 ]
[ utoa::digit#2 utoa::digit#1 ]
[ utoa::value#3 utoa::value#7 utoa::value#10 utoa::value#2 utoa::value#0 ]
[ utoa::started#2 utoa::started#4 ]
[ utoa::buffer#10 utoa::buffer#15 utoa::buffer#4 ]
[ printf_number_buffer::format_min_length#10 ]
[ printf_number_buffer::format_justify_left#10 ]
[ printf_number_buffer::format_zero_padding#10 ]
[ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#4 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#0 printf_number_buffer::buffer_sign#5 printf_number_buffer::buffer_sign#3 printf_number_buffer::buffer_sign#1 ]
[ printf_number_buffer::putc#10 ]
[ printf_number_buffer::format_upper_case#10 ]
[ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ]
[ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ]
[ uctoa::digit#2 uctoa::digit#1 ]
[ uctoa::value#3 uctoa::value#7 uctoa::value#10 uctoa::value#0 ]
[ uctoa::started#2 uctoa::started#4 ]
[ uctoa::buffer#10 uctoa::buffer#15 uctoa::buffer#4 ]
[ ultoa::digit#2 ultoa::digit#1 ]
[ ultoa::value#3 ultoa::value#7 ultoa::value#10 ultoa::value#0 ]
[ ultoa::started#2 ultoa::started#4 ]
[ ultoa::buffer#10 ultoa::buffer#15 ultoa::buffer#4 ]
[ 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::dst#2 memset::dst#4 memset::dst#1 ]
[ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ]
[ utoa_append::digit#2 utoa_append::digit#1 ]
[ strlen::str#2 strlen::str#0 ]
[ strlen::len#2 strlen::len#1 ]
[ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ]
[ printf_padding::pad#5 ]
[ printf_padding::putc#5 printf_padding::putc#1 printf_padding::putc#2 printf_padding::putc#0 ]
[ printf_padding::i#2 printf_padding::i#1 ]
[ strupr::src#2 strupr::src#1 ]
[ uctoa_append::value#2 uctoa_append::value#0 uctoa_append::value#1 ]
[ uctoa_append::digit#2 uctoa_append::digit#1 ]
[ ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ]
[ ultoa_append::digit#2 ultoa_append::digit#1 ]
[ toupper::return#2 toupper::return#0 toupper::ch#0 ]
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 cputc::c#0 to live range equivalence class [ cputc::c#0 ]
Added variable main::c to live range equivalence class [ main::c ]
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 printf_str::c#1 to live range equivalence class [ printf_str::c#1 ]
Added variable utoa::$4 to live range equivalence class [ utoa::$4 ]
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 strlen::return#2 to live range equivalence class [ strlen::return#2 ]
Added variable printf_number_buffer::$19 to live range equivalence class [ printf_number_buffer::$19 ]
Added variable uctoa::buffer#3 to live range equivalence class [ uctoa::buffer#3 ]
Added variable uctoa::digit_value#0 to live range equivalence class [ uctoa::digit_value#0 ]
Added variable uctoa_append::buffer#0 to live range equivalence class [ uctoa_append::buffer#0 ]
Added variable uctoa_append::sub#0 to live range equivalence class [ uctoa_append::sub#0 ]
Added variable uctoa_append::return#0 to live range equivalence class [ uctoa_append::return#0 ]
Added variable ultoa::$11 to live range equivalence class [ ultoa::$11 ]
Added variable ultoa::buffer#3 to live range equivalence class [ ultoa::buffer#3 ]
Added variable ultoa::$10 to live range equivalence class [ ultoa::$10 ]
Added variable ultoa::digit_value#0 to live range equivalence class [ ultoa::digit_value#0 ]
Added variable ultoa_append::buffer#0 to live range equivalence class [ ultoa_append::buffer#0 ]
Added variable ultoa_append::sub#0 to live range equivalence class [ ultoa_append::sub#0 ]
Added variable ultoa_append::return#0 to live range equivalence class [ ultoa_append::return#0 ]
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 ]
Added variable toupper::return#3 to live range equivalence class [ toupper::return#3 ]
Added variable strupr::$0 to live range equivalence class [ strupr::$0 ]
Added variable printf_buffer to live range equivalence class [ printf_buffer ]
Complete equivalence classes
[ conio_c64_init::line#2 conio_c64_init::line#0 ]
[ gotoxy::y#4 gotoxy::y#2 ]
[ clrscr::l#2 clrscr::l#1 ]
[ clrscr::line_text#5 clrscr::line_text#1 ]
[ clrscr::line_cols#5 clrscr::line_cols#1 ]
[ clrscr::c#2 clrscr::c#1 ]
[ printf_str::putc#21 printf_str::putc#0 ]
[ printf_str::s#20 printf_str::s#21 printf_str::s#0 ]
[ printf_uint::uvalue#2 ]
[ printf_uint::format_radix#2 ]
[ utoa::radix#2 utoa::radix#1 ]
[ utoa::max_digits#7 ]
[ utoa::digit_values#8 ]
[ utoa::digit#2 utoa::digit#1 ]
[ utoa::value#3 utoa::value#7 utoa::value#10 utoa::value#2 utoa::value#0 ]
[ utoa::started#2 utoa::started#4 ]
[ utoa::buffer#10 utoa::buffer#15 utoa::buffer#4 ]
[ printf_number_buffer::format_min_length#10 ]
[ printf_number_buffer::format_justify_left#10 ]
[ printf_number_buffer::format_zero_padding#10 ]
[ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#4 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#0 printf_number_buffer::buffer_sign#5 printf_number_buffer::buffer_sign#3 printf_number_buffer::buffer_sign#1 ]
[ printf_number_buffer::putc#10 ]
[ printf_number_buffer::format_upper_case#10 ]
[ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ]
[ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ]
[ uctoa::digit#2 uctoa::digit#1 ]
[ uctoa::value#3 uctoa::value#7 uctoa::value#10 uctoa::value#0 ]
[ uctoa::started#2 uctoa::started#4 ]
[ uctoa::buffer#10 uctoa::buffer#15 uctoa::buffer#4 ]
[ ultoa::digit#2 ultoa::digit#1 ]
[ ultoa::value#3 ultoa::value#7 ultoa::value#10 ultoa::value#0 ]
[ ultoa::started#2 ultoa::started#4 ]
[ ultoa::buffer#10 ultoa::buffer#15 ultoa::buffer#4 ]
[ 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::dst#2 memset::dst#4 memset::dst#1 ]
[ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ]
[ utoa_append::digit#2 utoa_append::digit#1 ]
[ strlen::str#2 strlen::str#0 ]
[ strlen::len#2 strlen::len#1 ]
[ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ]
[ printf_padding::pad#5 ]
[ printf_padding::putc#5 printf_padding::putc#1 printf_padding::putc#2 printf_padding::putc#0 ]
[ printf_padding::i#2 printf_padding::i#1 ]
[ strupr::src#2 strupr::src#1 ]
[ uctoa_append::value#2 uctoa_append::value#0 uctoa_append::value#1 ]
[ uctoa_append::digit#2 uctoa_append::digit#1 ]
[ ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ]
[ ultoa_append::digit#2 ultoa_append::digit#1 ]
[ toupper::return#2 toupper::return#0 toupper::ch#0 ]
[ conio_cursor_x ]
[ conio_cursor_y ]
[ conio_line_text ]
[ conio_line_color ]
[ cputc::c#0 ]
[ main::c ]
[ gotoxy::$7 ]
[ gotoxy::$8 ]
[ gotoxy::$9 ]
[ gotoxy::line_offset#0 ]
[ gotoxy::$5 ]
[ gotoxy::$6 ]
[ printf_str::c#1 ]
[ utoa::$4 ]
[ utoa::$11 ]
[ utoa::buffer#3 ]
[ utoa::$10 ]
[ utoa::digit_value#0 ]
[ utoa_append::buffer#0 ]
[ utoa_append::sub#0 ]
[ utoa_append::return#0 ]
[ strlen::return#2 ]
[ printf_number_buffer::$19 ]
[ uctoa::buffer#3 ]
[ uctoa::digit_value#0 ]
[ uctoa_append::buffer#0 ]
[ uctoa_append::sub#0 ]
[ uctoa_append::return#0 ]
[ ultoa::$11 ]
[ ultoa::buffer#3 ]
[ ultoa::$10 ]
[ ultoa::digit_value#0 ]
[ ultoa_append::buffer#0 ]
[ ultoa_append::sub#0 ]
[ ultoa_append::return#0 ]
[ memcpy::src_end#0 ]
[ memset::end#0 ]
[ toupper::return#3 ]
[ strupr::$0 ]
[ printf_buffer ]
Allocated zp[1]:2 [ conio_c64_init::line#2 conio_c64_init::line#0 ]
Allocated zp[1]:3 [ gotoxy::y#4 gotoxy::y#2 ]
Allocated zp[1]:4 [ clrscr::l#2 clrscr::l#1 ]
Allocated zp[2]:5 [ clrscr::line_text#5 clrscr::line_text#1 ]
Allocated zp[2]:7 [ clrscr::line_cols#5 clrscr::line_cols#1 ]
Allocated zp[1]:9 [ clrscr::c#2 clrscr::c#1 ]
Allocated zp[2]:10 [ printf_str::putc#21 printf_str::putc#0 ]
Allocated zp[2]:12 [ printf_str::s#20 printf_str::s#21 printf_str::s#0 ]
Allocated zp[2]:14 [ printf_uint::uvalue#2 ]
Allocated zp[1]:16 [ printf_uint::format_radix#2 ]
Allocated zp[1]:17 [ utoa::radix#2 utoa::radix#1 ]
Allocated zp[1]:18 [ utoa::max_digits#7 ]
Allocated zp[2]:19 [ utoa::digit_values#8 ]
Allocated zp[1]:21 [ utoa::digit#2 utoa::digit#1 ]
Allocated zp[2]:22 [ utoa::value#3 utoa::value#7 utoa::value#10 utoa::value#2 utoa::value#0 ]
Allocated zp[1]:24 [ utoa::started#2 utoa::started#4 ]
Allocated zp[2]:25 [ utoa::buffer#10 utoa::buffer#15 utoa::buffer#4 ]
Allocated zp[1]:27 [ printf_number_buffer::format_min_length#10 ]
Allocated zp[1]:28 [ printf_number_buffer::format_justify_left#10 ]
Allocated zp[1]:29 [ printf_number_buffer::format_zero_padding#10 ]
Allocated zp[1]:30 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#4 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#0 printf_number_buffer::buffer_sign#5 printf_number_buffer::buffer_sign#3 printf_number_buffer::buffer_sign#1 ]
Allocated zp[2]:31 [ printf_number_buffer::putc#10 ]
Allocated zp[1]:33 [ printf_number_buffer::format_upper_case#10 ]
Allocated zp[1]:34 [ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ]
Allocated zp[1]:35 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ]
Allocated zp[1]:36 [ uctoa::digit#2 uctoa::digit#1 ]
Allocated zp[1]:37 [ uctoa::value#3 uctoa::value#7 uctoa::value#10 uctoa::value#0 ]
Allocated zp[1]:38 [ uctoa::started#2 uctoa::started#4 ]
Allocated zp[2]:39 [ uctoa::buffer#10 uctoa::buffer#15 uctoa::buffer#4 ]
Allocated zp[1]:41 [ ultoa::digit#2 ultoa::digit#1 ]
Allocated zp[4]:42 [ ultoa::value#3 ultoa::value#7 ultoa::value#10 ultoa::value#0 ]
Allocated zp[1]:46 [ ultoa::started#2 ultoa::started#4 ]
Allocated zp[2]:47 [ ultoa::buffer#10 ultoa::buffer#15 ultoa::buffer#4 ]
Allocated zp[2]:49 [ memcpy::source#2 ]
Allocated zp[2]:51 [ memcpy::destination#2 ]
Allocated zp[2]:53 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 ]
Allocated zp[2]:55 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ]
Allocated zp[2]:57 [ memset::str#3 ]
Allocated zp[1]:59 [ memset::c#4 ]
Allocated zp[2]:60 [ memset::dst#2 memset::dst#4 memset::dst#1 ]
Allocated zp[2]:62 [ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ]
Allocated zp[1]:64 [ utoa_append::digit#2 utoa_append::digit#1 ]
Allocated zp[2]:65 [ strlen::str#2 strlen::str#0 ]
Allocated zp[2]:67 [ strlen::len#2 strlen::len#1 ]
Allocated zp[1]:69 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ]
Allocated zp[1]:70 [ printf_padding::pad#5 ]
Allocated zp[2]:71 [ printf_padding::putc#5 printf_padding::putc#1 printf_padding::putc#2 printf_padding::putc#0 ]
Allocated zp[1]:73 [ printf_padding::i#2 printf_padding::i#1 ]
Allocated zp[2]:74 [ strupr::src#2 strupr::src#1 ]
Allocated zp[1]:76 [ uctoa_append::value#2 uctoa_append::value#0 uctoa_append::value#1 ]
Allocated zp[1]:77 [ uctoa_append::digit#2 uctoa_append::digit#1 ]
Allocated zp[4]:78 [ ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ]
Allocated zp[1]:82 [ ultoa_append::digit#2 ultoa_append::digit#1 ]
Allocated zp[1]:83 [ toupper::return#2 toupper::return#0 toupper::ch#0 ]
Allocated zp[1]:84 [ conio_cursor_x ]
Allocated zp[1]:85 [ conio_cursor_y ]
Allocated zp[2]:86 [ conio_line_text ]
Allocated zp[2]:88 [ conio_line_color ]
Allocated zp[1]:90 [ cputc::c#0 ]
Allocated zp[1]:91 [ main::c ]
Allocated zp[2]:92 [ gotoxy::$7 ]
Allocated zp[2]:94 [ gotoxy::$8 ]
Allocated zp[2]:96 [ gotoxy::$9 ]
Allocated zp[2]:98 [ gotoxy::line_offset#0 ]
Allocated zp[2]:100 [ gotoxy::$5 ]
Allocated zp[2]:102 [ gotoxy::$6 ]
Allocated zp[1]:104 [ printf_str::c#1 ]
Allocated zp[1]:105 [ utoa::$4 ]
Allocated zp[1]:106 [ utoa::$11 ]
Allocated zp[2]:107 [ utoa::buffer#3 ]
Allocated zp[1]:109 [ utoa::$10 ]
Allocated zp[2]:110 [ utoa::digit_value#0 ]
Allocated zp[2]:112 [ utoa_append::buffer#0 ]
Allocated zp[2]:114 [ utoa_append::sub#0 ]
Allocated zp[2]:116 [ utoa_append::return#0 ]
Allocated zp[2]:118 [ strlen::return#2 ]
Allocated zp[2]:120 [ printf_number_buffer::$19 ]
Allocated zp[2]:122 [ uctoa::buffer#3 ]
Allocated zp[1]:124 [ uctoa::digit_value#0 ]
Allocated zp[2]:125 [ uctoa_append::buffer#0 ]
Allocated zp[1]:127 [ uctoa_append::sub#0 ]
Allocated zp[1]:128 [ uctoa_append::return#0 ]
Allocated zp[1]:129 [ ultoa::$11 ]
Allocated zp[2]:130 [ ultoa::buffer#3 ]
Allocated zp[1]:132 [ ultoa::$10 ]
Allocated zp[4]:133 [ ultoa::digit_value#0 ]
Allocated zp[2]:137 [ ultoa_append::buffer#0 ]
Allocated zp[4]:139 [ ultoa_append::sub#0 ]
Allocated zp[4]:143 [ ultoa_append::return#0 ]
Allocated zp[2]:147 [ memcpy::src_end#0 ]
Allocated zp[2]:149 [ memset::end#0 ]
Allocated zp[1]:151 [ toupper::return#3 ]
Allocated zp[1]:152 [ strupr::$0 ]
Allocated mem[12] [ printf_buffer ]
REGISTER UPLIFT POTENTIAL REGISTERS
Statement [1] conio_cursor_x = 0 [ printf_buffer ] ( [ printf_buffer ] { } ) always clobbers reg byte a
Statement [2] conio_cursor_y = 0 [ printf_buffer ] ( [ printf_buffer ] { } ) always clobbers reg byte a
Statement [3] conio_line_text = DEFAULT_SCREEN [ printf_buffer ] ( [ printf_buffer ] { } ) always clobbers reg byte a
Statement [4] conio_line_color = COLORRAM [ printf_buffer ] ( [ printf_buffer ] { } ) always clobbers reg byte a
Statement [16] cputc::c#0 = stackidx(char,cputc::OFFSET_STACK_C) [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color cputc::c#0 ] ( [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color cputc::c#0 ] { } main:7::cputc:32 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color cputc::c#0 ] { } main:7::cputc:44 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color cputc::c#0 ] { } ) always clobbers reg byte a reg byte x
Statement [18] conio_line_text[conio_cursor_x] = cputc::c#0 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] ( [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte y
Statement [19] conio_line_color[conio_cursor_x] = LIGHT_BLUE [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] ( [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a reg byte y
Statement [21] if(conio_cursor_x!=$28) goto cputc::@return [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] ( [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement [29] main::c = 'x' [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color main::c printf_buffer ] ( main:7 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color main::c printf_buffer ] { } ) always clobbers reg byte a
Statement [31] stackpush(char) = main::c [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] ( main:7 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { } ) always clobbers reg byte a
Statement sideeffect stackpullbytes(1) always clobbers reg byte a
Statement [43] stackpush(char) = '%' [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] ( main:7 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { } ) always clobbers reg byte a
Statement sideeffect stackpullbytes(1) always clobbers reg byte a
Statement [87] conio_cursor_x = gotoxy::x#2 [ gotoxy::y#4 ] ( gotoxy:14 [ gotoxy::y#4 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::y#4 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:3 [ gotoxy::y#4 gotoxy::y#2 ]
Statement [89] gotoxy::$7 = (unsigned int)gotoxy::y#4 [ gotoxy::$7 ] ( gotoxy:14 [ gotoxy::$7 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::$7 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [90] gotoxy::$8 = gotoxy::$7 << 2 [ gotoxy::$7 gotoxy::$8 ] ( gotoxy:14 [ gotoxy::$7 gotoxy::$8 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::$7 gotoxy::$8 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [91] gotoxy::$9 = gotoxy::$8 + gotoxy::$7 [ gotoxy::$9 ] ( gotoxy:14 [ gotoxy::$9 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::$9 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [92] gotoxy::line_offset#0 = gotoxy::$9 << 3 [ gotoxy::line_offset#0 ] ( gotoxy:14 [ gotoxy::line_offset#0 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::line_offset#0 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [93] gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0 [ gotoxy::line_offset#0 gotoxy::$5 ] ( gotoxy:14 [ gotoxy::line_offset#0 gotoxy::$5 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::line_offset#0 gotoxy::$5 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [94] conio_line_text = gotoxy::$5 [ gotoxy::line_offset#0 ] ( gotoxy:14 [ gotoxy::line_offset#0 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::line_offset#0 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [95] gotoxy::$6 = COLORRAM + gotoxy::line_offset#0 [ gotoxy::$6 ] ( gotoxy:14 [ gotoxy::$6 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::$6 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [96] conio_line_color = gotoxy::$6 [ ] ( gotoxy:14 [ ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [98] conio_line_text = conio_line_text + $28 [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23 [ conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:23 [ printf_buffer conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:23 [ printf_buffer conio_cursor_y conio_line_text conio_line_color ] { } cputln:26 [ conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:26 [ printf_buffer conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:26 [ printf_buffer conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement [99] conio_line_color = conio_line_color + $28 [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23 [ conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:23 [ printf_buffer conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:23 [ printf_buffer conio_cursor_y conio_line_text conio_line_color ] { } cputln:26 [ conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:26 [ printf_buffer conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:26 [ printf_buffer conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement [100] conio_cursor_x = 0 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] ( cputln:23 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:23 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:23 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } cputln:26 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:26 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:26 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement [107] conio_cursor_x = 0 [ conio_cursor_x ] ( main:7::clrscr:28 [ printf_buffer conio_cursor_x ] { } ) always clobbers reg byte a
Statement [108] conio_cursor_y = 0 [ conio_cursor_x conio_cursor_y ] ( main:7::clrscr:28 [ printf_buffer conio_cursor_x conio_cursor_y ] { } ) always clobbers reg byte a
Statement [109] conio_line_text = DEFAULT_SCREEN [ conio_cursor_x conio_cursor_y conio_line_text ] ( main:7::clrscr:28 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text ] { } ) always clobbers reg byte a
Statement [110] conio_line_color = COLORRAM [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] ( main:7::clrscr:28 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement [114] clrscr::line_text#1 = clrscr::line_text#5 + $28 [ clrscr::l#2 clrscr::line_cols#5 clrscr::line_text#1 ] ( main:7::clrscr:28 [ printf_buffer clrscr::l#2 clrscr::line_cols#5 clrscr::line_text#1 ] { } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:4 [ clrscr::l#2 clrscr::l#1 ]
Statement [115] clrscr::line_cols#1 = clrscr::line_cols#5 + $28 [ clrscr::l#2 clrscr::line_text#1 clrscr::line_cols#1 ] ( main:7::clrscr:28 [ printf_buffer clrscr::l#2 clrscr::line_text#1 clrscr::line_cols#1 ] { } ) always clobbers reg byte a
Statement [117] clrscr::line_text#5[clrscr::c#2] = ' ' [ clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] ( main:7::clrscr:28 [ printf_buffer clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] { } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:9 [ clrscr::c#2 clrscr::c#1 ]
Statement [118] clrscr::line_cols#5[clrscr::c#2] = LIGHT_BLUE [ clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] ( main:7::clrscr:28 [ printf_buffer clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] { } ) always clobbers reg byte a
Statement [122] printf_str::c#1 = *printf_str::s#20 [ printf_str::s#20 printf_str::c#1 printf_buffer ] ( main:7::printf_str:30 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color main::c printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:34 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:36 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:40 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:42 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:46 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:48 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:52 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:54 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:58 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:60 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:64 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:66 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:70 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:72 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:76 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:78 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:82 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_uint:38::printf_number_buffer:135::printf_str:247 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#20 printf_str::c#1 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#20 printf_str::c#1 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#20 printf_str::c#1 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#20 printf_str::c#1 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#20 printf_str::c#1 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#20 printf_str::c#1 printf_buffer ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#20 printf_str::c#1 printf_buffer ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } ) always clobbers reg byte a reg byte y
Removing always clobbered register reg byte a as potential for zp[1]:28 [ printf_number_buffer::format_justify_left#10 ]
Removing always clobbered register reg byte y as potential for zp[1]:28 [ printf_number_buffer::format_justify_left#10 ]
Removing always clobbered register reg byte a as potential for zp[1]:29 [ printf_number_buffer::format_zero_padding#10 ]
Removing always clobbered register reg byte y as potential for zp[1]:29 [ printf_number_buffer::format_zero_padding#10 ]
Removing always clobbered register reg byte a as potential for zp[1]:35 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:35 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ]
Statement [127] callexecute *printf_str::putc#21 [ printf_str::s#0 printf_buffer ] ( main:7::printf_str:30 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color main::c printf_str::s#0 printf_buffer ] { } main:7::printf_str:34 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::s#0 printf_buffer ] { } main:7::printf_str:36 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::s#0 printf_buffer ] { } main:7::printf_str:40 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::s#0 printf_buffer ] { } main:7::printf_str:42 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::s#0 printf_buffer ] { } main:7::printf_str:46 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:48 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:52 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:54 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:58 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:60 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:64 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:66 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:70 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:72 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:76 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:78 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:82 [ printf_str::s#0 printf_buffer ] { } main:7::printf_uint:38::printf_number_buffer:135::printf_str:247 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } ) always clobbers reg byte a reg byte x reg byte y
Removing always clobbered register reg byte x as potential for zp[1]:28 [ printf_number_buffer::format_justify_left#10 ]
Removing always clobbered register reg byte x as potential for zp[1]:29 [ printf_number_buffer::format_zero_padding#10 ]
Removing always clobbered register reg byte x as potential for zp[1]:35 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ]
Statement sideeffect stackpullbytes(1) always clobbers reg byte a
Statement [130] *((char *)&printf_buffer) = 0 [ printf_uint::uvalue#2 printf_uint::format_radix#2 printf_buffer ] ( main:7::printf_uint:38 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_uint::uvalue#2 printf_uint::format_radix#2 printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68 [ printf_uint::uvalue#2 printf_uint::format_radix#2 printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:16 [ printf_uint::format_radix#2 ]
Statement [131] utoa::value#2 = printf_uint::uvalue#2 [ printf_uint::format_radix#2 printf_buffer utoa::value#2 ] ( main:7::printf_uint:38 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_uint::format_radix#2 printf_buffer utoa::value#2 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68 [ printf_uint::format_radix#2 printf_buffer utoa::value#2 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } ) always clobbers reg byte a
Statement [137] *((char *)&printf_buffer) = 0 [ printf_buffer ] ( main:7::printf_schar:50 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [138] *((char *)&printf_buffer) = '-' [ printf_buffer ] ( main:7::printf_schar:50 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [145] *((char *)&printf_buffer) = 0 [ printf_buffer ] ( main:7::printf_uchar:56 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [150] *((char *)&printf_buffer) = 0 [ printf_buffer ] ( main:7::printf_sint:62 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [151] *((char *)&printf_buffer) = '-' [ printf_buffer ] ( main:7::printf_sint:62 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [157] *((char *)&printf_buffer) = 0 [ printf_buffer ] ( main:7::printf_slong:74 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [158] *((char *)&printf_buffer) = '-' [ printf_buffer ] ( main:7::printf_slong:74 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [165] *((char *)&printf_buffer) = 0 [ printf_buffer ] ( main:7::printf_ulong:80 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [170] if(conio_cursor_y!=$19) goto cscroll::@return [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23::cscroll:102 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:23::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:23::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } cputln:26::cscroll:102 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:26::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:26::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement [179] conio_line_text = conio_line_text - $28 [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23::cscroll:102 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:23::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:23::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } cputln:26::cscroll:102 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:26::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:26::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement [180] conio_line_color = conio_line_color - $28 [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23::cscroll:102 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:23::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:23::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } cputln:26::cscroll:102 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:26::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:26::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement [188] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS) = 'e' [ printf_buffer ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [189] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1) = 'r' [ printf_buffer ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [190] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2) = 'r' [ printf_buffer ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [191] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3) = 0 [ printf_buffer ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [198] *utoa::buffer#10 = DIGITS[utoa::$11] [ printf_buffer utoa::buffer#10 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::buffer#10 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer utoa::buffer#10 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer utoa::buffer#10 ] { } ) always clobbers reg byte a reg byte y
Statement [199] utoa::buffer#3 = ++ utoa::buffer#10 [ printf_buffer utoa::buffer#3 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::buffer#3 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer utoa::buffer#3 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer utoa::buffer#3 ] { } ) always clobbers reg byte a
Statement [200] *utoa::buffer#3 = 0 [ printf_buffer ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer ] { } ) always clobbers reg byte a reg byte y
Statement [201] utoa::$10 = utoa::digit#2 << 1 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::$10 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::$10 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::$10 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::$10 ] { } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:18 [ utoa::max_digits#7 ]
Removing always clobbered register reg byte a as potential for zp[1]:21 [ utoa::digit#2 utoa::digit#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:24 [ utoa::started#2 utoa::started#4 ]
Statement [202] utoa::digit_value#0 = utoa::digit_values#8[utoa::$10] [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { } ) always clobbers reg byte a reg byte y
Removing always clobbered register reg byte y as potential for zp[1]:18 [ utoa::max_digits#7 ]
Removing always clobbered register reg byte y as potential for zp[1]:21 [ utoa::digit#2 utoa::digit#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:24 [ utoa::started#2 utoa::started#4 ]
Statement [204] if(utoa::value#3>=utoa::digit_value#0) goto utoa::@10 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { } ) always clobbers reg byte a
Statement [207] utoa_append::buffer#0 = utoa::buffer#10 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_uint:68::utoa:133 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_sint:62::utoa:153 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 ] { { 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 [208] utoa_append::value#0 = utoa::value#3 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_uint:68::utoa:133 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_sint:62::utoa:153 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { 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 [209] utoa_append::sub#0 = utoa::digit_value#0 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_uint:68::utoa:133 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_sint:62::utoa:153 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { 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 [211] utoa_append::return#0 = utoa_append::value#2 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::return#0 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::return#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_uint:68::utoa:133 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::return#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_sint:62::utoa:153 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::return#0 ] { { 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 [212] utoa::value#0 = utoa_append::return#0 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa::value#0 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa::value#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa::value#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa::value#0 ] { } ) always clobbers reg byte a
Statement [218] strlen::return#2 = strlen::len#2 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { strlen::return#2 = strlen::len#2 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { strlen::return#2 = strlen::len#2 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { strlen::return#2 = strlen::len#2 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { strlen::return#2 = strlen::len#2 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { strlen::return#2 = strlen::len#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:27 [ printf_number_buffer::format_min_length#10 ]
Removing always clobbered register reg byte a as potential for zp[1]:30 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#4 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#0 printf_number_buffer::buffer_sign#5 printf_number_buffer::buffer_sign#3 printf_number_buffer::buffer_sign#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:33 [ printf_number_buffer::format_upper_case#10 ]
Statement [219] printf_number_buffer::$19 = strlen::return#2 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [224] printf_number_buffer::padding#1 = (signed char)printf_number_buffer::format_min_length#10 - printf_number_buffer::len#2 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [225] if(printf_number_buffer::padding#1>=0) goto printf_number_buffer::@21 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [228] if(0!=printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@2 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [229] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [230] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@8 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [231] printf_padding::putc#0 = printf_number_buffer::putc#10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } ) always clobbers reg byte a
Statement [235] stackpush(char) = printf_number_buffer::buffer_sign#10 [ ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [236] callexecute *printf_number_buffer::putc#10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a reg byte x reg byte y
Removing always clobbered register reg byte x as potential for zp[1]:33 [ printf_number_buffer::format_upper_case#10 ]
Removing always clobbered register reg byte y as potential for zp[1]:33 [ printf_number_buffer::format_upper_case#10 ]
Statement sideeffect stackpullbytes(1) always clobbers reg byte a
Statement [238] if(0==printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [239] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [240] printf_padding::putc#1 = printf_number_buffer::putc#10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } ) always clobbers reg byte a
Statement [243] if(0==printf_number_buffer::format_upper_case#10) goto printf_number_buffer::@5 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [246] printf_str::putc#0 = printf_number_buffer::putc#10 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } ) always clobbers reg byte a
Statement [248] if(0==printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@return [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [249] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@return [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [250] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@12 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [251] printf_padding::putc#2 = printf_number_buffer::putc#10 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } ) always clobbers reg byte a
Statement [258] *uctoa::buffer#10 = DIGITS[uctoa::value#3] [ printf_buffer uctoa::buffer#10 ] ( main:7::printf_schar:50::uctoa:140 [ printf_buffer uctoa::buffer#10 ] { } main:7::printf_uchar:56::uctoa:146 [ printf_buffer uctoa::buffer#10 ] { } ) always clobbers reg byte a reg byte y
Statement [259] uctoa::buffer#3 = ++ uctoa::buffer#10 [ printf_buffer uctoa::buffer#3 ] ( main:7::printf_schar:50::uctoa:140 [ printf_buffer uctoa::buffer#3 ] { } main:7::printf_uchar:56::uctoa:146 [ printf_buffer uctoa::buffer#3 ] { } ) always clobbers reg byte a
Statement [260] *uctoa::buffer#3 = 0 [ printf_buffer ] ( main:7::printf_schar:50::uctoa:140 [ printf_buffer ] { } main:7::printf_uchar:56::uctoa:146 [ printf_buffer ] { } ) always clobbers reg byte a reg byte y
Statement [267] uctoa_append::buffer#0 = uctoa::buffer#10 [ printf_buffer uctoa::digit#2 uctoa::value#3 uctoa::buffer#10 uctoa::digit_value#0 uctoa_append::buffer#0 ] ( main:7::printf_schar:50::uctoa:140 [ printf_buffer uctoa::digit#2 uctoa::value#3 uctoa::buffer#10 uctoa::digit_value#0 uctoa_append::buffer#0 ] { { uctoa_append::buffer#0 = uctoa::buffer#10 } { uctoa_append::value#0 = uctoa::value#3 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } } main:7::printf_uchar:56::uctoa:146 [ printf_buffer uctoa::digit#2 uctoa::value#3 uctoa::buffer#10 uctoa::digit_value#0 uctoa_append::buffer#0 ] { { uctoa_append::buffer#0 = uctoa::buffer#10 } { uctoa_append::value#0 = uctoa::value#3 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:36 [ uctoa::digit#2 uctoa::digit#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:37 [ uctoa::value#3 uctoa::value#7 uctoa::value#10 uctoa::value#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:124 [ uctoa::digit_value#0 ]
Statement [277] ultoa::$11 = (char)ultoa::value#3 [ printf_buffer ultoa::buffer#10 ultoa::$11 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::buffer#10 ultoa::$11 ] { } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::buffer#10 ultoa::$11 ] { } ) always clobbers reg byte a
Statement [278] *ultoa::buffer#10 = DIGITS[ultoa::$11] [ printf_buffer ultoa::buffer#10 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::buffer#10 ] { } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::buffer#10 ] { } ) always clobbers reg byte a reg byte y
Statement [279] ultoa::buffer#3 = ++ ultoa::buffer#10 [ printf_buffer ultoa::buffer#3 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::buffer#3 ] { } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::buffer#3 ] { } ) always clobbers reg byte a
Statement [280] *ultoa::buffer#3 = 0 [ printf_buffer ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ] { } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ] { } ) always clobbers reg byte a reg byte y
Statement [282] ultoa::$10 = ultoa::digit#2 << 2 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::$10 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::$10 ] { } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::$10 ] { } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:41 [ ultoa::digit#2 ultoa::digit#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:46 [ ultoa::started#2 ultoa::started#4 ]
Statement [283] ultoa::digit_value#0 = RADIX_DECIMAL_VALUES_LONG[ultoa::$10] [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::digit_value#0 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::digit_value#0 ] { } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::digit_value#0 ] { } ) always clobbers reg byte a
Statement [285] if(ultoa::value#3>=ultoa::digit_value#0) goto ultoa::@5 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::digit_value#0 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::digit_value#0 ] { } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::digit_value#0 ] { } ) always clobbers reg byte a
Statement [288] ultoa_append::buffer#0 = ultoa::buffer#10 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::buffer#10 ultoa::digit_value#0 ultoa_append::buffer#0 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::buffer#10 ultoa::digit_value#0 ultoa_append::buffer#0 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::buffer#10 ultoa::digit_value#0 ultoa_append::buffer#0 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a
Statement [289] ultoa_append::value#0 = ultoa::value#3 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa::digit_value#0 ultoa_append::buffer#0 ultoa_append::value#0 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa::digit_value#0 ultoa_append::buffer#0 ultoa_append::value#0 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa::digit_value#0 ultoa_append::buffer#0 ultoa_append::value#0 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a
Statement [290] ultoa_append::sub#0 = ultoa::digit_value#0 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::buffer#0 ultoa_append::value#0 ultoa_append::sub#0 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::buffer#0 ultoa_append::value#0 ultoa_append::sub#0 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::buffer#0 ultoa_append::value#0 ultoa_append::sub#0 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a
Statement [292] ultoa_append::return#0 = ultoa_append::value#2 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::return#0 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::return#0 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::return#0 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a
Statement [293] ultoa::value#0 = ultoa_append::return#0 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa::value#0 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa::value#0 ] { } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa::value#0 ] { } ) always clobbers reg byte a
Statement [296] memcpy::src_end#0 = (char *)memcpy::source#2 + (unsigned int)$19*$28-$28 [ memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] ( cputln:23::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } cputln:26::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } cputln:23::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } cputln:26::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } ) always clobbers reg byte a
Statement [297] memcpy::src#4 = (char *)memcpy::source#2 [ memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] ( cputln:23::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } cputln:26::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } cputln:23::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } cputln:26::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } ) always clobbers reg byte a
Statement [298] memcpy::dst#4 = (char *)memcpy::destination#2 [ memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] ( cputln:23::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } cputln:26::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } cputln:23::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } cputln:26::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } ) always clobbers reg byte a
Statement [300] if(memcpy::src#2!=memcpy::src_end#0) goto memcpy::@2 [ memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] ( cputln:23::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } cputln:26::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } cputln:23::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } cputln:26::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } ) always clobbers reg byte a
Statement [302] *memcpy::dst#2 = *memcpy::src#2 [ memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] ( cputln:23::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } cputln:26::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } cputln:23::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } cputln:26::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } ) always clobbers reg byte a reg byte y
Statement [306] memset::end#0 = (char *)memset::str#3 + $28 [ memset::str#3 memset::c#4 memset::end#0 ] ( cputln:23::cscroll:102::memset:176 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } main:7::cputc:32::cputln:23::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } main:7::cputc:44::cputln:23::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } cputln:26::cscroll:102::memset:176 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } main:7::cputc:32::cputln:26::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } main:7::cputc:44::cputln:26::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } cputln:23::cscroll:102::memset:178 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } main:7::cputc:32::cputln:23::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } main:7::cputc:44::cputln:23::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } cputln:26::cscroll:102::memset:178 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } main:7::cputc:32::cputln:26::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } main:7::cputc:44::cputln:26::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:59 [ memset::c#4 ]
Statement [307] memset::dst#4 = (char *)memset::str#3 [ memset::c#4 memset::end#0 memset::dst#4 ] ( cputln:23::cscroll:102::memset:176 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } main:7::cputc:32::cputln:23::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } main:7::cputc:44::cputln:23::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } cputln:26::cscroll:102::memset:176 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } main:7::cputc:32::cputln:26::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } main:7::cputc:44::cputln:26::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } cputln:23::cscroll:102::memset:178 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } main:7::cputc:32::cputln:23::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } main:7::cputc:44::cputln:23::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } cputln:26::cscroll:102::memset:178 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } main:7::cputc:32::cputln:26::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } main:7::cputc:44::cputln:26::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } ) always clobbers reg byte a
Statement [309] if(memset::dst#2!=memset::end#0) goto memset::@3 [ memset::c#4 memset::end#0 memset::dst#2 ] ( cputln:23::cscroll:102::memset:176 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:32::cputln:23::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:44::cputln:23::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } cputln:26::cscroll:102::memset:176 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:32::cputln:26::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:44::cputln:26::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } cputln:23::cscroll:102::memset:178 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:32::cputln:23::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:44::cputln:23::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } cputln:26::cscroll:102::memset:178 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:32::cputln:26::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:44::cputln:26::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } ) always clobbers reg byte a
Statement [311] *memset::dst#2 = memset::c#4 [ memset::c#4 memset::end#0 memset::dst#2 ] ( cputln:23::cscroll:102::memset:176 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:32::cputln:23::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:44::cputln:23::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } cputln:26::cscroll:102::memset:176 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:32::cputln:26::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:44::cputln:26::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } cputln:23::cscroll:102::memset:178 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:32::cputln:23::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:44::cputln:23::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } cputln:26::cscroll:102::memset:178 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:32::cputln:26::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:44::cputln:26::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } ) always clobbers reg byte a reg byte y
Removing always clobbered register reg byte y as potential for zp[1]:59 [ memset::c#4 ]
Statement [315] 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:7::printf_uint:38::utoa:133::utoa_append:210 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_uint:68::utoa:133::utoa_append:210 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_sint:62::utoa:153::utoa_append:210 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] { { 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]:64 [ utoa_append::digit#2 utoa_append::digit#1 ]
Statement [316] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2] [ utoa_append::value#2 ] ( main:7::printf_uint:38::utoa:133::utoa_append:210 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::value#2 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_uint:68::utoa:133::utoa_append:210 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::value#2 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_sint:62::utoa:153::utoa_append:210 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::value#2 ] { { 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 [319] 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:7::printf_uint:38::utoa:133::utoa_append:210 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_uint:68::utoa:133::utoa_append:210 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_sint:62::utoa:153::utoa_append:210 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] { { 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 [322] if(0!=*strlen::str#2) goto strlen::@2 [ printf_buffer strlen::len#2 strlen::str#2 ] ( main:7::printf_uint:38::printf_number_buffer:135::strlen:217 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { strlen::return#2 = strlen::len#2 } } main:7::printf_uint:68::printf_number_buffer:135::strlen:217 [ printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { strlen::return#2 = strlen::len#2 } } main:7::printf_schar:50::printf_number_buffer:142::strlen:217 [ printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { strlen::return#2 = strlen::len#2 } } main:7::printf_uchar:56::printf_number_buffer:148::strlen:217 [ printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { strlen::return#2 = strlen::len#2 } } main:7::printf_sint:62::printf_number_buffer:155::strlen:217 [ printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { strlen::return#2 = strlen::len#2 } } main:7::printf_slong:74::printf_number_buffer:162::strlen:217 [ printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } } main:7::printf_ulong:80::printf_number_buffer:168::strlen:217 [ printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } } ) always clobbers reg byte a reg byte y
Removing always clobbered register reg byte y as potential for zp[1]:27 [ printf_number_buffer::format_min_length#10 ]
Removing always clobbered register reg byte y as potential for zp[1]:30 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#4 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#0 printf_number_buffer::buffer_sign#5 printf_number_buffer::buffer_sign#3 printf_number_buffer::buffer_sign#1 ]
Statement [331] callexecute *printf_padding::putc#5 [ printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] ( main:7::printf_uint:38::printf_number_buffer:135::printf_padding:233 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:38::printf_number_buffer:135::printf_padding:242 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:38::printf_number_buffer:135::printf_padding:253 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_padding:253 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_padding:253 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_padding:253 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_padding:253 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_padding:253 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_padding:253 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } ) always clobbers reg byte a reg byte x reg byte y
Removing always clobbered register reg byte x as potential for zp[1]:30 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#4 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#0 printf_number_buffer::buffer_sign#5 printf_number_buffer::buffer_sign#3 printf_number_buffer::buffer_sign#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:69 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ]
Removing always clobbered register reg byte x as potential for zp[1]:69 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ]
Removing always clobbered register reg byte y as potential for zp[1]:69 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:70 [ printf_padding::pad#5 ]
Removing always clobbered register reg byte x as potential for zp[1]:70 [ printf_padding::pad#5 ]
Removing always clobbered register reg byte y as potential for zp[1]:70 [ printf_padding::pad#5 ]
Removing always clobbered register reg byte a as potential for zp[1]:73 [ printf_padding::i#2 printf_padding::i#1 ]
Removing always clobbered register reg byte x as potential for zp[1]:73 [ printf_padding::i#2 printf_padding::i#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:73 [ printf_padding::i#2 printf_padding::i#1 ]
Statement sideeffect stackpullbytes(1) always clobbers reg byte a
Statement [336] if(0!=*strupr::src#2) goto strupr::@2 [ strupr::src#2 ] ( main:7::printf_uint:38::printf_number_buffer:135::strupr:245 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a reg byte y
Statement [338] toupper::ch#0 = *strupr::src#2 [ strupr::src#2 toupper::ch#0 ] ( main:7::printf_uint:38::printf_number_buffer:135::strupr:245 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { toupper::return#2 = toupper::return#3 } } main:7::printf_uint:68::printf_number_buffer:135::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { toupper::return#2 = toupper::return#3 } } main:7::printf_schar:50::printf_number_buffer:142::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { toupper::return#2 = toupper::return#3 } } main:7::printf_uchar:56::printf_number_buffer:148::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { toupper::return#2 = toupper::return#3 } } main:7::printf_sint:62::printf_number_buffer:155::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { toupper::return#2 = toupper::return#3 } } main:7::printf_slong:74::printf_number_buffer:162::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } } main:7::printf_ulong:80::printf_number_buffer:168::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } } ) always clobbers reg byte a reg byte y
Statement [342] *strupr::src#2 = strupr::$0 [ strupr::src#2 ] ( main:7::printf_uint:38::printf_number_buffer:135::strupr:245 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte y
Statement [347] *uctoa_append::buffer#0 = DIGITS[uctoa_append::digit#2] [ uctoa_append::value#2 ] ( main:7::printf_schar:50::uctoa:140::uctoa_append:270 [ printf_buffer uctoa::digit#2 uctoa::buffer#10 uctoa_append::value#2 ] { { uctoa_append::buffer#0 = uctoa::buffer#10 } { uctoa_append::value#0 = uctoa::value#3 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } } main:7::printf_uchar:56::uctoa:146::uctoa_append:270 [ printf_buffer uctoa::digit#2 uctoa::buffer#10 uctoa_append::value#2 ] { { uctoa_append::buffer#0 = uctoa::buffer#10 } { uctoa_append::value#0 = uctoa::value#3 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } } ) always clobbers reg byte a reg byte y
Removing always clobbered register reg byte y as potential for zp[1]:36 [ uctoa::digit#2 uctoa::digit#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:76 [ uctoa_append::value#2 uctoa_append::value#0 uctoa_append::value#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:76 [ uctoa_append::value#2 uctoa_append::value#0 uctoa_append::value#1 ]
Statement [350] uctoa_append::value#1 = uctoa_append::value#2 - uctoa_append::sub#0 [ uctoa_append::buffer#0 uctoa_append::sub#0 uctoa_append::value#1 uctoa_append::digit#1 ] ( main:7::printf_schar:50::uctoa:140::uctoa_append:270 [ printf_buffer uctoa::digit#2 uctoa::buffer#10 uctoa_append::buffer#0 uctoa_append::sub#0 uctoa_append::value#1 uctoa_append::digit#1 ] { { uctoa_append::buffer#0 = uctoa::buffer#10 } { uctoa_append::value#0 = uctoa::value#3 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } } main:7::printf_uchar:56::uctoa:146::uctoa_append:270 [ printf_buffer uctoa::digit#2 uctoa::buffer#10 uctoa_append::buffer#0 uctoa_append::sub#0 uctoa_append::value#1 uctoa_append::digit#1 ] { { uctoa_append::buffer#0 = uctoa::buffer#10 } { uctoa_append::value#0 = uctoa::value#3 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:127 [ uctoa_append::sub#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:77 [ uctoa_append::digit#2 uctoa_append::digit#1 ]
Statement [353] if(ultoa_append::value#2>=ultoa_append::sub#0) goto ultoa_append::@2 [ ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#2 ultoa_append::digit#2 ] ( main:7::printf_slong:74::ultoa:160::ultoa_append:291 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#2 ultoa_append::digit#2 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } main:7::printf_ulong:80::ultoa:166::ultoa_append:291 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#2 ultoa_append::digit#2 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:82 [ ultoa_append::digit#2 ultoa_append::digit#1 ]
Statement [354] *ultoa_append::buffer#0 = DIGITS[ultoa_append::digit#2] [ ultoa_append::value#2 ] ( main:7::printf_slong:74::ultoa:160::ultoa_append:291 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::value#2 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } main:7::printf_ulong:80::ultoa:166::ultoa_append:291 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::value#2 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a reg byte y
Removing always clobbered register reg byte y as potential for zp[1]:41 [ ultoa::digit#2 ultoa::digit#1 ]
Statement [357] ultoa_append::value#1 = ultoa_append::value#2 - ultoa_append::sub#0 [ ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#1 ultoa_append::digit#1 ] ( main:7::printf_slong:74::ultoa:160::ultoa_append:291 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#1 ultoa_append::digit#1 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } main:7::printf_ulong:80::ultoa:166::ultoa_append:291 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#1 ultoa_append::digit#1 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a
Statement [360] toupper::return#0 = toupper::ch#0 + 'A'-'a' [ toupper::return#0 ] ( main:7::printf_uint:38::printf_number_buffer:135::strupr:245::toupper:339 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { toupper::return#2 = toupper::return#3 } } main:7::printf_uint:68::printf_number_buffer:135::strupr:245::toupper:339 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { toupper::return#2 = toupper::return#3 } } main:7::printf_schar:50::printf_number_buffer:142::strupr:245::toupper:339 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { toupper::return#2 = toupper::return#3 } } main:7::printf_uchar:56::printf_number_buffer:148::strupr:245::toupper:339 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { toupper::return#2 = toupper::return#3 } } main:7::printf_sint:62::printf_number_buffer:155::strupr:245::toupper:339 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { toupper::return#2 = toupper::return#3 } } main:7::printf_slong:74::printf_number_buffer:162::strupr:245::toupper:339 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } } main:7::printf_ulong:80::printf_number_buffer:168::strupr:245::toupper:339 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } } ) always clobbers reg byte a
Statement [1] conio_cursor_x = 0 [ printf_buffer ] ( [ printf_buffer ] { } ) always clobbers reg byte a
Statement [2] conio_cursor_y = 0 [ printf_buffer ] ( [ printf_buffer ] { } ) always clobbers reg byte a
Statement [3] conio_line_text = DEFAULT_SCREEN [ printf_buffer ] ( [ printf_buffer ] { } ) always clobbers reg byte a
Statement [4] conio_line_color = COLORRAM [ printf_buffer ] ( [ printf_buffer ] { } ) always clobbers reg byte a
Statement [16] cputc::c#0 = stackidx(char,cputc::OFFSET_STACK_C) [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color cputc::c#0 ] ( [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color cputc::c#0 ] { } main:7::cputc:32 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color cputc::c#0 ] { } main:7::cputc:44 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color cputc::c#0 ] { } ) always clobbers reg byte a reg byte x
Statement [18] conio_line_text[conio_cursor_x] = cputc::c#0 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] ( [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte y
Statement [19] conio_line_color[conio_cursor_x] = LIGHT_BLUE [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] ( [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a reg byte y
Statement [21] if(conio_cursor_x!=$28) goto cputc::@return [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] ( [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement [29] main::c = 'x' [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color main::c printf_buffer ] ( main:7 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color main::c printf_buffer ] { } ) always clobbers reg byte a
Statement [31] stackpush(char) = main::c [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] ( main:7 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { } ) always clobbers reg byte a
Statement sideeffect stackpullbytes(1) always clobbers reg byte a
Statement [43] stackpush(char) = '%' [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] ( main:7 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { } ) always clobbers reg byte a
Statement sideeffect stackpullbytes(1) always clobbers reg byte a
Statement [87] conio_cursor_x = gotoxy::x#2 [ gotoxy::y#4 ] ( gotoxy:14 [ gotoxy::y#4 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::y#4 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [89] gotoxy::$7 = (unsigned int)gotoxy::y#4 [ gotoxy::$7 ] ( gotoxy:14 [ gotoxy::$7 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::$7 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [90] gotoxy::$8 = gotoxy::$7 << 2 [ gotoxy::$7 gotoxy::$8 ] ( gotoxy:14 [ gotoxy::$7 gotoxy::$8 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::$7 gotoxy::$8 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [91] gotoxy::$9 = gotoxy::$8 + gotoxy::$7 [ gotoxy::$9 ] ( gotoxy:14 [ gotoxy::$9 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::$9 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [92] gotoxy::line_offset#0 = gotoxy::$9 << 3 [ gotoxy::line_offset#0 ] ( gotoxy:14 [ gotoxy::line_offset#0 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::line_offset#0 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [93] gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0 [ gotoxy::line_offset#0 gotoxy::$5 ] ( gotoxy:14 [ gotoxy::line_offset#0 gotoxy::$5 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::line_offset#0 gotoxy::$5 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [94] conio_line_text = gotoxy::$5 [ gotoxy::line_offset#0 ] ( gotoxy:14 [ gotoxy::line_offset#0 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::line_offset#0 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [95] gotoxy::$6 = COLORRAM + gotoxy::line_offset#0 [ gotoxy::$6 ] ( gotoxy:14 [ gotoxy::$6 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::$6 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [96] conio_line_color = gotoxy::$6 [ ] ( gotoxy:14 [ ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [98] conio_line_text = conio_line_text + $28 [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23 [ conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:23 [ printf_buffer conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:23 [ printf_buffer conio_cursor_y conio_line_text conio_line_color ] { } cputln:26 [ conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:26 [ printf_buffer conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:26 [ printf_buffer conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement [99] conio_line_color = conio_line_color + $28 [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23 [ conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:23 [ printf_buffer conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:23 [ printf_buffer conio_cursor_y conio_line_text conio_line_color ] { } cputln:26 [ conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:26 [ printf_buffer conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:26 [ printf_buffer conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement [100] conio_cursor_x = 0 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] ( cputln:23 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:23 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:23 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } cputln:26 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:26 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:26 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement [107] conio_cursor_x = 0 [ conio_cursor_x ] ( main:7::clrscr:28 [ printf_buffer conio_cursor_x ] { } ) always clobbers reg byte a
Statement [108] conio_cursor_y = 0 [ conio_cursor_x conio_cursor_y ] ( main:7::clrscr:28 [ printf_buffer conio_cursor_x conio_cursor_y ] { } ) always clobbers reg byte a
Statement [109] conio_line_text = DEFAULT_SCREEN [ conio_cursor_x conio_cursor_y conio_line_text ] ( main:7::clrscr:28 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text ] { } ) always clobbers reg byte a
Statement [110] conio_line_color = COLORRAM [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] ( main:7::clrscr:28 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement [114] clrscr::line_text#1 = clrscr::line_text#5 + $28 [ clrscr::l#2 clrscr::line_cols#5 clrscr::line_text#1 ] ( main:7::clrscr:28 [ printf_buffer clrscr::l#2 clrscr::line_cols#5 clrscr::line_text#1 ] { } ) always clobbers reg byte a
Statement [115] clrscr::line_cols#1 = clrscr::line_cols#5 + $28 [ clrscr::l#2 clrscr::line_text#1 clrscr::line_cols#1 ] ( main:7::clrscr:28 [ printf_buffer clrscr::l#2 clrscr::line_text#1 clrscr::line_cols#1 ] { } ) always clobbers reg byte a
Statement [117] clrscr::line_text#5[clrscr::c#2] = ' ' [ clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] ( main:7::clrscr:28 [ printf_buffer clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] { } ) always clobbers reg byte a
Statement [118] clrscr::line_cols#5[clrscr::c#2] = LIGHT_BLUE [ clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] ( main:7::clrscr:28 [ printf_buffer clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] { } ) always clobbers reg byte a
Statement [122] printf_str::c#1 = *printf_str::s#20 [ printf_str::s#20 printf_str::c#1 printf_buffer ] ( main:7::printf_str:30 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color main::c printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:34 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:36 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:40 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:42 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:46 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:48 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:52 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:54 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:58 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:60 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:64 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:66 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:70 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:72 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:76 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:78 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:82 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_uint:38::printf_number_buffer:135::printf_str:247 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#20 printf_str::c#1 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#20 printf_str::c#1 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#20 printf_str::c#1 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#20 printf_str::c#1 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#20 printf_str::c#1 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#20 printf_str::c#1 printf_buffer ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#20 printf_str::c#1 printf_buffer ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } ) always clobbers reg byte a reg byte y
Statement [127] callexecute *printf_str::putc#21 [ printf_str::s#0 printf_buffer ] ( main:7::printf_str:30 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color main::c printf_str::s#0 printf_buffer ] { } main:7::printf_str:34 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::s#0 printf_buffer ] { } main:7::printf_str:36 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::s#0 printf_buffer ] { } main:7::printf_str:40 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::s#0 printf_buffer ] { } main:7::printf_str:42 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::s#0 printf_buffer ] { } main:7::printf_str:46 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:48 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:52 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:54 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:58 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:60 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:64 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:66 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:70 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:72 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:76 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:78 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:82 [ printf_str::s#0 printf_buffer ] { } main:7::printf_uint:38::printf_number_buffer:135::printf_str:247 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } ) always clobbers reg byte a reg byte x reg byte y
Statement sideeffect stackpullbytes(1) always clobbers reg byte a
Statement [130] *((char *)&printf_buffer) = 0 [ printf_uint::uvalue#2 printf_uint::format_radix#2 printf_buffer ] ( main:7::printf_uint:38 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_uint::uvalue#2 printf_uint::format_radix#2 printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68 [ printf_uint::uvalue#2 printf_uint::format_radix#2 printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } ) always clobbers reg byte a
Statement [131] utoa::value#2 = printf_uint::uvalue#2 [ printf_uint::format_radix#2 printf_buffer utoa::value#2 ] ( main:7::printf_uint:38 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_uint::format_radix#2 printf_buffer utoa::value#2 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68 [ printf_uint::format_radix#2 printf_buffer utoa::value#2 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } ) always clobbers reg byte a
Statement [134] printf_number_buffer::buffer_sign#3 = *((char *)&printf_buffer) [ printf_buffer printf_number_buffer::buffer_sign#3 ] ( main:7::printf_uint:38 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::buffer_sign#3 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68 [ printf_buffer printf_number_buffer::buffer_sign#3 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } ) always clobbers reg byte a
Statement [137] *((char *)&printf_buffer) = 0 [ printf_buffer ] ( main:7::printf_schar:50 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [138] *((char *)&printf_buffer) = '-' [ printf_buffer ] ( main:7::printf_schar:50 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [141] printf_number_buffer::buffer_sign#4 = *((char *)&printf_buffer) [ printf_buffer printf_number_buffer::buffer_sign#4 ] ( main:7::printf_schar:50 [ printf_buffer printf_number_buffer::buffer_sign#4 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } ) always clobbers reg byte a
Statement [145] *((char *)&printf_buffer) = 0 [ printf_buffer ] ( main:7::printf_uchar:56 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [147] printf_number_buffer::buffer_sign#5 = *((char *)&printf_buffer) [ printf_buffer printf_number_buffer::buffer_sign#5 ] ( main:7::printf_uchar:56 [ printf_buffer printf_number_buffer::buffer_sign#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } ) always clobbers reg byte a
Statement [150] *((char *)&printf_buffer) = 0 [ printf_buffer ] ( main:7::printf_sint:62 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [151] *((char *)&printf_buffer) = '-' [ printf_buffer ] ( main:7::printf_sint:62 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [154] printf_number_buffer::buffer_sign#2 = *((char *)&printf_buffer) [ printf_buffer printf_number_buffer::buffer_sign#2 ] ( main:7::printf_sint:62 [ printf_buffer printf_number_buffer::buffer_sign#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } ) always clobbers reg byte a
Statement [157] *((char *)&printf_buffer) = 0 [ printf_buffer ] ( main:7::printf_slong:74 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [158] *((char *)&printf_buffer) = '-' [ printf_buffer ] ( main:7::printf_slong:74 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [161] printf_number_buffer::buffer_sign#0 = *((char *)&printf_buffer) [ printf_buffer printf_number_buffer::buffer_sign#0 ] ( main:7::printf_slong:74 [ printf_buffer printf_number_buffer::buffer_sign#0 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [165] *((char *)&printf_buffer) = 0 [ printf_buffer ] ( main:7::printf_ulong:80 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [167] printf_number_buffer::buffer_sign#1 = *((char *)&printf_buffer) [ printf_buffer printf_number_buffer::buffer_sign#1 ] ( main:7::printf_ulong:80 [ printf_buffer printf_number_buffer::buffer_sign#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [170] if(conio_cursor_y!=$19) goto cscroll::@return [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23::cscroll:102 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:23::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:23::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } cputln:26::cscroll:102 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:26::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:26::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement [179] conio_line_text = conio_line_text - $28 [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23::cscroll:102 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:23::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:23::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } cputln:26::cscroll:102 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:26::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:26::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement [180] conio_line_color = conio_line_color - $28 [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23::cscroll:102 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:23::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:23::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } cputln:26::cscroll:102 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:26::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:26::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement [188] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS) = 'e' [ printf_buffer ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [189] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1) = 'r' [ printf_buffer ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [190] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2) = 'r' [ printf_buffer ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [191] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3) = 0 [ printf_buffer ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [198] *utoa::buffer#10 = DIGITS[utoa::$11] [ printf_buffer utoa::buffer#10 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::buffer#10 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer utoa::buffer#10 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer utoa::buffer#10 ] { } ) always clobbers reg byte a reg byte y
Statement [199] utoa::buffer#3 = ++ utoa::buffer#10 [ printf_buffer utoa::buffer#3 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::buffer#3 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer utoa::buffer#3 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer utoa::buffer#3 ] { } ) always clobbers reg byte a
Statement [200] *utoa::buffer#3 = 0 [ printf_buffer ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer ] { } ) always clobbers reg byte a reg byte y
Statement [201] utoa::$10 = utoa::digit#2 << 1 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::$10 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::$10 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::$10 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::$10 ] { } ) always clobbers reg byte a
Statement [202] utoa::digit_value#0 = utoa::digit_values#8[utoa::$10] [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { } ) always clobbers reg byte a reg byte y
Statement [204] if(utoa::value#3>=utoa::digit_value#0) goto utoa::@10 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { } ) always clobbers reg byte a
Statement [207] utoa_append::buffer#0 = utoa::buffer#10 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_uint:68::utoa:133 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_sint:62::utoa:153 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 ] { { 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 [208] utoa_append::value#0 = utoa::value#3 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_uint:68::utoa:133 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_sint:62::utoa:153 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { 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 [209] utoa_append::sub#0 = utoa::digit_value#0 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_uint:68::utoa:133 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_sint:62::utoa:153 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { 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 [211] utoa_append::return#0 = utoa_append::value#2 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::return#0 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::return#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_uint:68::utoa:133 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::return#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_sint:62::utoa:153 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::return#0 ] { { 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 [212] utoa::value#0 = utoa_append::return#0 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa::value#0 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa::value#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa::value#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa::value#0 ] { } ) always clobbers reg byte a
Statement [218] strlen::return#2 = strlen::len#2 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { strlen::return#2 = strlen::len#2 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { strlen::return#2 = strlen::len#2 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { strlen::return#2 = strlen::len#2 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { strlen::return#2 = strlen::len#2 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { strlen::return#2 = strlen::len#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } } ) always clobbers reg byte a
Statement [219] printf_number_buffer::$19 = strlen::return#2 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [221] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@13 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:34 [ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ]
Statement [224] printf_number_buffer::padding#1 = (signed char)printf_number_buffer::format_min_length#10 - printf_number_buffer::len#2 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [225] if(printf_number_buffer::padding#1>=0) goto printf_number_buffer::@21 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [228] if(0!=printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@2 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [229] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [230] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@8 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [231] printf_padding::putc#0 = printf_number_buffer::putc#10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } ) always clobbers reg byte a
Statement [232] printf_padding::length#0 = (char)printf_number_buffer::padding#10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } ) always clobbers reg byte a
Statement [234] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@3 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [235] stackpush(char) = printf_number_buffer::buffer_sign#10 [ ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [236] callexecute *printf_number_buffer::putc#10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a reg byte x reg byte y
Statement sideeffect stackpullbytes(1) always clobbers reg byte a
Statement [238] if(0==printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [239] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [240] printf_padding::putc#1 = printf_number_buffer::putc#10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } ) always clobbers reg byte a
Statement [241] printf_padding::length#1 = (char)printf_number_buffer::padding#10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } ) always clobbers reg byte a
Statement [243] if(0==printf_number_buffer::format_upper_case#10) goto printf_number_buffer::@5 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [246] printf_str::putc#0 = printf_number_buffer::putc#10 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } ) always clobbers reg byte a
Statement [248] if(0==printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@return [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [249] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@return [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [250] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@12 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [251] printf_padding::putc#2 = printf_number_buffer::putc#10 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } ) always clobbers reg byte a
Statement [252] printf_padding::length#2 = (char)printf_number_buffer::padding#10 [ printf_buffer printf_padding::putc#2 printf_padding::length#2 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_padding::putc#2 printf_padding::length#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_padding::putc#2 printf_padding::length#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_padding::putc#2 printf_padding::length#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_padding::putc#2 printf_padding::length#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_padding::putc#2 printf_padding::length#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_padding::putc#2 printf_padding::length#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_padding::putc#2 printf_padding::length#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } ) always clobbers reg byte a
Statement [258] *uctoa::buffer#10 = DIGITS[uctoa::value#3] [ printf_buffer uctoa::buffer#10 ] ( main:7::printf_schar:50::uctoa:140 [ printf_buffer uctoa::buffer#10 ] { } main:7::printf_uchar:56::uctoa:146 [ printf_buffer uctoa::buffer#10 ] { } ) always clobbers reg byte a reg byte y
Statement [259] uctoa::buffer#3 = ++ uctoa::buffer#10 [ printf_buffer uctoa::buffer#3 ] ( main:7::printf_schar:50::uctoa:140 [ printf_buffer uctoa::buffer#3 ] { } main:7::printf_uchar:56::uctoa:146 [ printf_buffer uctoa::buffer#3 ] { } ) always clobbers reg byte a
Statement [260] *uctoa::buffer#3 = 0 [ printf_buffer ] ( main:7::printf_schar:50::uctoa:140 [ printf_buffer ] { } main:7::printf_uchar:56::uctoa:146 [ printf_buffer ] { } ) always clobbers reg byte a reg byte y
Statement [267] uctoa_append::buffer#0 = uctoa::buffer#10 [ printf_buffer uctoa::digit#2 uctoa::value#3 uctoa::buffer#10 uctoa::digit_value#0 uctoa_append::buffer#0 ] ( main:7::printf_schar:50::uctoa:140 [ printf_buffer uctoa::digit#2 uctoa::value#3 uctoa::buffer#10 uctoa::digit_value#0 uctoa_append::buffer#0 ] { { uctoa_append::buffer#0 = uctoa::buffer#10 } { uctoa_append::value#0 = uctoa::value#3 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } } main:7::printf_uchar:56::uctoa:146 [ printf_buffer uctoa::digit#2 uctoa::value#3 uctoa::buffer#10 uctoa::digit_value#0 uctoa_append::buffer#0 ] { { uctoa_append::buffer#0 = uctoa::buffer#10 } { uctoa_append::value#0 = uctoa::value#3 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } } ) always clobbers reg byte a
Statement [277] ultoa::$11 = (char)ultoa::value#3 [ printf_buffer ultoa::buffer#10 ultoa::$11 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::buffer#10 ultoa::$11 ] { } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::buffer#10 ultoa::$11 ] { } ) always clobbers reg byte a
Statement [278] *ultoa::buffer#10 = DIGITS[ultoa::$11] [ printf_buffer ultoa::buffer#10 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::buffer#10 ] { } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::buffer#10 ] { } ) always clobbers reg byte a reg byte y
Statement [279] ultoa::buffer#3 = ++ ultoa::buffer#10 [ printf_buffer ultoa::buffer#3 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::buffer#3 ] { } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::buffer#3 ] { } ) always clobbers reg byte a
Statement [280] *ultoa::buffer#3 = 0 [ printf_buffer ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ] { } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ] { } ) always clobbers reg byte a reg byte y
Statement [282] ultoa::$10 = ultoa::digit#2 << 2 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::$10 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::$10 ] { } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::$10 ] { } ) always clobbers reg byte a
Statement [283] ultoa::digit_value#0 = RADIX_DECIMAL_VALUES_LONG[ultoa::$10] [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::digit_value#0 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::digit_value#0 ] { } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::digit_value#0 ] { } ) always clobbers reg byte a
Statement [285] if(ultoa::value#3>=ultoa::digit_value#0) goto ultoa::@5 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::digit_value#0 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::digit_value#0 ] { } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::digit_value#0 ] { } ) always clobbers reg byte a
Statement [288] ultoa_append::buffer#0 = ultoa::buffer#10 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::buffer#10 ultoa::digit_value#0 ultoa_append::buffer#0 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::buffer#10 ultoa::digit_value#0 ultoa_append::buffer#0 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::buffer#10 ultoa::digit_value#0 ultoa_append::buffer#0 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a
Statement [289] ultoa_append::value#0 = ultoa::value#3 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa::digit_value#0 ultoa_append::buffer#0 ultoa_append::value#0 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa::digit_value#0 ultoa_append::buffer#0 ultoa_append::value#0 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa::digit_value#0 ultoa_append::buffer#0 ultoa_append::value#0 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a
Statement [290] ultoa_append::sub#0 = ultoa::digit_value#0 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::buffer#0 ultoa_append::value#0 ultoa_append::sub#0 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::buffer#0 ultoa_append::value#0 ultoa_append::sub#0 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::buffer#0 ultoa_append::value#0 ultoa_append::sub#0 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a
Statement [292] ultoa_append::return#0 = ultoa_append::value#2 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::return#0 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::return#0 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::return#0 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a
Statement [293] ultoa::value#0 = ultoa_append::return#0 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa::value#0 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa::value#0 ] { } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa::value#0 ] { } ) always clobbers reg byte a
Statement [296] memcpy::src_end#0 = (char *)memcpy::source#2 + (unsigned int)$19*$28-$28 [ memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] ( cputln:23::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } cputln:26::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } cputln:23::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } cputln:26::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } ) always clobbers reg byte a
Statement [297] memcpy::src#4 = (char *)memcpy::source#2 [ memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] ( cputln:23::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } cputln:26::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } cputln:23::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } cputln:26::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } ) always clobbers reg byte a
Statement [298] memcpy::dst#4 = (char *)memcpy::destination#2 [ memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] ( cputln:23::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } cputln:26::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } cputln:23::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } cputln:26::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } ) always clobbers reg byte a
Statement [300] if(memcpy::src#2!=memcpy::src_end#0) goto memcpy::@2 [ memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] ( cputln:23::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } cputln:26::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } cputln:23::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } cputln:26::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } ) always clobbers reg byte a
Statement [302] *memcpy::dst#2 = *memcpy::src#2 [ memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] ( cputln:23::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } cputln:26::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } cputln:23::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } cputln:26::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } ) always clobbers reg byte a reg byte y
Statement [306] memset::end#0 = (char *)memset::str#3 + $28 [ memset::str#3 memset::c#4 memset::end#0 ] ( cputln:23::cscroll:102::memset:176 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } main:7::cputc:32::cputln:23::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } main:7::cputc:44::cputln:23::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } cputln:26::cscroll:102::memset:176 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } main:7::cputc:32::cputln:26::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } main:7::cputc:44::cputln:26::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } cputln:23::cscroll:102::memset:178 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } main:7::cputc:32::cputln:23::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } main:7::cputc:44::cputln:23::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } cputln:26::cscroll:102::memset:178 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } main:7::cputc:32::cputln:26::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } main:7::cputc:44::cputln:26::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } ) always clobbers reg byte a
Statement [307] memset::dst#4 = (char *)memset::str#3 [ memset::c#4 memset::end#0 memset::dst#4 ] ( cputln:23::cscroll:102::memset:176 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } main:7::cputc:32::cputln:23::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } main:7::cputc:44::cputln:23::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } cputln:26::cscroll:102::memset:176 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } main:7::cputc:32::cputln:26::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } main:7::cputc:44::cputln:26::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } cputln:23::cscroll:102::memset:178 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } main:7::cputc:32::cputln:23::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } main:7::cputc:44::cputln:23::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } cputln:26::cscroll:102::memset:178 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } main:7::cputc:32::cputln:26::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } main:7::cputc:44::cputln:26::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } ) always clobbers reg byte a
Statement [309] if(memset::dst#2!=memset::end#0) goto memset::@3 [ memset::c#4 memset::end#0 memset::dst#2 ] ( cputln:23::cscroll:102::memset:176 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:32::cputln:23::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:44::cputln:23::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } cputln:26::cscroll:102::memset:176 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:32::cputln:26::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:44::cputln:26::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } cputln:23::cscroll:102::memset:178 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:32::cputln:23::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:44::cputln:23::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } cputln:26::cscroll:102::memset:178 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:32::cputln:26::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:44::cputln:26::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } ) always clobbers reg byte a
Statement [311] *memset::dst#2 = memset::c#4 [ memset::c#4 memset::end#0 memset::dst#2 ] ( cputln:23::cscroll:102::memset:176 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:32::cputln:23::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:44::cputln:23::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } cputln:26::cscroll:102::memset:176 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:32::cputln:26::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:44::cputln:26::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } cputln:23::cscroll:102::memset:178 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:32::cputln:23::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:44::cputln:23::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } cputln:26::cscroll:102::memset:178 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:32::cputln:26::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:44::cputln:26::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } ) always clobbers reg byte a reg byte y
Statement [315] 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:7::printf_uint:38::utoa:133::utoa_append:210 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_uint:68::utoa:133::utoa_append:210 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_sint:62::utoa:153::utoa_append:210 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] { { 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 [316] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2] [ utoa_append::value#2 ] ( main:7::printf_uint:38::utoa:133::utoa_append:210 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::value#2 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_uint:68::utoa:133::utoa_append:210 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::value#2 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_sint:62::utoa:153::utoa_append:210 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::value#2 ] { { 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 [319] 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:7::printf_uint:38::utoa:133::utoa_append:210 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_uint:68::utoa:133::utoa_append:210 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_sint:62::utoa:153::utoa_append:210 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] { { 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 [322] if(0!=*strlen::str#2) goto strlen::@2 [ printf_buffer strlen::len#2 strlen::str#2 ] ( main:7::printf_uint:38::printf_number_buffer:135::strlen:217 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { strlen::return#2 = strlen::len#2 } } main:7::printf_uint:68::printf_number_buffer:135::strlen:217 [ printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { strlen::return#2 = strlen::len#2 } } main:7::printf_schar:50::printf_number_buffer:142::strlen:217 [ printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { strlen::return#2 = strlen::len#2 } } main:7::printf_uchar:56::printf_number_buffer:148::strlen:217 [ printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { strlen::return#2 = strlen::len#2 } } main:7::printf_sint:62::printf_number_buffer:155::strlen:217 [ printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { strlen::return#2 = strlen::len#2 } } main:7::printf_slong:74::printf_number_buffer:162::strlen:217 [ printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } } main:7::printf_ulong:80::printf_number_buffer:168::strlen:217 [ printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } } ) always clobbers reg byte a reg byte y
Statement [328] if(printf_padding::i#2<printf_padding::length#4) goto printf_padding::@2 [ printf_padding::pad#5 ] ( main:7::printf_uint:38::printf_number_buffer:135::printf_padding:233 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:38::printf_number_buffer:135::printf_padding:242 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:38::printf_number_buffer:135::printf_padding:253 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_padding:253 [ printf_buffer printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_padding:253 [ printf_buffer printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_padding:253 [ printf_buffer printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_padding:253 [ printf_buffer printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_padding:253 [ printf_buffer printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_padding:253 [ printf_buffer printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } ) always clobbers reg byte a
Statement [330] stackpush(char) = printf_padding::pad#5 [ ] ( main:7::printf_uint:38::printf_number_buffer:135::printf_padding:233 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:38::printf_number_buffer:135::printf_padding:242 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:38::printf_number_buffer:135::printf_padding:253 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_padding:253 [ printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_padding:253 [ printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_padding:253 [ printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_padding:253 [ printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_padding:253 [ printf_buffer ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_padding:253 [ printf_buffer ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } ) always clobbers reg byte a
Statement [331] callexecute *printf_padding::putc#5 [ printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] ( main:7::printf_uint:38::printf_number_buffer:135::printf_padding:233 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:38::printf_number_buffer:135::printf_padding:242 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:38::printf_number_buffer:135::printf_padding:253 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_padding:253 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_padding:253 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_padding:253 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_padding:253 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_padding:253 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_padding:253 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } ) always clobbers reg byte a reg byte x reg byte y
Statement sideeffect stackpullbytes(1) always clobbers reg byte a
Statement [336] if(0!=*strupr::src#2) goto strupr::@2 [ strupr::src#2 ] ( main:7::printf_uint:38::printf_number_buffer:135::strupr:245 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a reg byte y
Statement [338] toupper::ch#0 = *strupr::src#2 [ strupr::src#2 toupper::ch#0 ] ( main:7::printf_uint:38::printf_number_buffer:135::strupr:245 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { toupper::return#2 = toupper::return#3 } } main:7::printf_uint:68::printf_number_buffer:135::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { toupper::return#2 = toupper::return#3 } } main:7::printf_schar:50::printf_number_buffer:142::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { toupper::return#2 = toupper::return#3 } } main:7::printf_uchar:56::printf_number_buffer:148::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { toupper::return#2 = toupper::return#3 } } main:7::printf_sint:62::printf_number_buffer:155::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { toupper::return#2 = toupper::return#3 } } main:7::printf_slong:74::printf_number_buffer:162::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } } main:7::printf_ulong:80::printf_number_buffer:168::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } } ) always clobbers reg byte a reg byte y
Statement [342] *strupr::src#2 = strupr::$0 [ strupr::src#2 ] ( main:7::printf_uint:38::printf_number_buffer:135::strupr:245 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte y
Statement [347] *uctoa_append::buffer#0 = DIGITS[uctoa_append::digit#2] [ uctoa_append::value#2 ] ( main:7::printf_schar:50::uctoa:140::uctoa_append:270 [ printf_buffer uctoa::digit#2 uctoa::buffer#10 uctoa_append::value#2 ] { { uctoa_append::buffer#0 = uctoa::buffer#10 } { uctoa_append::value#0 = uctoa::value#3 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } } main:7::printf_uchar:56::uctoa:146::uctoa_append:270 [ printf_buffer uctoa::digit#2 uctoa::buffer#10 uctoa_append::value#2 ] { { uctoa_append::buffer#0 = uctoa::buffer#10 } { uctoa_append::value#0 = uctoa::value#3 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } } ) always clobbers reg byte a reg byte y
Statement [350] uctoa_append::value#1 = uctoa_append::value#2 - uctoa_append::sub#0 [ uctoa_append::buffer#0 uctoa_append::sub#0 uctoa_append::value#1 uctoa_append::digit#1 ] ( main:7::printf_schar:50::uctoa:140::uctoa_append:270 [ printf_buffer uctoa::digit#2 uctoa::buffer#10 uctoa_append::buffer#0 uctoa_append::sub#0 uctoa_append::value#1 uctoa_append::digit#1 ] { { uctoa_append::buffer#0 = uctoa::buffer#10 } { uctoa_append::value#0 = uctoa::value#3 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } } main:7::printf_uchar:56::uctoa:146::uctoa_append:270 [ printf_buffer uctoa::digit#2 uctoa::buffer#10 uctoa_append::buffer#0 uctoa_append::sub#0 uctoa_append::value#1 uctoa_append::digit#1 ] { { uctoa_append::buffer#0 = uctoa::buffer#10 } { uctoa_append::value#0 = uctoa::value#3 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } } ) always clobbers reg byte a
Statement [353] if(ultoa_append::value#2>=ultoa_append::sub#0) goto ultoa_append::@2 [ ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#2 ultoa_append::digit#2 ] ( main:7::printf_slong:74::ultoa:160::ultoa_append:291 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#2 ultoa_append::digit#2 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } main:7::printf_ulong:80::ultoa:166::ultoa_append:291 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#2 ultoa_append::digit#2 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a
Statement [354] *ultoa_append::buffer#0 = DIGITS[ultoa_append::digit#2] [ ultoa_append::value#2 ] ( main:7::printf_slong:74::ultoa:160::ultoa_append:291 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::value#2 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } main:7::printf_ulong:80::ultoa:166::ultoa_append:291 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::value#2 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a reg byte y
Statement [357] ultoa_append::value#1 = ultoa_append::value#2 - ultoa_append::sub#0 [ ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#1 ultoa_append::digit#1 ] ( main:7::printf_slong:74::ultoa:160::ultoa_append:291 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#1 ultoa_append::digit#1 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } main:7::printf_ulong:80::ultoa:166::ultoa_append:291 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#1 ultoa_append::digit#1 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a
Statement [360] toupper::return#0 = toupper::ch#0 + 'A'-'a' [ toupper::return#0 ] ( main:7::printf_uint:38::printf_number_buffer:135::strupr:245::toupper:339 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { toupper::return#2 = toupper::return#3 } } main:7::printf_uint:68::printf_number_buffer:135::strupr:245::toupper:339 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { toupper::return#2 = toupper::return#3 } } main:7::printf_schar:50::printf_number_buffer:142::strupr:245::toupper:339 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { toupper::return#2 = toupper::return#3 } } main:7::printf_uchar:56::printf_number_buffer:148::strupr:245::toupper:339 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { toupper::return#2 = toupper::return#3 } } main:7::printf_sint:62::printf_number_buffer:155::strupr:245::toupper:339 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { toupper::return#2 = toupper::return#3 } } main:7::printf_slong:74::printf_number_buffer:162::strupr:245::toupper:339 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } } main:7::printf_ulong:80::printf_number_buffer:168::strupr:245::toupper:339 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } } ) always clobbers reg byte a
Statement [1] conio_cursor_x = 0 [ printf_buffer ] ( [ printf_buffer ] { } ) always clobbers reg byte a
Statement [2] conio_cursor_y = 0 [ printf_buffer ] ( [ printf_buffer ] { } ) always clobbers reg byte a
Statement [3] conio_line_text = DEFAULT_SCREEN [ printf_buffer ] ( [ printf_buffer ] { } ) always clobbers reg byte a
Statement [4] conio_line_color = COLORRAM [ printf_buffer ] ( [ printf_buffer ] { } ) always clobbers reg byte a
Statement [16] cputc::c#0 = stackidx(char,cputc::OFFSET_STACK_C) [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color cputc::c#0 ] ( [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color cputc::c#0 ] { } main:7::cputc:32 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color cputc::c#0 ] { } main:7::cputc:44 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color cputc::c#0 ] { } ) always clobbers reg byte a reg byte x
Statement [18] conio_line_text[conio_cursor_x] = cputc::c#0 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] ( [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte y
Statement [19] conio_line_color[conio_cursor_x] = LIGHT_BLUE [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] ( [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a reg byte y
Statement [21] if(conio_cursor_x!=$28) goto cputc::@return [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] ( [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement [29] main::c = 'x' [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color main::c printf_buffer ] ( main:7 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color main::c printf_buffer ] { } ) always clobbers reg byte a
Statement [31] stackpush(char) = main::c [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] ( main:7 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { } ) always clobbers reg byte a
Statement sideeffect stackpullbytes(1) always clobbers reg byte a
Statement [43] stackpush(char) = '%' [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] ( main:7 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { } ) always clobbers reg byte a
Statement sideeffect stackpullbytes(1) always clobbers reg byte a
Statement [87] conio_cursor_x = gotoxy::x#2 [ gotoxy::y#4 ] ( gotoxy:14 [ gotoxy::y#4 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::y#4 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [89] gotoxy::$7 = (unsigned int)gotoxy::y#4 [ gotoxy::$7 ] ( gotoxy:14 [ gotoxy::$7 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::$7 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [90] gotoxy::$8 = gotoxy::$7 << 2 [ gotoxy::$7 gotoxy::$8 ] ( gotoxy:14 [ gotoxy::$7 gotoxy::$8 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::$7 gotoxy::$8 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [91] gotoxy::$9 = gotoxy::$8 + gotoxy::$7 [ gotoxy::$9 ] ( gotoxy:14 [ gotoxy::$9 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::$9 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [92] gotoxy::line_offset#0 = gotoxy::$9 << 3 [ gotoxy::line_offset#0 ] ( gotoxy:14 [ gotoxy::line_offset#0 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::line_offset#0 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [93] gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0 [ gotoxy::line_offset#0 gotoxy::$5 ] ( gotoxy:14 [ gotoxy::line_offset#0 gotoxy::$5 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::line_offset#0 gotoxy::$5 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [94] conio_line_text = gotoxy::$5 [ gotoxy::line_offset#0 ] ( gotoxy:14 [ gotoxy::line_offset#0 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::line_offset#0 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [95] gotoxy::$6 = COLORRAM + gotoxy::line_offset#0 [ gotoxy::$6 ] ( gotoxy:14 [ gotoxy::$6 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::$6 ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [96] conio_line_color = gotoxy::$6 [ ] ( gotoxy:14 [ ] { { gotoxy::y#2 = conio_c64_init::line#2 } } conio_c64_init:5::gotoxy:14 [ printf_buffer ] { { gotoxy::y#2 = conio_c64_init::line#2 } } ) always clobbers reg byte a
Statement [98] conio_line_text = conio_line_text + $28 [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23 [ conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:23 [ printf_buffer conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:23 [ printf_buffer conio_cursor_y conio_line_text conio_line_color ] { } cputln:26 [ conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:26 [ printf_buffer conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:26 [ printf_buffer conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement [99] conio_line_color = conio_line_color + $28 [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23 [ conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:23 [ printf_buffer conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:23 [ printf_buffer conio_cursor_y conio_line_text conio_line_color ] { } cputln:26 [ conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:26 [ printf_buffer conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:26 [ printf_buffer conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement [100] conio_cursor_x = 0 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] ( cputln:23 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:23 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:23 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } cputln:26 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:26 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:26 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement [107] conio_cursor_x = 0 [ conio_cursor_x ] ( main:7::clrscr:28 [ printf_buffer conio_cursor_x ] { } ) always clobbers reg byte a
Statement [108] conio_cursor_y = 0 [ conio_cursor_x conio_cursor_y ] ( main:7::clrscr:28 [ printf_buffer conio_cursor_x conio_cursor_y ] { } ) always clobbers reg byte a
Statement [109] conio_line_text = DEFAULT_SCREEN [ conio_cursor_x conio_cursor_y conio_line_text ] ( main:7::clrscr:28 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text ] { } ) always clobbers reg byte a
Statement [110] conio_line_color = COLORRAM [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] ( main:7::clrscr:28 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement [114] clrscr::line_text#1 = clrscr::line_text#5 + $28 [ clrscr::l#2 clrscr::line_cols#5 clrscr::line_text#1 ] ( main:7::clrscr:28 [ printf_buffer clrscr::l#2 clrscr::line_cols#5 clrscr::line_text#1 ] { } ) always clobbers reg byte a
Statement [115] clrscr::line_cols#1 = clrscr::line_cols#5 + $28 [ clrscr::l#2 clrscr::line_text#1 clrscr::line_cols#1 ] ( main:7::clrscr:28 [ printf_buffer clrscr::l#2 clrscr::line_text#1 clrscr::line_cols#1 ] { } ) always clobbers reg byte a
Statement [117] clrscr::line_text#5[clrscr::c#2] = ' ' [ clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] ( main:7::clrscr:28 [ printf_buffer clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] { } ) always clobbers reg byte a
Statement [118] clrscr::line_cols#5[clrscr::c#2] = LIGHT_BLUE [ clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] ( main:7::clrscr:28 [ printf_buffer clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] { } ) always clobbers reg byte a
Statement [122] printf_str::c#1 = *printf_str::s#20 [ printf_str::s#20 printf_str::c#1 printf_buffer ] ( main:7::printf_str:30 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color main::c printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:34 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:36 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:40 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:42 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:46 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:48 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:52 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:54 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:58 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:60 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:64 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:66 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:70 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:72 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:76 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:78 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_str:82 [ printf_str::s#20 printf_str::c#1 printf_buffer ] { } main:7::printf_uint:38::printf_number_buffer:135::printf_str:247 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#20 printf_str::c#1 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#20 printf_str::c#1 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#20 printf_str::c#1 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#20 printf_str::c#1 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#20 printf_str::c#1 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#20 printf_str::c#1 printf_buffer ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#20 printf_str::c#1 printf_buffer ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } ) always clobbers reg byte a reg byte y
Statement [127] callexecute *printf_str::putc#21 [ printf_str::s#0 printf_buffer ] ( main:7::printf_str:30 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color main::c printf_str::s#0 printf_buffer ] { } main:7::printf_str:34 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::s#0 printf_buffer ] { } main:7::printf_str:36 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::s#0 printf_buffer ] { } main:7::printf_str:40 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::s#0 printf_buffer ] { } main:7::printf_str:42 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::s#0 printf_buffer ] { } main:7::printf_str:46 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:48 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:52 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:54 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:58 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:60 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:64 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:66 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:70 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:72 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:76 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:78 [ printf_str::s#0 printf_buffer ] { } main:7::printf_str:82 [ printf_str::s#0 printf_buffer ] { } main:7::printf_uint:38::printf_number_buffer:135::printf_str:247 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_str:247 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } ) always clobbers reg byte a reg byte x reg byte y
Statement sideeffect stackpullbytes(1) always clobbers reg byte a
Statement [130] *((char *)&printf_buffer) = 0 [ printf_uint::uvalue#2 printf_uint::format_radix#2 printf_buffer ] ( main:7::printf_uint:38 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_uint::uvalue#2 printf_uint::format_radix#2 printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68 [ printf_uint::uvalue#2 printf_uint::format_radix#2 printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } ) always clobbers reg byte a
Statement [131] utoa::value#2 = printf_uint::uvalue#2 [ printf_uint::format_radix#2 printf_buffer utoa::value#2 ] ( main:7::printf_uint:38 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_uint::format_radix#2 printf_buffer utoa::value#2 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68 [ printf_uint::format_radix#2 printf_buffer utoa::value#2 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } ) always clobbers reg byte a
Statement [134] printf_number_buffer::buffer_sign#3 = *((char *)&printf_buffer) [ printf_buffer printf_number_buffer::buffer_sign#3 ] ( main:7::printf_uint:38 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::buffer_sign#3 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68 [ printf_buffer printf_number_buffer::buffer_sign#3 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } ) always clobbers reg byte a
Statement [137] *((char *)&printf_buffer) = 0 [ printf_buffer ] ( main:7::printf_schar:50 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [138] *((char *)&printf_buffer) = '-' [ printf_buffer ] ( main:7::printf_schar:50 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [141] printf_number_buffer::buffer_sign#4 = *((char *)&printf_buffer) [ printf_buffer printf_number_buffer::buffer_sign#4 ] ( main:7::printf_schar:50 [ printf_buffer printf_number_buffer::buffer_sign#4 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } ) always clobbers reg byte a
Statement [145] *((char *)&printf_buffer) = 0 [ printf_buffer ] ( main:7::printf_uchar:56 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [147] printf_number_buffer::buffer_sign#5 = *((char *)&printf_buffer) [ printf_buffer printf_number_buffer::buffer_sign#5 ] ( main:7::printf_uchar:56 [ printf_buffer printf_number_buffer::buffer_sign#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } ) always clobbers reg byte a
Statement [150] *((char *)&printf_buffer) = 0 [ printf_buffer ] ( main:7::printf_sint:62 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [151] *((char *)&printf_buffer) = '-' [ printf_buffer ] ( main:7::printf_sint:62 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [154] printf_number_buffer::buffer_sign#2 = *((char *)&printf_buffer) [ printf_buffer printf_number_buffer::buffer_sign#2 ] ( main:7::printf_sint:62 [ printf_buffer printf_number_buffer::buffer_sign#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } ) always clobbers reg byte a
Statement [157] *((char *)&printf_buffer) = 0 [ printf_buffer ] ( main:7::printf_slong:74 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [158] *((char *)&printf_buffer) = '-' [ printf_buffer ] ( main:7::printf_slong:74 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [161] printf_number_buffer::buffer_sign#0 = *((char *)&printf_buffer) [ printf_buffer printf_number_buffer::buffer_sign#0 ] ( main:7::printf_slong:74 [ printf_buffer printf_number_buffer::buffer_sign#0 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [165] *((char *)&printf_buffer) = 0 [ printf_buffer ] ( main:7::printf_ulong:80 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [167] printf_number_buffer::buffer_sign#1 = *((char *)&printf_buffer) [ printf_buffer printf_number_buffer::buffer_sign#1 ] ( main:7::printf_ulong:80 [ printf_buffer printf_number_buffer::buffer_sign#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [170] if(conio_cursor_y!=$19) goto cscroll::@return [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23::cscroll:102 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:23::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:23::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } cputln:26::cscroll:102 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:26::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:26::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement [179] conio_line_text = conio_line_text - $28 [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23::cscroll:102 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:23::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:23::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } cputln:26::cscroll:102 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:26::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:26::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement [180] conio_line_color = conio_line_color - $28 [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23::cscroll:102 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:23::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:23::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } cputln:26::cscroll:102 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:32::cputln:26::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } main:7::cputc:44::cputln:26::cscroll:102 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { } ) always clobbers reg byte a
Statement [188] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS) = 'e' [ printf_buffer ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [189] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1) = 'r' [ printf_buffer ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [190] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2) = 'r' [ printf_buffer ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [191] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3) = 0 [ printf_buffer ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer ] { } ) always clobbers reg byte a
Statement [198] *utoa::buffer#10 = DIGITS[utoa::$11] [ printf_buffer utoa::buffer#10 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::buffer#10 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer utoa::buffer#10 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer utoa::buffer#10 ] { } ) always clobbers reg byte a reg byte y
Statement [199] utoa::buffer#3 = ++ utoa::buffer#10 [ printf_buffer utoa::buffer#3 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::buffer#3 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer utoa::buffer#3 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer utoa::buffer#3 ] { } ) always clobbers reg byte a
Statement [200] *utoa::buffer#3 = 0 [ printf_buffer ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer ] { } ) always clobbers reg byte a reg byte y
Statement [201] utoa::$10 = utoa::digit#2 << 1 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::$10 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::$10 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::$10 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::$10 ] { } ) always clobbers reg byte a
Statement [202] utoa::digit_value#0 = utoa::digit_values#8[utoa::$10] [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { } ) always clobbers reg byte a reg byte y
Statement [204] if(utoa::value#3>=utoa::digit_value#0) goto utoa::@10 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::started#2 utoa::buffer#10 utoa::digit_value#0 ] { } ) always clobbers reg byte a
Statement [207] utoa_append::buffer#0 = utoa::buffer#10 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_uint:68::utoa:133 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_sint:62::utoa:153 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::value#3 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 ] { { 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 [208] utoa_append::value#0 = utoa::value#3 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_uint:68::utoa:133 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_sint:62::utoa:153 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { 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 [209] utoa_append::sub#0 = utoa::digit_value#0 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_uint:68::utoa:133 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_sint:62::utoa:153 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { 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 [211] utoa_append::return#0 = utoa_append::value#2 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::return#0 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::return#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_uint:68::utoa:133 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::return#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_sint:62::utoa:153 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::return#0 ] { { 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 [212] utoa::value#0 = utoa_append::return#0 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa::value#0 ] ( main:7::printf_uint:38::utoa:133 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa::value#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_uint:68::utoa:133 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa::value#0 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } } main:7::printf_sint:62::utoa:153 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa::value#0 ] { } ) always clobbers reg byte a
Statement [218] strlen::return#2 = strlen::len#2 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { strlen::return#2 = strlen::len#2 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { strlen::return#2 = strlen::len#2 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { strlen::return#2 = strlen::len#2 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { strlen::return#2 = strlen::len#2 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { strlen::return#2 = strlen::len#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } } ) always clobbers reg byte a
Statement [219] printf_number_buffer::$19 = strlen::return#2 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [221] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@13 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [224] printf_number_buffer::padding#1 = (signed char)printf_number_buffer::format_min_length#10 - printf_number_buffer::len#2 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [225] if(printf_number_buffer::padding#1>=0) goto printf_number_buffer::@21 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [228] if(0!=printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@2 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [229] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [230] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@8 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [231] printf_padding::putc#0 = printf_number_buffer::putc#10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } ) always clobbers reg byte a
Statement [232] printf_padding::length#0 = (char)printf_number_buffer::padding#10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } ) always clobbers reg byte a
Statement [234] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@3 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [235] stackpush(char) = printf_number_buffer::buffer_sign#10 [ ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [236] callexecute *printf_number_buffer::putc#10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a reg byte x reg byte y
Statement sideeffect stackpullbytes(1) always clobbers reg byte a
Statement [238] if(0==printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [239] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [240] printf_padding::putc#1 = printf_number_buffer::putc#10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } ) always clobbers reg byte a
Statement [241] printf_padding::length#1 = (char)printf_number_buffer::padding#10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } ) always clobbers reg byte a
Statement [243] if(0==printf_number_buffer::format_upper_case#10) goto printf_number_buffer::@5 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [246] printf_str::putc#0 = printf_number_buffer::putc#10 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#21 printf_number_buffer::putc#10 } } ) always clobbers reg byte a
Statement [248] if(0==printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@return [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [249] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@return [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [250] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@12 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a
Statement [251] printf_padding::putc#2 = printf_number_buffer::putc#10 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } ) always clobbers reg byte a
Statement [252] printf_padding::length#2 = (char)printf_number_buffer::padding#10 [ printf_buffer printf_padding::putc#2 printf_padding::length#2 ] ( main:7::printf_uint:38::printf_number_buffer:135 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_padding::putc#2 printf_padding::length#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135 [ printf_buffer printf_padding::putc#2 printf_padding::length#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142 [ printf_buffer printf_padding::putc#2 printf_padding::length#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148 [ printf_buffer printf_padding::putc#2 printf_padding::length#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155 [ printf_buffer printf_padding::putc#2 printf_padding::length#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162 [ printf_buffer printf_padding::putc#2 printf_padding::length#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168 [ printf_buffer printf_padding::putc#2 printf_padding::length#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } ) always clobbers reg byte a
Statement [258] *uctoa::buffer#10 = DIGITS[uctoa::value#3] [ printf_buffer uctoa::buffer#10 ] ( main:7::printf_schar:50::uctoa:140 [ printf_buffer uctoa::buffer#10 ] { } main:7::printf_uchar:56::uctoa:146 [ printf_buffer uctoa::buffer#10 ] { } ) always clobbers reg byte a reg byte y
Statement [259] uctoa::buffer#3 = ++ uctoa::buffer#10 [ printf_buffer uctoa::buffer#3 ] ( main:7::printf_schar:50::uctoa:140 [ printf_buffer uctoa::buffer#3 ] { } main:7::printf_uchar:56::uctoa:146 [ printf_buffer uctoa::buffer#3 ] { } ) always clobbers reg byte a
Statement [260] *uctoa::buffer#3 = 0 [ printf_buffer ] ( main:7::printf_schar:50::uctoa:140 [ printf_buffer ] { } main:7::printf_uchar:56::uctoa:146 [ printf_buffer ] { } ) always clobbers reg byte a reg byte y
Statement [267] uctoa_append::buffer#0 = uctoa::buffer#10 [ printf_buffer uctoa::digit#2 uctoa::value#3 uctoa::buffer#10 uctoa::digit_value#0 uctoa_append::buffer#0 ] ( main:7::printf_schar:50::uctoa:140 [ printf_buffer uctoa::digit#2 uctoa::value#3 uctoa::buffer#10 uctoa::digit_value#0 uctoa_append::buffer#0 ] { { uctoa_append::buffer#0 = uctoa::buffer#10 } { uctoa_append::value#0 = uctoa::value#3 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } } main:7::printf_uchar:56::uctoa:146 [ printf_buffer uctoa::digit#2 uctoa::value#3 uctoa::buffer#10 uctoa::digit_value#0 uctoa_append::buffer#0 ] { { uctoa_append::buffer#0 = uctoa::buffer#10 } { uctoa_append::value#0 = uctoa::value#3 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } } ) always clobbers reg byte a
Statement [277] ultoa::$11 = (char)ultoa::value#3 [ printf_buffer ultoa::buffer#10 ultoa::$11 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::buffer#10 ultoa::$11 ] { } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::buffer#10 ultoa::$11 ] { } ) always clobbers reg byte a
Statement [278] *ultoa::buffer#10 = DIGITS[ultoa::$11] [ printf_buffer ultoa::buffer#10 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::buffer#10 ] { } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::buffer#10 ] { } ) always clobbers reg byte a reg byte y
Statement [279] ultoa::buffer#3 = ++ ultoa::buffer#10 [ printf_buffer ultoa::buffer#3 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::buffer#3 ] { } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::buffer#3 ] { } ) always clobbers reg byte a
Statement [280] *ultoa::buffer#3 = 0 [ printf_buffer ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ] { } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ] { } ) always clobbers reg byte a reg byte y
Statement [282] ultoa::$10 = ultoa::digit#2 << 2 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::$10 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::$10 ] { } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::$10 ] { } ) always clobbers reg byte a
Statement [283] ultoa::digit_value#0 = RADIX_DECIMAL_VALUES_LONG[ultoa::$10] [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::digit_value#0 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::digit_value#0 ] { } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::digit_value#0 ] { } ) always clobbers reg byte a
Statement [285] if(ultoa::value#3>=ultoa::digit_value#0) goto ultoa::@5 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::digit_value#0 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::digit_value#0 ] { } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::started#2 ultoa::buffer#10 ultoa::digit_value#0 ] { } ) always clobbers reg byte a
Statement [288] ultoa_append::buffer#0 = ultoa::buffer#10 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::buffer#10 ultoa::digit_value#0 ultoa_append::buffer#0 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::buffer#10 ultoa::digit_value#0 ultoa_append::buffer#0 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::digit#2 ultoa::value#3 ultoa::buffer#10 ultoa::digit_value#0 ultoa_append::buffer#0 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a
Statement [289] ultoa_append::value#0 = ultoa::value#3 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa::digit_value#0 ultoa_append::buffer#0 ultoa_append::value#0 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa::digit_value#0 ultoa_append::buffer#0 ultoa_append::value#0 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa::digit_value#0 ultoa_append::buffer#0 ultoa_append::value#0 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a
Statement [290] ultoa_append::sub#0 = ultoa::digit_value#0 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::buffer#0 ultoa_append::value#0 ultoa_append::sub#0 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::buffer#0 ultoa_append::value#0 ultoa_append::sub#0 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::buffer#0 ultoa_append::value#0 ultoa_append::sub#0 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a
Statement [292] ultoa_append::return#0 = ultoa_append::value#2 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::return#0 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::return#0 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::return#0 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a
Statement [293] ultoa::value#0 = ultoa_append::return#0 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa::value#0 ] ( main:7::printf_slong:74::ultoa:160 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa::value#0 ] { } main:7::printf_ulong:80::ultoa:166 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa::value#0 ] { } ) always clobbers reg byte a
Statement [296] memcpy::src_end#0 = (char *)memcpy::source#2 + (unsigned int)$19*$28-$28 [ memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] ( cputln:23::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } cputln:26::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } cputln:23::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } cputln:26::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { } ) always clobbers reg byte a
Statement [297] memcpy::src#4 = (char *)memcpy::source#2 [ memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] ( cputln:23::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } cputln:26::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } cputln:23::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } cputln:26::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { } ) always clobbers reg byte a
Statement [298] memcpy::dst#4 = (char *)memcpy::destination#2 [ memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] ( cputln:23::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } cputln:26::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } cputln:23::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } cputln:26::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { } ) always clobbers reg byte a
Statement [300] if(memcpy::src#2!=memcpy::src_end#0) goto memcpy::@2 [ memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] ( cputln:23::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } cputln:26::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } cputln:23::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } cputln:26::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } ) always clobbers reg byte a
Statement [302] *memcpy::dst#2 = *memcpy::src#2 [ memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] ( cputln:23::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } cputln:26::cscroll:102::memcpy:172 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:172 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } cputln:23::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:32::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:44::cputln:23::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } cputln:26::cscroll:102::memcpy:174 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:32::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } main:7::cputc:44::cputln:26::cscroll:102::memcpy:174 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { } ) always clobbers reg byte a reg byte y
Statement [306] memset::end#0 = (char *)memset::str#3 + $28 [ memset::str#3 memset::c#4 memset::end#0 ] ( cputln:23::cscroll:102::memset:176 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } main:7::cputc:32::cputln:23::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } main:7::cputc:44::cputln:23::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } cputln:26::cscroll:102::memset:176 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } main:7::cputc:32::cputln:26::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } main:7::cputc:44::cputln:26::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } cputln:23::cscroll:102::memset:178 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } main:7::cputc:32::cputln:23::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } main:7::cputc:44::cputln:23::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } cputln:26::cscroll:102::memset:178 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } main:7::cputc:32::cputln:26::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } main:7::cputc:44::cputln:26::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { } ) always clobbers reg byte a
Statement [307] memset::dst#4 = (char *)memset::str#3 [ memset::c#4 memset::end#0 memset::dst#4 ] ( cputln:23::cscroll:102::memset:176 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } main:7::cputc:32::cputln:23::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } main:7::cputc:44::cputln:23::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } cputln:26::cscroll:102::memset:176 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } main:7::cputc:32::cputln:26::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } main:7::cputc:44::cputln:26::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } cputln:23::cscroll:102::memset:178 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } main:7::cputc:32::cputln:23::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } main:7::cputc:44::cputln:23::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } cputln:26::cscroll:102::memset:178 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } main:7::cputc:32::cputln:26::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } main:7::cputc:44::cputln:26::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { } ) always clobbers reg byte a
Statement [309] if(memset::dst#2!=memset::end#0) goto memset::@3 [ memset::c#4 memset::end#0 memset::dst#2 ] ( cputln:23::cscroll:102::memset:176 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:32::cputln:23::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:44::cputln:23::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } cputln:26::cscroll:102::memset:176 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:32::cputln:26::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:44::cputln:26::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } cputln:23::cscroll:102::memset:178 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:32::cputln:23::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:44::cputln:23::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } cputln:26::cscroll:102::memset:178 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:32::cputln:26::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:44::cputln:26::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } ) always clobbers reg byte a
Statement [311] *memset::dst#2 = memset::c#4 [ memset::c#4 memset::end#0 memset::dst#2 ] ( cputln:23::cscroll:102::memset:176 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:32::cputln:23::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:44::cputln:23::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } cputln:26::cscroll:102::memset:176 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:32::cputln:26::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:44::cputln:26::cscroll:102::memset:176 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } cputln:23::cscroll:102::memset:178 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:32::cputln:23::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:44::cputln:23::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } cputln:26::cscroll:102::memset:178 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:32::cputln:26::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } main:7::cputc:44::cputln:26::cscroll:102::memset:178 [ printf_buffer conio_cursor_x conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { } ) always clobbers reg byte a reg byte y
Statement [315] 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:7::printf_uint:38::utoa:133::utoa_append:210 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_uint:68::utoa:133::utoa_append:210 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_sint:62::utoa:153::utoa_append:210 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] { { 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 [316] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2] [ utoa_append::value#2 ] ( main:7::printf_uint:38::utoa:133::utoa_append:210 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::value#2 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_uint:68::utoa:133::utoa_append:210 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::value#2 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_sint:62::utoa:153::utoa_append:210 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::value#2 ] { { 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 [319] 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:7::printf_uint:38::utoa:133::utoa_append:210 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_uint:68::utoa:133::utoa_append:210 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] { { utoa::radix#1 = utoa::radix#2 printf_uint::format_radix#2 } { utoa::value#10 = utoa::value#2 printf_uint::uvalue#2 } { 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:7::printf_sint:62::utoa:153::utoa_append:210 [ printf_buffer utoa::max_digits#7 utoa::digit_values#8 utoa::digit#2 utoa::buffer#10 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] { { 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 [322] if(0!=*strlen::str#2) goto strlen::@2 [ printf_buffer strlen::len#2 strlen::str#2 ] ( main:7::printf_uint:38::printf_number_buffer:135::strlen:217 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { strlen::return#2 = strlen::len#2 } } main:7::printf_uint:68::printf_number_buffer:135::strlen:217 [ printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { strlen::return#2 = strlen::len#2 } } main:7::printf_schar:50::printf_number_buffer:142::strlen:217 [ printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { strlen::return#2 = strlen::len#2 } } main:7::printf_uchar:56::printf_number_buffer:148::strlen:217 [ printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { strlen::return#2 = strlen::len#2 } } main:7::printf_sint:62::printf_number_buffer:155::strlen:217 [ printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { strlen::return#2 = strlen::len#2 } } main:7::printf_slong:74::printf_number_buffer:162::strlen:217 [ printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } } main:7::printf_ulong:80::printf_number_buffer:168::strlen:217 [ printf_number_buffer::format_min_length#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } } ) always clobbers reg byte a reg byte y
Statement [328] if(printf_padding::i#2<printf_padding::length#4) goto printf_padding::@2 [ printf_padding::pad#5 ] ( main:7::printf_uint:38::printf_number_buffer:135::printf_padding:233 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:38::printf_number_buffer:135::printf_padding:242 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:38::printf_number_buffer:135::printf_padding:253 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_padding:253 [ printf_buffer printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_padding:253 [ printf_buffer printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_padding:253 [ printf_buffer printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_padding:253 [ printf_buffer printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_padding:253 [ printf_buffer printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_padding:253 [ printf_buffer printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } ) always clobbers reg byte a
Statement [330] stackpush(char) = printf_padding::pad#5 [ ] ( main:7::printf_uint:38::printf_number_buffer:135::printf_padding:233 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:38::printf_number_buffer:135::printf_padding:242 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:38::printf_number_buffer:135::printf_padding:253 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_padding:253 [ printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_padding:253 [ printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_padding:253 [ printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_padding:253 [ printf_buffer ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_padding:253 [ printf_buffer ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_padding:253 [ printf_buffer ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } ) always clobbers reg byte a
Statement [331] callexecute *printf_padding::putc#5 [ printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] ( main:7::printf_uint:38::printf_number_buffer:135::printf_padding:233 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_padding:233 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:38::printf_number_buffer:135::printf_padding:242 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_padding:242 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:38::printf_number_buffer:135::printf_padding:253 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uint:68::printf_number_buffer:135::printf_padding:253 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_schar:50::printf_number_buffer:142::printf_padding:253 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_uchar:56::printf_number_buffer:148::printf_padding:253 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_sint:62::printf_number_buffer:155::printf_padding:253 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_slong:74::printf_number_buffer:162::printf_padding:253 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } main:7::printf_ulong:80::printf_number_buffer:168::printf_padding:253 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } } ) always clobbers reg byte a reg byte x reg byte y
Statement sideeffect stackpullbytes(1) always clobbers reg byte a
Statement [336] if(0!=*strupr::src#2) goto strupr::@2 [ strupr::src#2 ] ( main:7::printf_uint:38::printf_number_buffer:135::strupr:245 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a reg byte y
Statement [338] toupper::ch#0 = *strupr::src#2 [ strupr::src#2 toupper::ch#0 ] ( main:7::printf_uint:38::printf_number_buffer:135::strupr:245 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { toupper::return#2 = toupper::return#3 } } main:7::printf_uint:68::printf_number_buffer:135::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { toupper::return#2 = toupper::return#3 } } main:7::printf_schar:50::printf_number_buffer:142::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { toupper::return#2 = toupper::return#3 } } main:7::printf_uchar:56::printf_number_buffer:148::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { toupper::return#2 = toupper::return#3 } } main:7::printf_sint:62::printf_number_buffer:155::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { toupper::return#2 = toupper::return#3 } } main:7::printf_slong:74::printf_number_buffer:162::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } } main:7::printf_ulong:80::printf_number_buffer:168::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } } ) always clobbers reg byte a reg byte y
Statement [342] *strupr::src#2 = strupr::$0 [ strupr::src#2 ] ( main:7::printf_uint:38::printf_number_buffer:135::strupr:245 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_uint:68::printf_number_buffer:135::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } } main:7::printf_schar:50::printf_number_buffer:142::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } } main:7::printf_uchar:56::printf_number_buffer:148::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } } main:7::printf_sint:62::printf_number_buffer:155::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } } main:7::printf_slong:74::printf_number_buffer:162::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_ulong:80::printf_number_buffer:168::strupr:245 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte y
Statement [347] *uctoa_append::buffer#0 = DIGITS[uctoa_append::digit#2] [ uctoa_append::value#2 ] ( main:7::printf_schar:50::uctoa:140::uctoa_append:270 [ printf_buffer uctoa::digit#2 uctoa::buffer#10 uctoa_append::value#2 ] { { uctoa_append::buffer#0 = uctoa::buffer#10 } { uctoa_append::value#0 = uctoa::value#3 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } } main:7::printf_uchar:56::uctoa:146::uctoa_append:270 [ printf_buffer uctoa::digit#2 uctoa::buffer#10 uctoa_append::value#2 ] { { uctoa_append::buffer#0 = uctoa::buffer#10 } { uctoa_append::value#0 = uctoa::value#3 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } } ) always clobbers reg byte a reg byte y
Statement [350] uctoa_append::value#1 = uctoa_append::value#2 - uctoa_append::sub#0 [ uctoa_append::buffer#0 uctoa_append::sub#0 uctoa_append::value#1 uctoa_append::digit#1 ] ( main:7::printf_schar:50::uctoa:140::uctoa_append:270 [ printf_buffer uctoa::digit#2 uctoa::buffer#10 uctoa_append::buffer#0 uctoa_append::sub#0 uctoa_append::value#1 uctoa_append::digit#1 ] { { uctoa_append::buffer#0 = uctoa::buffer#10 } { uctoa_append::value#0 = uctoa::value#3 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } } main:7::printf_uchar:56::uctoa:146::uctoa_append:270 [ printf_buffer uctoa::digit#2 uctoa::buffer#10 uctoa_append::buffer#0 uctoa_append::sub#0 uctoa_append::value#1 uctoa_append::digit#1 ] { { uctoa_append::buffer#0 = uctoa::buffer#10 } { uctoa_append::value#0 = uctoa::value#3 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } } ) always clobbers reg byte a
Statement [353] if(ultoa_append::value#2>=ultoa_append::sub#0) goto ultoa_append::@2 [ ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#2 ultoa_append::digit#2 ] ( main:7::printf_slong:74::ultoa:160::ultoa_append:291 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#2 ultoa_append::digit#2 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } main:7::printf_ulong:80::ultoa:166::ultoa_append:291 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#2 ultoa_append::digit#2 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a
Statement [354] *ultoa_append::buffer#0 = DIGITS[ultoa_append::digit#2] [ ultoa_append::value#2 ] ( main:7::printf_slong:74::ultoa:160::ultoa_append:291 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::value#2 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } main:7::printf_ulong:80::ultoa:166::ultoa_append:291 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::value#2 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a reg byte y
Statement [357] ultoa_append::value#1 = ultoa_append::value#2 - ultoa_append::sub#0 [ ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#1 ultoa_append::digit#1 ] ( main:7::printf_slong:74::ultoa:160::ultoa_append:291 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#1 ultoa_append::digit#1 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } main:7::printf_ulong:80::ultoa:166::ultoa_append:291 [ printf_buffer ultoa::digit#2 ultoa::buffer#10 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#1 ultoa_append::digit#1 ] { { ultoa_append::buffer#0 = ultoa::buffer#10 } { ultoa_append::value#0 = ultoa::value#3 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a
Statement [360] toupper::return#0 = toupper::ch#0 + 'A'-'a' [ toupper::return#0 ] ( main:7::printf_uint:38::printf_number_buffer:135::strupr:245::toupper:339 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { toupper::return#2 = toupper::return#3 } } main:7::printf_uint:68::printf_number_buffer:135::strupr:245::toupper:339 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 } { toupper::return#2 = toupper::return#3 } } main:7::printf_schar:50::printf_number_buffer:142::strupr:245::toupper:339 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 } { toupper::return#2 = toupper::return#3 } } main:7::printf_uchar:56::printf_number_buffer:148::strupr:245::toupper:339 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 } { toupper::return#2 = toupper::return#3 } } main:7::printf_sint:62::printf_number_buffer:155::strupr:245::toupper:339 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { toupper::return#2 = toupper::return#3 } } main:7::printf_slong:74::printf_number_buffer:162::strupr:245::toupper:339 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } } main:7::printf_ulong:80::printf_number_buffer:168::strupr:245::toupper:339 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } } ) always clobbers reg byte a
Potential registers zp[1]:2 [ conio_c64_init::line#2 conio_c64_init::line#0 ] : zp[1]:2 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:3 [ gotoxy::y#4 gotoxy::y#2 ] : zp[1]:3 , reg byte x , reg byte y ,
Potential registers zp[1]:4 [ clrscr::l#2 clrscr::l#1 ] : zp[1]:4 , reg byte x , reg byte y ,
Potential registers zp[2]:5 [ clrscr::line_text#5 clrscr::line_text#1 ] : zp[2]:5 ,
Potential registers zp[2]:7 [ clrscr::line_cols#5 clrscr::line_cols#1 ] : zp[2]:7 ,
Potential registers zp[1]:9 [ clrscr::c#2 clrscr::c#1 ] : zp[1]:9 , reg byte x , reg byte y ,
Potential registers zp[2]:10 [ printf_str::putc#21 printf_str::putc#0 ] : zp[2]:10 ,
Potential registers zp[2]:12 [ printf_str::s#20 printf_str::s#21 printf_str::s#0 ] : zp[2]:12 ,
Potential registers zp[2]:14 [ printf_uint::uvalue#2 ] : zp[2]:14 ,
Potential registers zp[1]:16 [ printf_uint::format_radix#2 ] : zp[1]:16 , reg byte x , reg byte y ,
Potential registers zp[1]:17 [ utoa::radix#2 utoa::radix#1 ] : zp[1]:17 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:18 [ utoa::max_digits#7 ] : zp[1]:18 , reg byte x ,
Potential registers zp[2]:19 [ utoa::digit_values#8 ] : zp[2]:19 ,
Potential registers zp[1]:21 [ utoa::digit#2 utoa::digit#1 ] : zp[1]:21 , reg byte x ,
Potential registers zp[2]:22 [ utoa::value#3 utoa::value#7 utoa::value#10 utoa::value#2 utoa::value#0 ] : zp[2]:22 ,
Potential registers zp[1]:24 [ utoa::started#2 utoa::started#4 ] : zp[1]:24 , reg byte x ,
Potential registers zp[2]:25 [ utoa::buffer#10 utoa::buffer#15 utoa::buffer#4 ] : zp[2]:25 ,
Potential registers zp[1]:27 [ printf_number_buffer::format_min_length#10 ] : zp[1]:27 , reg byte x ,
Potential registers zp[1]:28 [ printf_number_buffer::format_justify_left#10 ] : zp[1]:28 ,
Potential registers zp[1]:29 [ printf_number_buffer::format_zero_padding#10 ] : zp[1]:29 ,
Potential registers zp[1]:30 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#4 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#0 printf_number_buffer::buffer_sign#5 printf_number_buffer::buffer_sign#3 printf_number_buffer::buffer_sign#1 ] : zp[1]:30 ,
Potential registers zp[2]:31 [ printf_number_buffer::putc#10 ] : zp[2]:31 ,
Potential registers zp[1]:33 [ printf_number_buffer::format_upper_case#10 ] : zp[1]:33 ,
Potential registers zp[1]:34 [ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ] : zp[1]:34 , reg byte x , reg byte y ,
Potential registers zp[1]:35 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ] : zp[1]:35 ,
Potential registers zp[1]:36 [ uctoa::digit#2 uctoa::digit#1 ] : zp[1]:36 , reg byte x ,
Potential registers zp[1]:37 [ uctoa::value#3 uctoa::value#7 uctoa::value#10 uctoa::value#0 ] : zp[1]:37 , reg byte x , reg byte y ,
Potential registers zp[1]:38 [ uctoa::started#2 uctoa::started#4 ] : zp[1]:38 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[2]:39 [ uctoa::buffer#10 uctoa::buffer#15 uctoa::buffer#4 ] : zp[2]:39 ,
Potential registers zp[1]:41 [ ultoa::digit#2 ultoa::digit#1 ] : zp[1]:41 , reg byte x ,
Potential registers zp[4]:42 [ ultoa::value#3 ultoa::value#7 ultoa::value#10 ultoa::value#0 ] : zp[4]:42 ,
Potential registers zp[1]:46 [ ultoa::started#2 ultoa::started#4 ] : zp[1]:46 , reg byte x , reg byte y ,
Potential registers zp[2]:47 [ ultoa::buffer#10 ultoa::buffer#15 ultoa::buffer#4 ] : zp[2]:47 ,
Potential registers zp[2]:49 [ memcpy::source#2 ] : zp[2]:49 ,
Potential registers zp[2]:51 [ memcpy::destination#2 ] : zp[2]:51 ,
Potential registers zp[2]:53 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 ] : zp[2]:53 ,
Potential registers zp[2]:55 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] : zp[2]:55 ,
Potential registers zp[2]:57 [ memset::str#3 ] : zp[2]:57 ,
Potential registers zp[1]:59 [ memset::c#4 ] : zp[1]:59 , reg byte x ,
Potential registers zp[2]:60 [ memset::dst#2 memset::dst#4 memset::dst#1 ] : zp[2]:60 ,
Potential registers zp[2]:62 [ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ] : zp[2]:62 ,
Potential registers zp[1]:64 [ utoa_append::digit#2 utoa_append::digit#1 ] : zp[1]:64 , reg byte x , reg byte y ,
Potential registers zp[2]:65 [ strlen::str#2 strlen::str#0 ] : zp[2]:65 ,
Potential registers zp[2]:67 [ strlen::len#2 strlen::len#1 ] : zp[2]:67 ,
Potential registers zp[1]:69 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ] : zp[1]:69 ,
Potential registers zp[1]:70 [ printf_padding::pad#5 ] : zp[1]:70 ,
Potential registers zp[2]:71 [ printf_padding::putc#5 printf_padding::putc#1 printf_padding::putc#2 printf_padding::putc#0 ] : zp[2]:71 ,
Potential registers zp[1]:73 [ printf_padding::i#2 printf_padding::i#1 ] : zp[1]:73 ,
Potential registers zp[2]:74 [ strupr::src#2 strupr::src#1 ] : zp[2]:74 ,
Potential registers zp[1]:76 [ uctoa_append::value#2 uctoa_append::value#0 uctoa_append::value#1 ] : zp[1]:76 , reg byte x ,
Potential registers zp[1]:77 [ uctoa_append::digit#2 uctoa_append::digit#1 ] : zp[1]:77 , reg byte x , reg byte y ,
Potential registers zp[4]:78 [ ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ] : zp[4]:78 ,
Potential registers zp[1]:82 [ ultoa_append::digit#2 ultoa_append::digit#1 ] : zp[1]:82 , reg byte x , reg byte y ,
Potential registers zp[1]:83 [ toupper::return#2 toupper::return#0 toupper::ch#0 ] : zp[1]:83 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:84 [ conio_cursor_x ] : zp[1]:84 ,
Potential registers zp[1]:85 [ conio_cursor_y ] : zp[1]:85 ,
Potential registers zp[2]:86 [ conio_line_text ] : zp[2]:86 ,
Potential registers zp[2]:88 [ conio_line_color ] : zp[2]:88 ,
Potential registers zp[1]:90 [ cputc::c#0 ] : zp[1]:90 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:91 [ main::c ] : zp[1]:91 ,
Potential registers zp[2]:92 [ gotoxy::$7 ] : zp[2]:92 ,
Potential registers zp[2]:94 [ gotoxy::$8 ] : zp[2]:94 ,
Potential registers zp[2]:96 [ gotoxy::$9 ] : zp[2]:96 ,
Potential registers zp[2]:98 [ gotoxy::line_offset#0 ] : zp[2]:98 ,
Potential registers zp[2]:100 [ gotoxy::$5 ] : zp[2]:100 ,
Potential registers zp[2]:102 [ gotoxy::$6 ] : zp[2]:102 ,
Potential registers zp[1]:104 [ printf_str::c#1 ] : zp[1]:104 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:105 [ utoa::$4 ] : zp[1]:105 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:106 [ utoa::$11 ] : zp[1]:106 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[2]:107 [ utoa::buffer#3 ] : zp[2]:107 ,
Potential registers zp[1]:109 [ utoa::$10 ] : zp[1]:109 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[2]:110 [ utoa::digit_value#0 ] : zp[2]:110 ,
Potential registers zp[2]:112 [ utoa_append::buffer#0 ] : zp[2]:112 ,
Potential registers zp[2]:114 [ utoa_append::sub#0 ] : zp[2]:114 ,
Potential registers zp[2]:116 [ utoa_append::return#0 ] : zp[2]:116 ,
Potential registers zp[2]:118 [ strlen::return#2 ] : zp[2]:118 ,
Potential registers zp[2]:120 [ printf_number_buffer::$19 ] : zp[2]:120 ,
Potential registers zp[2]:122 [ uctoa::buffer#3 ] : zp[2]:122 ,
Potential registers zp[1]:124 [ uctoa::digit_value#0 ] : zp[1]:124 , reg byte x , reg byte y ,
Potential registers zp[2]:125 [ uctoa_append::buffer#0 ] : zp[2]:125 ,
Potential registers zp[1]:127 [ uctoa_append::sub#0 ] : zp[1]:127 , reg byte x , reg byte y ,
Potential registers zp[1]:128 [ uctoa_append::return#0 ] : zp[1]:128 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:129 [ ultoa::$11 ] : zp[1]:129 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[2]:130 [ ultoa::buffer#3 ] : zp[2]:130 ,
Potential registers zp[1]:132 [ ultoa::$10 ] : zp[1]:132 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[4]:133 [ ultoa::digit_value#0 ] : zp[4]:133 ,
Potential registers zp[2]:137 [ ultoa_append::buffer#0 ] : zp[2]:137 ,
Potential registers zp[4]:139 [ ultoa_append::sub#0 ] : zp[4]:139 ,
Potential registers zp[4]:143 [ ultoa_append::return#0 ] : zp[4]:143 ,
Potential registers zp[2]:147 [ memcpy::src_end#0 ] : zp[2]:147 ,
Potential registers zp[2]:149 [ memset::end#0 ] : zp[2]:149 ,
Potential registers zp[1]:151 [ toupper::return#3 ] : zp[1]:151 , reg byte a , reg byte x , reg byte y ,
Potential registers zp[1]:152 [ strupr::$0 ] : zp[1]:152 , reg byte a , reg byte x , reg byte y ,
Potential registers mem[12] [ printf_buffer ] : mem[12] ,
REGISTER UPLIFT SCOPES
Uplift Scope [uctoa_append] 25,055,003.5: zp[1]:76 [ uctoa_append::value#2 uctoa_append::value#0 uctoa_append::value#1 ] 20,050,002.5: zp[1]:77 [ uctoa_append::digit#2 uctoa_append::digit#1 ] 3,335,000.5: zp[1]:127 [ uctoa_append::sub#0 ] 20,002: zp[1]:128 [ uctoa_append::return#0 ] 13,750.25: zp[2]:125 [ uctoa_append::buffer#0 ]
Uplift Scope [utoa_append] 25,055,003.5: zp[2]:62 [ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ] 20,050,002.5: zp[1]:64 [ utoa_append::digit#2 utoa_append::digit#1 ] 3,335,000.5: zp[2]:114 [ utoa_append::sub#0 ] 20,002: zp[2]:116 [ utoa_append::return#0 ] 13,750.25: zp[2]:112 [ utoa_append::buffer#0 ]
Uplift Scope [ultoa_append] 25,055,003.5: zp[4]:78 [ ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ] 20,050,002.5: zp[1]:82 [ ultoa_append::digit#2 ultoa_append::digit#1 ] 3,335,000.5: zp[4]:139 [ ultoa_append::sub#0 ] 20,002: zp[4]:143 [ ultoa_append::return#0 ] 13,750.25: zp[2]:137 [ ultoa_append::buffer#0 ]
Uplift Scope [memcpy] 3,125,004.25: zp[2]:53 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 ] 2,233,337.67: zp[2]:55 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] 137,500.25: zp[2]:147 [ memcpy::src_end#0 ] 0: zp[2]:49 [ memcpy::source#2 ] 0: zp[2]:51 [ memcpy::destination#2 ]
Uplift Scope [toupper] 4,733,338.67: zp[1]:83 [ toupper::return#2 toupper::return#0 toupper::ch#0 ] 200,002: zp[1]:151 [ toupper::return#3 ]
Uplift Scope [memset] 3,566,672.33: zp[2]:60 [ memset::dst#2 memset::dst#4 memset::dst#1 ] 183,333.67: zp[2]:149 [ memset::end#0 ] 142,857.29: zp[1]:59 [ memset::c#4 ] 0: zp[2]:57 [ memset::str#3 ]
Uplift Scope [strupr] 271,431.29: zp[2]:74 [ strupr::src#2 strupr::src#1 ] 200,002: zp[1]:152 [ strupr::$0 ]
Uplift Scope [strlen] 300,003: zp[2]:65 [ strlen::str#2 strlen::str#0 ] 150,251.75: zp[2]:67 [ strlen::len#2 strlen::len#1 ] 2,002: zp[2]:118 [ strlen::return#2 ]
Uplift Scope [printf_str] 265,004: zp[2]:12 [ printf_str::s#20 printf_str::s#21 printf_str::s#0 ] 100,001: zp[1]:104 [ printf_str::c#1 ] 12,012: zp[2]:10 [ printf_str::putc#21 printf_str::putc#0 ]
Uplift Scope [printf_padding] 300,003: zp[1]:73 [ printf_padding::i#2 printf_padding::i#1 ] 33,033: zp[2]:71 [ printf_padding::putc#5 printf_padding::putc#1 printf_padding::putc#2 printf_padding::putc#0 ] 26,606.8: zp[1]:69 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ] 16,666.83: zp[1]:70 [ printf_padding::pad#5 ]
Uplift Scope [utoa] 37,803.9: zp[2]:25 [ utoa::buffer#10 utoa::buffer#15 utoa::buffer#4 ] 30,412.79: zp[2]:22 [ utoa::value#3 utoa::value#7 utoa::value#10 utoa::value#2 utoa::value#0 ] 22,668.93: zp[1]:21 [ utoa::digit#2 utoa::digit#1 ] 20,002: zp[1]:105 [ utoa::$4 ] 20,002: zp[1]:109 [ utoa::$10 ] 14,287.14: zp[1]:24 [ utoa::started#2 utoa::started#4 ] 6,000.6: zp[2]:110 [ utoa::digit_value#0 ] 2,002: zp[1]:106 [ utoa::$11 ] 2,002: zp[2]:107 [ utoa::buffer#3 ] 1,228.25: zp[1]:17 [ utoa::radix#2 utoa::radix#1 ] 588.29: zp[1]:18 [ utoa::max_digits#7 ] 588.29: zp[2]:19 [ utoa::digit_values#8 ]
Uplift Scope [ultoa] 38,003.93: zp[2]:47 [ ultoa::buffer#10 ultoa::buffer#15 ultoa::buffer#4 ] 31,861.36: zp[4]:42 [ ultoa::value#3 ultoa::value#7 ultoa::value#10 ultoa::value#0 ] 22,859.43: zp[1]:41 [ ultoa::digit#2 ultoa::digit#1 ] 20,002: zp[1]:132 [ ultoa::$10 ] 15,001.5: zp[1]:46 [ ultoa::started#2 ultoa::started#4 ] 6,000.6: zp[4]:133 [ ultoa::digit_value#0 ] 2,002: zp[1]:129 [ ultoa::$11 ] 2,002: zp[2]:130 [ ultoa::buffer#3 ]
Uplift Scope [uctoa] 38,504: zp[2]:39 [ uctoa::buffer#10 uctoa::buffer#15 uctoa::buffer#4 ] 33,004.5: zp[1]:37 [ uctoa::value#3 uctoa::value#7 uctoa::value#10 uctoa::value#0 ] 23,079.23: zp[1]:36 [ uctoa::digit#2 uctoa::digit#1 ] 16,001.6: zp[1]:38 [ uctoa::started#2 uctoa::started#4 ] 6,000.6: zp[1]:124 [ uctoa::digit_value#0 ] 2,002: zp[2]:122 [ uctoa::buffer#3 ]
Uplift Scope [clrscr] 32,503.25: zp[1]:9 [ clrscr::c#2 clrscr::c#1 ] 2,501.38: zp[2]:7 [ clrscr::line_cols#5 clrscr::line_cols#1 ] 2,382.05: zp[2]:5 [ clrscr::line_text#5 clrscr::line_text#1 ] 2,335.67: zp[1]:4 [ clrscr::l#2 clrscr::l#1 ]
Uplift Scope [printf_number_buffer] 6,506.5: zp[1]:34 [ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ] 1,383.86: zp[1]:30 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#4 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#0 printf_number_buffer::buffer_sign#5 printf_number_buffer::buffer_sign#3 printf_number_buffer::buffer_sign#1 ] 1,167.83: zp[1]:35 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ] 1,001: zp[2]:120 [ printf_number_buffer::$19 ] 111.22: zp[2]:31 [ printf_number_buffer::putc#10 ] 100.1: zp[1]:27 [ printf_number_buffer::format_min_length#10 ] 88.32: zp[1]:29 [ printf_number_buffer::format_zero_padding#10 ] 60.67: zp[1]:28 [ printf_number_buffer::format_justify_left#10 ] 35.75: zp[1]:33 [ printf_number_buffer::format_upper_case#10 ]
Uplift Scope [] 644.18: zp[1]:85 [ conio_cursor_y ] 464.77: zp[2]:88 [ conio_line_color ] 455.29: zp[2]:86 [ conio_line_text ] 50.29: zp[1]:84 [ conio_cursor_x ] 0: mem[12] [ printf_buffer ]
Uplift Scope [gotoxy] 202: zp[2]:94 [ gotoxy::$8 ] 202: zp[2]:96 [ gotoxy::$9 ] 202: zp[2]:100 [ gotoxy::$5 ] 202: zp[2]:102 [ gotoxy::$6 ] 151.5: zp[2]:92 [ gotoxy::$7 ] 138.33: zp[1]:3 [ gotoxy::y#4 gotoxy::y#2 ] 101: zp[2]:98 [ gotoxy::line_offset#0 ]
Uplift Scope [cputc] 151.5: zp[1]:90 [ cputc::c#0 ]
Uplift Scope [printf_uint] 50.5: zp[2]:14 [ printf_uint::uvalue#2 ] 33.67: zp[1]:16 [ printf_uint::format_radix#2 ]
Uplift Scope [conio_c64_init] 33: zp[1]:2 [ conio_c64_init::line#2 conio_c64_init::line#0 ]
Uplift Scope [main] 11: zp[1]:91 [ main::c ]
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_slong]
Uplift Scope [printf_ulong]
Uplift Scope [printf_sint]
Uplift Scope [printf_schar]
Uplift Scope [printf_uchar]
Uplift Scope [printf_format_string]
Uplift Scope [__start]
Uplifting [uctoa_append] best 36673 combination reg byte x [ uctoa_append::value#2 uctoa_append::value#0 uctoa_append::value#1 ] reg byte y [ uctoa_append::digit#2 uctoa_append::digit#1 ] zp[1]:127 [ uctoa_append::sub#0 ] reg byte x [ uctoa_append::return#0 ] zp[2]:125 [ uctoa_append::buffer#0 ]
Uplifting [utoa_append] best 36070 combination zp[2]:62 [ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ] reg byte x [ utoa_append::digit#2 utoa_append::digit#1 ] zp[2]:114 [ utoa_append::sub#0 ] zp[2]:116 [ utoa_append::return#0 ] zp[2]:112 [ utoa_append::buffer#0 ]
Uplifting [ultoa_append] best 35467 combination zp[4]:78 [ ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ] reg byte x [ ultoa_append::digit#2 ultoa_append::digit#1 ] zp[4]:139 [ ultoa_append::sub#0 ] zp[4]:143 [ ultoa_append::return#0 ] zp[2]:137 [ ultoa_append::buffer#0 ]
Uplifting [memcpy] best 35467 combination zp[2]:53 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 ] zp[2]:55 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] zp[2]:147 [ memcpy::src_end#0 ] zp[2]:49 [ memcpy::source#2 ] zp[2]:51 [ memcpy::destination#2 ]
Uplifting [toupper] best 35340 combination reg byte a [ toupper::return#2 toupper::return#0 toupper::ch#0 ] reg byte a [ toupper::return#3 ]
Uplifting [memset] best 35324 combination zp[2]:60 [ memset::dst#2 memset::dst#4 memset::dst#1 ] zp[2]:149 [ memset::end#0 ] reg byte x [ memset::c#4 ] zp[2]:57 [ memset::str#3 ]
Uplifting [strupr] best 35264 combination zp[2]:74 [ strupr::src#2 strupr::src#1 ] reg byte a [ strupr::$0 ]
Uplifting [strlen] best 35264 combination zp[2]:65 [ strlen::str#2 strlen::str#0 ] zp[2]:67 [ strlen::len#2 strlen::len#1 ] zp[2]:118 [ strlen::return#2 ]
Uplifting [printf_str] best 35194 combination zp[2]:12 [ printf_str::s#20 printf_str::s#21 printf_str::s#0 ] reg byte a [ printf_str::c#1 ] zp[2]:10 [ printf_str::putc#21 printf_str::putc#0 ]
Uplifting [printf_padding] best 35194 combination zp[1]:73 [ printf_padding::i#2 printf_padding::i#1 ] zp[2]:71 [ printf_padding::putc#5 printf_padding::putc#1 printf_padding::putc#2 printf_padding::putc#0 ] zp[1]:69 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ] zp[1]:70 [ printf_padding::pad#5 ]
Uplifting [utoa] best 35069 combination zp[2]:25 [ utoa::buffer#10 utoa::buffer#15 utoa::buffer#4 ] zp[2]:22 [ utoa::value#3 utoa::value#7 utoa::value#10 utoa::value#2 utoa::value#0 ] zp[1]:21 [ utoa::digit#2 utoa::digit#1 ] reg byte a [ utoa::$4 ] reg byte a [ utoa::$10 ] reg byte x [ utoa::started#2 utoa::started#4 ] zp[2]:110 [ utoa::digit_value#0 ] zp[1]:106 [ utoa::$11 ] zp[2]:107 [ utoa::buffer#3 ] zp[1]:17 [ utoa::radix#2 utoa::radix#1 ] zp[1]:18 [ utoa::max_digits#7 ] zp[2]:19 [ utoa::digit_values#8 ]
Limited combination testing to 100 combinations of 2048 possible.
Uplifting [ultoa] best 34955 combination zp[2]:47 [ ultoa::buffer#10 ultoa::buffer#15 ultoa::buffer#4 ] zp[4]:42 [ ultoa::value#3 ultoa::value#7 ultoa::value#10 ultoa::value#0 ] zp[1]:41 [ ultoa::digit#2 ultoa::digit#1 ] reg byte a [ ultoa::$10 ] reg byte x [ ultoa::started#2 ultoa::started#4 ] zp[4]:133 [ ultoa::digit_value#0 ] reg byte a [ ultoa::$11 ] zp[2]:130 [ ultoa::buffer#3 ]
Uplifting [uctoa] best 34856 combination zp[2]:39 [ uctoa::buffer#10 uctoa::buffer#15 uctoa::buffer#4 ] reg byte x [ uctoa::value#3 uctoa::value#7 uctoa::value#10 uctoa::value#0 ] zp[1]:36 [ uctoa::digit#2 uctoa::digit#1 ] zp[1]:38 [ uctoa::started#2 uctoa::started#4 ] zp[1]:124 [ uctoa::digit_value#0 ] zp[2]:122 [ uctoa::buffer#3 ]
Uplifting [clrscr] best 33266 combination reg byte y [ clrscr::c#2 clrscr::c#1 ] zp[2]:7 [ clrscr::line_cols#5 clrscr::line_cols#1 ] zp[2]:5 [ clrscr::line_text#5 clrscr::line_text#1 ] reg byte x [ clrscr::l#2 clrscr::l#1 ]
Uplifting [printf_number_buffer] best 33243 combination reg byte y [ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ] zp[1]:30 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#4 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#0 printf_number_buffer::buffer_sign#5 printf_number_buffer::buffer_sign#3 printf_number_buffer::buffer_sign#1 ] zp[1]:35 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ] zp[2]:120 [ printf_number_buffer::$19 ] zp[2]:31 [ printf_number_buffer::putc#10 ] reg byte x [ printf_number_buffer::format_min_length#10 ] zp[1]:29 [ printf_number_buffer::format_zero_padding#10 ] zp[1]:28 [ printf_number_buffer::format_justify_left#10 ] zp[1]:33 [ printf_number_buffer::format_upper_case#10 ]
Uplifting [] best 33243 combination zp[1]:85 [ conio_cursor_y ] zp[2]:88 [ conio_line_color ] zp[2]:86 [ conio_line_text ] zp[1]:84 [ conio_cursor_x ] mem[12] [ printf_buffer ]
Uplifting [gotoxy] best 33230 combination zp[2]:94 [ gotoxy::$8 ] zp[2]:96 [ gotoxy::$9 ] zp[2]:100 [ gotoxy::$5 ] zp[2]:102 [ gotoxy::$6 ] zp[2]:92 [ gotoxy::$7 ] reg byte x [ gotoxy::y#4 gotoxy::y#2 ] zp[2]:98 [ gotoxy::line_offset#0 ]
Uplifting [cputc] best 33221 combination reg byte a [ cputc::c#0 ]
Uplifting [printf_uint] best 33212 combination zp[2]:14 [ printf_uint::uvalue#2 ] reg byte x [ printf_uint::format_radix#2 ]
Uplifting [conio_c64_init] best 33200 combination reg byte x [ conio_c64_init::line#2 conio_c64_init::line#0 ]
Uplifting [main] best 33200 combination zp[1]:91 [ main::c ]
Uplifting [RADIX] best 33200 combination
Uplifting [cputln] best 33200 combination
Uplifting [MOS6526_CIA] best 33200 combination
Uplifting [MOS6569_VICII] best 33200 combination
Uplifting [MOS6581_SID] best 33200 combination
Uplifting [cscroll] best 33200 combination
Uplifting [printf_format_number] best 33200 combination
Uplifting [printf_buffer_number] best 33200 combination
Uplifting [printf_slong] best 33200 combination
Uplifting [printf_ulong] best 33200 combination
Uplifting [printf_sint] best 33200 combination
Uplifting [printf_schar] best 33200 combination
Uplifting [printf_uchar] best 33200 combination
Uplifting [printf_format_string] best 33200 combination
Uplifting [__start] best 33200 combination
Attempting to uplift remaining variables inzp[1]:127 [ uctoa_append::sub#0 ]
Uplifting [uctoa_append] best 33200 combination zp[1]:127 [ uctoa_append::sub#0 ]
Attempting to uplift remaining variables inzp[1]:73 [ printf_padding::i#2 printf_padding::i#1 ]
Uplifting [printf_padding] best 33200 combination zp[1]:73 [ printf_padding::i#2 printf_padding::i#1 ]
Attempting to uplift remaining variables inzp[1]:69 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ]
Uplifting [printf_padding] best 33200 combination zp[1]:69 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ]
Attempting to uplift remaining variables inzp[1]:36 [ uctoa::digit#2 uctoa::digit#1 ]
Uplifting [uctoa] best 33200 combination zp[1]:36 [ uctoa::digit#2 uctoa::digit#1 ]
Attempting to uplift remaining variables inzp[1]:41 [ ultoa::digit#2 ultoa::digit#1 ]
Uplifting [ultoa] best 33200 combination zp[1]:41 [ ultoa::digit#2 ultoa::digit#1 ]
Attempting to uplift remaining variables inzp[1]:21 [ utoa::digit#2 utoa::digit#1 ]
Uplifting [utoa] best 33200 combination zp[1]:21 [ utoa::digit#2 utoa::digit#1 ]
Attempting to uplift remaining variables inzp[1]:70 [ printf_padding::pad#5 ]
Uplifting [printf_padding] best 33200 combination zp[1]:70 [ printf_padding::pad#5 ]
Attempting to uplift remaining variables inzp[1]:38 [ uctoa::started#2 uctoa::started#4 ]
Uplifting [uctoa] best 33200 combination zp[1]:38 [ uctoa::started#2 uctoa::started#4 ]
Attempting to uplift remaining variables inzp[1]:124 [ uctoa::digit_value#0 ]
Uplifting [uctoa] best 33200 combination zp[1]:124 [ uctoa::digit_value#0 ]
Attempting to uplift remaining variables inzp[1]:106 [ utoa::$11 ]
Uplifting [utoa] best 33194 combination reg byte x [ utoa::$11 ]
Attempting to uplift remaining variables inzp[1]:30 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#4 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#0 printf_number_buffer::buffer_sign#5 printf_number_buffer::buffer_sign#3 printf_number_buffer::buffer_sign#1 ]
Uplifting [printf_number_buffer] best 33194 combination zp[1]:30 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#4 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#0 printf_number_buffer::buffer_sign#5 printf_number_buffer::buffer_sign#3 printf_number_buffer::buffer_sign#1 ]
Attempting to uplift remaining variables inzp[1]:17 [ utoa::radix#2 utoa::radix#1 ]
Uplifting [utoa] best 33176 combination reg byte x [ utoa::radix#2 utoa::radix#1 ]
Attempting to uplift remaining variables inzp[1]:35 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ]
Uplifting [printf_number_buffer] best 33176 combination zp[1]:35 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ]
Attempting to uplift remaining variables inzp[1]:85 [ conio_cursor_y ]
Uplifting [] best 33176 combination zp[1]:85 [ conio_cursor_y ]
Attempting to uplift remaining variables inzp[1]:18 [ utoa::max_digits#7 ]
Uplifting [utoa] best 33176 combination zp[1]:18 [ utoa::max_digits#7 ]
Attempting to uplift remaining variables inzp[1]:29 [ printf_number_buffer::format_zero_padding#10 ]
Uplifting [printf_number_buffer] best 33176 combination zp[1]:29 [ printf_number_buffer::format_zero_padding#10 ]
Attempting to uplift remaining variables inzp[1]:28 [ printf_number_buffer::format_justify_left#10 ]
Uplifting [printf_number_buffer] best 33176 combination zp[1]:28 [ printf_number_buffer::format_justify_left#10 ]
Attempting to uplift remaining variables inzp[1]:84 [ conio_cursor_x ]
Uplifting [] best 33176 combination zp[1]:84 [ conio_cursor_x ]
Attempting to uplift remaining variables inzp[1]:33 [ printf_number_buffer::format_upper_case#10 ]
Uplifting [printf_number_buffer] best 33176 combination zp[1]:33 [ printf_number_buffer::format_upper_case#10 ]
Attempting to uplift remaining variables inzp[1]:91 [ main::c ]
Uplifting [main] best 33176 combination zp[1]:91 [ main::c ]
Coalescing zero page register [ zp[2]:31 [ printf_number_buffer::putc#10 ] ] with [ zp[2]:71 [ printf_padding::putc#5 printf_padding::putc#1 printf_padding::putc#2 printf_padding::putc#0 ] ] - score: 3
Coalescing zero page register [ zp[2]:10 [ printf_str::putc#21 printf_str::putc#0 ] ] with [ zp[2]:31 [ printf_number_buffer::putc#10 printf_padding::putc#5 printf_padding::putc#1 printf_padding::putc#2 printf_padding::putc#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:14 [ printf_uint::uvalue#2 ] ] with [ zp[2]:22 [ utoa::value#3 utoa::value#7 utoa::value#10 utoa::value#2 utoa::value#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:25 [ utoa::buffer#10 utoa::buffer#15 utoa::buffer#4 ] ] with [ zp[2]:107 [ utoa::buffer#3 ] ] - score: 1
Coalescing zero page register [ zp[2]:25 [ utoa::buffer#10 utoa::buffer#15 utoa::buffer#4 utoa::buffer#3 ] ] with [ zp[2]:112 [ utoa_append::buffer#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:39 [ uctoa::buffer#10 uctoa::buffer#15 uctoa::buffer#4 ] ] with [ zp[2]:122 [ uctoa::buffer#3 ] ] - score: 1
Coalescing zero page register [ zp[2]:39 [ uctoa::buffer#10 uctoa::buffer#15 uctoa::buffer#4 uctoa::buffer#3 ] ] with [ zp[2]:125 [ uctoa_append::buffer#0 ] ] - score: 1
Coalescing zero page register [ zp[4]:42 [ ultoa::value#3 ultoa::value#7 ultoa::value#10 ultoa::value#0 ] ] with [ zp[4]:78 [ ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ] ] - score: 1
Coalescing zero page register [ zp[4]:42 [ ultoa::value#3 ultoa::value#7 ultoa::value#10 ultoa::value#0 ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ] ] with [ zp[4]:143 [ ultoa_append::return#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:47 [ ultoa::buffer#10 ultoa::buffer#15 ultoa::buffer#4 ] ] with [ zp[2]:130 [ ultoa::buffer#3 ] ] - score: 1
Coalescing zero page register [ zp[2]:47 [ ultoa::buffer#10 ultoa::buffer#15 ultoa::buffer#4 ultoa::buffer#3 ] ] with [ zp[2]:137 [ ultoa_append::buffer#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:49 [ memcpy::source#2 ] ] with [ zp[2]:53 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:51 [ memcpy::destination#2 ] ] with [ zp[2]:55 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:57 [ memset::str#3 ] ] with [ zp[2]:60 [ memset::dst#2 memset::dst#4 memset::dst#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:62 [ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ] ] with [ zp[2]:116 [ utoa_append::return#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:67 [ strlen::len#2 strlen::len#1 ] ] with [ zp[2]:118 [ strlen::return#2 ] ] - score: 1
Coalescing zero page register [ zp[2]:92 [ gotoxy::$7 ] ] with [ zp[2]:96 [ gotoxy::$9 ] ] - score: 1
Coalescing zero page register [ zp[2]:98 [ gotoxy::line_offset#0 ] ] with [ zp[2]:102 [ gotoxy::$6 ] ] - score: 1
Coalescing zero page register [ zp[2]:110 [ utoa::digit_value#0 ] ] with [ zp[2]:114 [ utoa_append::sub#0 ] ] - score: 1
Coalescing zero page register [ zp[1]:124 [ uctoa::digit_value#0 ] ] with [ zp[1]:127 [ uctoa_append::sub#0 ] ] - score: 1
Coalescing zero page register [ zp[4]:133 [ ultoa::digit_value#0 ] ] with [ zp[4]:139 [ ultoa_append::sub#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:14 [ printf_uint::uvalue#2 utoa::value#3 utoa::value#7 utoa::value#10 utoa::value#2 utoa::value#0 ] ] with [ zp[2]:62 [ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 utoa_append::return#0 ] ] - score: 2
Coalescing zero page register [ zp[2]:67 [ strlen::len#2 strlen::len#1 strlen::return#2 ] ] with [ zp[2]:120 [ printf_number_buffer::$19 ] ] - score: 1
Coalescing zero page register [ zp[2]:92 [ gotoxy::$7 gotoxy::$9 ] ] with [ zp[2]:98 [ gotoxy::line_offset#0 gotoxy::$6 ] ] - score: 1
Coalescing zero page register [ zp[2]:10 [ printf_str::putc#21 printf_str::putc#0 printf_number_buffer::putc#10 printf_padding::putc#5 printf_padding::putc#1 printf_padding::putc#2 printf_padding::putc#0 ] ] with [ zp[2]:5 [ clrscr::line_text#5 clrscr::line_text#1 ] ]
Coalescing zero page register [ zp[2]:12 [ printf_str::s#20 printf_str::s#21 printf_str::s#0 ] ] with [ zp[2]:7 [ clrscr::line_cols#5 clrscr::line_cols#1 ] ]
Coalescing zero page register [ zp[1]:28 [ printf_number_buffer::format_justify_left#10 ] ] with [ zp[1]:18 [ utoa::max_digits#7 ] ]
Coalescing zero page register [ zp[1]:29 [ printf_number_buffer::format_zero_padding#10 ] ] with [ zp[1]:21 [ utoa::digit#2 utoa::digit#1 ] ]
Coalescing zero page register [ zp[1]:36 [ uctoa::digit#2 uctoa::digit#1 ] ] with [ zp[1]:30 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#4 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#0 printf_number_buffer::buffer_sign#5 printf_number_buffer::buffer_sign#3 printf_number_buffer::buffer_sign#1 ] ]
Coalescing zero page register [ zp[1]:38 [ uctoa::started#2 uctoa::started#4 ] ] with [ zp[1]:33 [ printf_number_buffer::format_upper_case#10 ] ]
Coalescing zero page register [ zp[2]:39 [ uctoa::buffer#10 uctoa::buffer#15 uctoa::buffer#4 uctoa::buffer#3 uctoa_append::buffer#0 ] ] with [ zp[2]:14 [ printf_uint::uvalue#2 utoa::value#3 utoa::value#7 utoa::value#10 utoa::value#2 utoa::value#0 utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 utoa_append::return#0 ] ]
Coalescing zero page register [ zp[1]:41 [ ultoa::digit#2 ultoa::digit#1 ] ] with [ zp[1]:35 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ] ]
Coalescing zero page register [ zp[2]:47 [ ultoa::buffer#10 ultoa::buffer#15 ultoa::buffer#4 ultoa::buffer#3 ultoa_append::buffer#0 ] ] with [ zp[2]:19 [ utoa::digit_values#8 ] ]
Coalescing zero page register [ zp[2]:57 [ memset::str#3 memset::dst#2 memset::dst#4 memset::dst#1 ] ] with [ zp[2]:49 [ memcpy::source#2 memcpy::src#2 memcpy::src#4 memcpy::src#1 ] ]
Coalescing zero page register [ zp[2]:65 [ strlen::str#2 strlen::str#0 ] ] with [ zp[2]:25 [ utoa::buffer#10 utoa::buffer#15 utoa::buffer#4 utoa::buffer#3 utoa_append::buffer#0 ] ]
Coalescing zero page register [ zp[2]:110 [ utoa::digit_value#0 utoa_append::sub#0 ] ] with [ zp[2]:67 [ strlen::len#2 strlen::len#1 strlen::return#2 printf_number_buffer::$19 ] ]
Coalescing zero page register [ zp[1]:124 [ uctoa::digit_value#0 uctoa_append::sub#0 ] ] with [ zp[1]:69 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ] ]
Coalescing zero page register [ zp[2]:149 [ memset::end#0 ] ] with [ zp[2]:51 [ memcpy::destination#2 memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] ]
Coalescing zero page register [ zp[2]:39 [ uctoa::buffer#10 uctoa::buffer#15 uctoa::buffer#4 uctoa::buffer#3 uctoa_append::buffer#0 printf_uint::uvalue#2 utoa::value#3 utoa::value#7 utoa::value#10 utoa::value#2 utoa::value#0 utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 utoa_append::return#0 ] ] with [ zp[2]:10 [ printf_str::putc#21 printf_str::putc#0 printf_number_buffer::putc#10 printf_padding::putc#5 printf_padding::putc#1 printf_padding::putc#2 printf_padding::putc#0 clrscr::line_text#5 clrscr::line_text#1 ] ]
Coalescing zero page register [ zp[2]:47 [ ultoa::buffer#10 ultoa::buffer#15 ultoa::buffer#4 ultoa::buffer#3 ultoa_append::buffer#0 utoa::digit_values#8 ] ] with [ zp[2]:12 [ printf_str::s#20 printf_str::s#21 printf_str::s#0 clrscr::line_cols#5 clrscr::line_cols#1 ] ]
Coalescing zero page register [ zp[2]:74 [ strupr::src#2 strupr::src#1 ] ] with [ zp[2]:65 [ strlen::str#2 strlen::str#0 utoa::buffer#10 utoa::buffer#15 utoa::buffer#4 utoa::buffer#3 utoa_append::buffer#0 ] ]
Allocated (was zp[1]:28) zp[1]:2 [ printf_number_buffer::format_justify_left#10 utoa::max_digits#7 ]
Allocated (was zp[1]:29) zp[1]:3 [ printf_number_buffer::format_zero_padding#10 utoa::digit#2 utoa::digit#1 ]
Allocated (was zp[1]:36) zp[1]:4 [ uctoa::digit#2 uctoa::digit#1 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#4 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#0 printf_number_buffer::buffer_sign#5 printf_number_buffer::buffer_sign#3 printf_number_buffer::buffer_sign#1 ]
Allocated (was zp[1]:38) zp[1]:5 [ uctoa::started#2 uctoa::started#4 printf_number_buffer::format_upper_case#10 ]
Allocated (was zp[2]:39) zp[2]:6 [ uctoa::buffer#10 uctoa::buffer#15 uctoa::buffer#4 uctoa::buffer#3 uctoa_append::buffer#0 printf_uint::uvalue#2 utoa::value#3 utoa::value#7 utoa::value#10 utoa::value#2 utoa::value#0 utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 utoa_append::return#0 printf_str::putc#21 printf_str::putc#0 printf_number_buffer::putc#10 printf_padding::putc#5 printf_padding::putc#1 printf_padding::putc#2 printf_padding::putc#0 clrscr::line_text#5 clrscr::line_text#1 ]
Allocated (was zp[1]:41) zp[1]:8 [ ultoa::digit#2 ultoa::digit#1 printf_number_buffer::padding#10 printf_number_buffer::padding#1 ]
Allocated (was zp[4]:42) zp[4]:9 [ ultoa::value#3 ultoa::value#7 ultoa::value#10 ultoa::value#0 ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ultoa_append::return#0 ]
Allocated (was zp[2]:47) zp[2]:13 [ ultoa::buffer#10 ultoa::buffer#15 ultoa::buffer#4 ultoa::buffer#3 ultoa_append::buffer#0 utoa::digit_values#8 printf_str::s#20 printf_str::s#21 printf_str::s#0 clrscr::line_cols#5 clrscr::line_cols#1 ]
Allocated (was zp[2]:57) zp[2]:15 [ memset::str#3 memset::dst#2 memset::dst#4 memset::dst#1 memcpy::source#2 memcpy::src#2 memcpy::src#4 memcpy::src#1 ]
Allocated (was zp[1]:70) zp[1]:17 [ printf_padding::pad#5 ]
Allocated (was zp[1]:73) zp[1]:18 [ printf_padding::i#2 printf_padding::i#1 ]
Allocated (was zp[2]:74) zp[2]:19 [ strupr::src#2 strupr::src#1 strlen::str#2 strlen::str#0 utoa::buffer#10 utoa::buffer#15 utoa::buffer#4 utoa::buffer#3 utoa_append::buffer#0 ]
Allocated (was zp[1]:84) zp[1]:21 [ conio_cursor_x ]
Allocated (was zp[1]:85) zp[1]:22 [ conio_cursor_y ]
Allocated (was zp[2]:86) zp[2]:23 [ conio_line_text ]
Allocated (was zp[2]:88) zp[2]:25 [ conio_line_color ]
Allocated (was zp[1]:91) zp[1]:27 [ main::c ]
Allocated (was zp[2]:92) zp[2]:28 [ gotoxy::$7 gotoxy::$9 gotoxy::line_offset#0 gotoxy::$6 ]
Allocated (was zp[2]:94) zp[2]:30 [ gotoxy::$8 ]
Allocated (was zp[2]:100) zp[2]:32 [ gotoxy::$5 ]
Allocated (was zp[2]:110) zp[2]:34 [ utoa::digit_value#0 utoa_append::sub#0 strlen::len#2 strlen::len#1 strlen::return#2 printf_number_buffer::$19 ]
Allocated (was zp[1]:124) zp[1]:36 [ uctoa::digit_value#0 uctoa_append::sub#0 printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ]
Allocated (was zp[4]:133) zp[4]:37 [ ultoa::digit_value#0 ultoa_append::sub#0 ]
Allocated (was zp[2]:147) zp[2]:41 [ memcpy::src_end#0 ]
Allocated (was zp[2]:149) zp[2]:43 [ memset::end#0 memcpy::destination#2 memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ]
ASSEMBLER BEFORE OPTIMIZATION
// File Comments
// Tests printf function call rewriting
// Print a bunch of different stuff using printf
// Upstart
// Commodore 64 PRG executable file
.file [name="printf-12.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 BINARY = 2
.const OCTAL = 8
.const DECIMAL = $a
.const HEXADECIMAL = $10
.const LIGHT_BLUE = $e
.const OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS = 1
.const STACK_BASE = $103
.const SIZEOF_STRUCT_PRINTF_BUFFER_NUMBER = $c
/// 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 = $15
// The current cursor y-position
.label conio_cursor_y = $16
// The current text cursor line start
.label conio_line_text = $17
// The current color cursor line start
.label conio_line_color = $19
.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] call conio_c64_init
jsr conio_c64_init
// [6] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
__b1_from___init1:
jmp __b1
// __start::@1
__b1:
// [7] call main
// [27] phi from __start::@1 to main [phi:__start::@1->main]
main_from___b1:
jsr main
jmp __breturn
// __start::@return
__breturn:
// [8] return
rts
}
// conio_c64_init
// Set initial cursor position
conio_c64_init: {
// Position cursor at current line
.label BASIC_CURSOR_LINE = $d6
// [9] conio_c64_init::line#0 = *conio_c64_init::BASIC_CURSOR_LINE -- vbuxx=_deref_pbuc1
ldx BASIC_CURSOR_LINE
// [10] if(conio_c64_init::line#0<$19) goto conio_c64_init::@2 -- vbuxx_lt_vbuc1_then_la1
cpx #$19
bcc __b2_from_conio_c64_init
// [12] phi from conio_c64_init to conio_c64_init::@1 [phi:conio_c64_init->conio_c64_init::@1]
__b1_from_conio_c64_init:
// [12] phi conio_c64_init::line#2 = $19-1 [phi:conio_c64_init->conio_c64_init::@1#0] -- vbuxx=vbuc1
ldx #$19-1
jmp __b1
// [11] 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:
// [12] phi from conio_c64_init::@2 to conio_c64_init::@1 [phi:conio_c64_init::@2->conio_c64_init::@1]
__b1_from___b2:
// [12] 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:
// [13] gotoxy::y#2 = conio_c64_init::line#2
// [14] call gotoxy
jsr gotoxy
jmp __breturn
// conio_c64_init::@return
__breturn:
// [15] return
rts
}
// cputc
// Output one character at the current cursor position
// Moves the cursor forward. Scrolls the entire screen if needed
// void cputc(__register(A) char c)
cputc: {
.const OFFSET_STACK_C = 0
// [16] cputc::c#0 = stackidx(char,cputc::OFFSET_STACK_C) -- vbuaa=_stackidxbyte_vbuc1
tsx
lda STACK_BASE+OFFSET_STACK_C,x
// [17] if(cputc::c#0==' ') goto cputc::@1 -- vbuaa_eq_vbuc1_then_la1
cmp #'\n'
beq __b1_from_cputc
jmp __b2
// cputc::@2
__b2:
// [18] conio_line_text[conio_cursor_x] = cputc::c#0 -- pbuz1_derefidx_vbuz2=vbuaa
ldy.z conio_cursor_x
sta (conio_line_text),y
// [19] conio_line_color[conio_cursor_x] = LIGHT_BLUE -- pbuz1_derefidx_vbuz2=vbuc1
lda #LIGHT_BLUE
ldy.z conio_cursor_x
sta (conio_line_color),y
// [20] conio_cursor_x = ++ conio_cursor_x -- vbuz1=_inc_vbuz1
inc.z conio_cursor_x
// [21] if(conio_cursor_x!=$28) goto cputc::@return -- vbuz1_neq_vbuc1_then_la1
lda #$28
cmp.z conio_cursor_x
bne __breturn
// [22] phi from cputc::@2 to cputc::@3 [phi:cputc::@2->cputc::@3]
__b3_from___b2:
jmp __b3
// cputc::@3
__b3:
// [23] call cputln
jsr cputln
jmp __breturn
// cputc::@return
__breturn:
// [24] return
rts
// [25] phi from cputc to cputc::@1 [phi:cputc->cputc::@1]
__b1_from_cputc:
jmp __b1
// cputc::@1
__b1:
// [26] call cputln
jsr cputln
jmp __breturn
}
// main
main: {
.const ui = $162e
.label sc = -$c
.label uc = $22
.label si = -$4d2
.label sl = -$1e240
.label ul = $8aa52
.label c = $1b
// [28] call clrscr
// [104] phi from main to clrscr [phi:main->clrscr]
clrscr_from_main:
jsr clrscr
jmp __b1
// main::@1
__b1:
// [29] main::c = 'x' -- vbuz1=vbuc1
lda #'x'
sta.z c
// [30] call printf_str
// [120] phi from main::@1 to printf_str [phi:main::@1->printf_str]
printf_str_from___b1:
// [120] phi printf_str::putc#21 = &cputc [phi:main::@1->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s [phi:main::@1->printf_str#1] -- pbuz1=pbuc1
lda #<s
sta.z printf_str.s
lda #>s
sta.z printf_str.s+1
jsr printf_str
jmp __b2
// main::@2
__b2:
// [31] stackpush(char) = main::c -- _stackpushbyte_=vbuz1
lda.z c
pha
// [32] callexecute cputc -- call_vprc1
jsr cputc
// sideeffect stackpullbytes(1) -- _stackpullbyte_1
pla
// [34] call printf_str
// [120] phi from main::@2 to printf_str [phi:main::@2->printf_str]
printf_str_from___b2:
// [120] phi printf_str::putc#21 = &cputc [phi:main::@2->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s1 [phi:main::@2->printf_str#1] -- pbuz1=pbuc1
lda #<s1
sta.z printf_str.s
lda #>s1
sta.z printf_str.s+1
jsr printf_str
// [35] phi from main::@2 to main::@3 [phi:main::@2->main::@3]
__b3_from___b2:
jmp __b3
// main::@3
__b3:
// [36] call printf_str
// [120] phi from main::@3 to printf_str [phi:main::@3->printf_str]
printf_str_from___b3:
// [120] phi printf_str::putc#21 = &cputc [phi:main::@3->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s2 [phi:main::@3->printf_str#1] -- pbuz1=pbuc1
lda #<s2
sta.z printf_str.s
lda #>s2
sta.z printf_str.s+1
jsr printf_str
// [37] phi from main::@3 to main::@4 [phi:main::@3->main::@4]
__b4_from___b3:
jmp __b4
// main::@4
__b4:
// [38] call printf_uint
// [129] phi from main::@4 to printf_uint [phi:main::@4->printf_uint]
printf_uint_from___b4:
// [129] phi printf_uint::format_radix#2 = HEXADECIMAL [phi:main::@4->printf_uint#0] -- vbuxx=vbuc1
ldx #HEXADECIMAL
// [129] phi printf_uint::uvalue#2 = (unsigned int)&main::c [phi:main::@4->printf_uint#1] -- vwuz1=vwuc1
lda #<c
sta.z printf_uint.uvalue
lda #>c
sta.z printf_uint.uvalue+1
jsr printf_uint
// [39] phi from main::@4 to main::@5 [phi:main::@4->main::@5]
__b5_from___b4:
jmp __b5
// main::@5
__b5:
// [40] call printf_str
// [120] phi from main::@5 to printf_str [phi:main::@5->printf_str]
printf_str_from___b5:
// [120] phi printf_str::putc#21 = &cputc [phi:main::@5->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s1 [phi:main::@5->printf_str#1] -- pbuz1=pbuc1
lda #<s1
sta.z printf_str.s
lda #>s1
sta.z printf_str.s+1
jsr printf_str
// [41] phi from main::@5 to main::@6 [phi:main::@5->main::@6]
__b6_from___b5:
jmp __b6
// main::@6
__b6:
// [42] call printf_str
// [120] phi from main::@6 to printf_str [phi:main::@6->printf_str]
printf_str_from___b6:
// [120] phi printf_str::putc#21 = &cputc [phi:main::@6->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s4 [phi:main::@6->printf_str#1] -- pbuz1=pbuc1
lda #<s4
sta.z printf_str.s
lda #>s4
sta.z printf_str.s+1
jsr printf_str
jmp __b7
// main::@7
__b7:
// [43] stackpush(char) = '%' -- _stackpushbyte_=vbuc1
lda #'%'
pha
// [44] callexecute cputc -- call_vprc1
jsr cputc
// sideeffect stackpullbytes(1) -- _stackpullbyte_1
pla
// [46] call printf_str
// [120] phi from main::@7 to printf_str [phi:main::@7->printf_str]
printf_str_from___b7:
// [120] phi printf_str::putc#21 = &cputc [phi:main::@7->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s1 [phi:main::@7->printf_str#1] -- pbuz1=pbuc1
lda #<s1
sta.z printf_str.s
lda #>s1
sta.z printf_str.s+1
jsr printf_str
// [47] phi from main::@7 to main::@8 [phi:main::@7->main::@8]
__b8_from___b7:
jmp __b8
// main::@8
__b8:
// [48] call printf_str
// [120] phi from main::@8 to printf_str [phi:main::@8->printf_str]
printf_str_from___b8:
// [120] phi printf_str::putc#21 = &cputc [phi:main::@8->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s6 [phi:main::@8->printf_str#1] -- pbuz1=pbuc1
lda #<s6
sta.z printf_str.s
lda #>s6
sta.z printf_str.s+1
jsr printf_str
// [49] phi from main::@8 to main::@9 [phi:main::@8->main::@9]
__b9_from___b8:
jmp __b9
// main::@9
__b9:
// [50] call printf_schar
jsr printf_schar
// [51] phi from main::@9 to main::@10 [phi:main::@9->main::@10]
__b10_from___b9:
jmp __b10
// main::@10
__b10:
// [52] call printf_str
// [120] phi from main::@10 to printf_str [phi:main::@10->printf_str]
printf_str_from___b10:
// [120] phi printf_str::putc#21 = &cputc [phi:main::@10->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s1 [phi:main::@10->printf_str#1] -- pbuz1=pbuc1
lda #<s1
sta.z printf_str.s
lda #>s1
sta.z printf_str.s+1
jsr printf_str
// [53] phi from main::@10 to main::@11 [phi:main::@10->main::@11]
__b11_from___b10:
jmp __b11
// main::@11
__b11:
// [54] call printf_str
// [120] phi from main::@11 to printf_str [phi:main::@11->printf_str]
printf_str_from___b11:
// [120] phi printf_str::putc#21 = &cputc [phi:main::@11->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s8 [phi:main::@11->printf_str#1] -- pbuz1=pbuc1
lda #<s8
sta.z printf_str.s
lda #>s8
sta.z printf_str.s+1
jsr printf_str
// [55] phi from main::@11 to main::@12 [phi:main::@11->main::@12]
__b12_from___b11:
jmp __b12
// main::@12
__b12:
// [56] call printf_uchar
// [144] phi from main::@12 to printf_uchar [phi:main::@12->printf_uchar]
printf_uchar_from___b12:
jsr printf_uchar
// [57] phi from main::@12 to main::@13 [phi:main::@12->main::@13]
__b13_from___b12:
jmp __b13
// main::@13
__b13:
// [58] call printf_str
// [120] phi from main::@13 to printf_str [phi:main::@13->printf_str]
printf_str_from___b13:
// [120] phi printf_str::putc#21 = &cputc [phi:main::@13->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s1 [phi:main::@13->printf_str#1] -- pbuz1=pbuc1
lda #<s1
sta.z printf_str.s
lda #>s1
sta.z printf_str.s+1
jsr printf_str
// [59] phi from main::@13 to main::@14 [phi:main::@13->main::@14]
__b14_from___b13:
jmp __b14
// main::@14
__b14:
// [60] call printf_str
// [120] phi from main::@14 to printf_str [phi:main::@14->printf_str]
printf_str_from___b14:
// [120] phi printf_str::putc#21 = &cputc [phi:main::@14->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s10 [phi:main::@14->printf_str#1] -- pbuz1=pbuc1
lda #<s10
sta.z printf_str.s
lda #>s10
sta.z printf_str.s+1
jsr printf_str
// [61] phi from main::@14 to main::@15 [phi:main::@14->main::@15]
__b15_from___b14:
jmp __b15
// main::@15
__b15:
// [62] call printf_sint
jsr printf_sint
// [63] phi from main::@15 to main::@16 [phi:main::@15->main::@16]
__b16_from___b15:
jmp __b16
// main::@16
__b16:
// [64] call printf_str
// [120] phi from main::@16 to printf_str [phi:main::@16->printf_str]
printf_str_from___b16:
// [120] phi printf_str::putc#21 = &cputc [phi:main::@16->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s1 [phi:main::@16->printf_str#1] -- pbuz1=pbuc1
lda #<s1
sta.z printf_str.s
lda #>s1
sta.z printf_str.s+1
jsr printf_str
// [65] phi from main::@16 to main::@17 [phi:main::@16->main::@17]
__b17_from___b16:
jmp __b17
// main::@17
__b17:
// [66] call printf_str
// [120] phi from main::@17 to printf_str [phi:main::@17->printf_str]
printf_str_from___b17:
// [120] phi printf_str::putc#21 = &cputc [phi:main::@17->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s12 [phi:main::@17->printf_str#1] -- pbuz1=pbuc1
lda #<s12
sta.z printf_str.s
lda #>s12
sta.z printf_str.s+1
jsr printf_str
// [67] phi from main::@17 to main::@18 [phi:main::@17->main::@18]
__b18_from___b17:
jmp __b18
// main::@18
__b18:
// [68] call printf_uint
// [129] phi from main::@18 to printf_uint [phi:main::@18->printf_uint]
printf_uint_from___b18:
// [129] phi printf_uint::format_radix#2 = DECIMAL [phi:main::@18->printf_uint#0] -- vbuxx=vbuc1
ldx #DECIMAL
// [129] phi printf_uint::uvalue#2 = main::ui [phi:main::@18->printf_uint#1] -- vwuz1=vwuc1
lda #<ui
sta.z printf_uint.uvalue
lda #>ui
sta.z printf_uint.uvalue+1
jsr printf_uint
// [69] phi from main::@18 to main::@19 [phi:main::@18->main::@19]
__b19_from___b18:
jmp __b19
// main::@19
__b19:
// [70] call printf_str
// [120] phi from main::@19 to printf_str [phi:main::@19->printf_str]
printf_str_from___b19:
// [120] phi printf_str::putc#21 = &cputc [phi:main::@19->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s1 [phi:main::@19->printf_str#1] -- pbuz1=pbuc1
lda #<s1
sta.z printf_str.s
lda #>s1
sta.z printf_str.s+1
jsr printf_str
// [71] phi from main::@19 to main::@20 [phi:main::@19->main::@20]
__b20_from___b19:
jmp __b20
// main::@20
__b20:
// [72] call printf_str
// [120] phi from main::@20 to printf_str [phi:main::@20->printf_str]
printf_str_from___b20:
// [120] phi printf_str::putc#21 = &cputc [phi:main::@20->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s14 [phi:main::@20->printf_str#1] -- pbuz1=pbuc1
lda #<s14
sta.z printf_str.s
lda #>s14
sta.z printf_str.s+1
jsr printf_str
// [73] phi from main::@20 to main::@21 [phi:main::@20->main::@21]
__b21_from___b20:
jmp __b21
// main::@21
__b21:
// [74] call printf_slong
jsr printf_slong
// [75] phi from main::@21 to main::@22 [phi:main::@21->main::@22]
__b22_from___b21:
jmp __b22
// main::@22
__b22:
// [76] call printf_str
// [120] phi from main::@22 to printf_str [phi:main::@22->printf_str]
printf_str_from___b22:
// [120] phi printf_str::putc#21 = &cputc [phi:main::@22->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s1 [phi:main::@22->printf_str#1] -- pbuz1=pbuc1
lda #<s1
sta.z printf_str.s
lda #>s1
sta.z printf_str.s+1
jsr printf_str
// [77] phi from main::@22 to main::@23 [phi:main::@22->main::@23]
__b23_from___b22:
jmp __b23
// main::@23
__b23:
// [78] call printf_str
// [120] phi from main::@23 to printf_str [phi:main::@23->printf_str]
printf_str_from___b23:
// [120] phi printf_str::putc#21 = &cputc [phi:main::@23->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s16 [phi:main::@23->printf_str#1] -- pbuz1=pbuc1
lda #<s16
sta.z printf_str.s
lda #>s16
sta.z printf_str.s+1
jsr printf_str
// [79] phi from main::@23 to main::@24 [phi:main::@23->main::@24]
__b24_from___b23:
jmp __b24
// main::@24
__b24:
// [80] call printf_ulong
// [164] phi from main::@24 to printf_ulong [phi:main::@24->printf_ulong]
printf_ulong_from___b24:
jsr printf_ulong
// [81] phi from main::@24 to main::@25 [phi:main::@24->main::@25]
__b25_from___b24:
jmp __b25
// main::@25
__b25:
// [82] call printf_str
// [120] phi from main::@25 to printf_str [phi:main::@25->printf_str]
printf_str_from___b25:
// [120] phi printf_str::putc#21 = &cputc [phi:main::@25->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s1 [phi:main::@25->printf_str#1] -- pbuz1=pbuc1
lda #<s1
sta.z printf_str.s
lda #>s1
sta.z printf_str.s+1
jsr printf_str
jmp __breturn
// main::@return
__breturn:
// [83] return
rts
.segment Data
s: .text "A char: "
.byte 0
s1: .text @"\n"
.byte 0
s2: .text "A pointer: "
.byte 0
s4: .text "A percent: "
.byte 0
s6: .text "A signed char: "
.byte 0
s8: .text "An unsigned char: "
.byte 0
s10: .text "A signed int: "
.byte 0
s12: .text "An unsigned int: "
.byte 0
s14: .text "A signed long: "
.byte 0
s16: .text "An unsigned long: "
.byte 0
}
.segment Code
// gotoxy
// Set the cursor to the specified position
// void gotoxy(char x, __register(X) char y)
gotoxy: {
.const x = 0
.label __5 = $20
.label __6 = $1c
.label __7 = $1c
.label line_offset = $1c
.label __8 = $1e
.label __9 = $1c
// [84] if(gotoxy::y#2<$19+1) goto gotoxy::@3 -- vbuxx_lt_vbuc1_then_la1
cpx #$19+1
bcc __b3_from_gotoxy
// [86] phi from gotoxy to gotoxy::@1 [phi:gotoxy->gotoxy::@1]
__b1_from_gotoxy:
// [86] phi gotoxy::y#4 = 0 [phi:gotoxy->gotoxy::@1#0] -- vbuxx=vbuc1
ldx #0
jmp __b1
// [85] phi from gotoxy to gotoxy::@3 [phi:gotoxy->gotoxy::@3]
__b3_from_gotoxy:
jmp __b3
// gotoxy::@3
__b3:
// [86] phi from gotoxy::@3 to gotoxy::@1 [phi:gotoxy::@3->gotoxy::@1]
__b1_from___b3:
// [86] phi gotoxy::y#4 = gotoxy::y#2 [phi:gotoxy::@3->gotoxy::@1#0] -- register_copy
jmp __b1
// gotoxy::@1
__b1:
jmp __b2
// gotoxy::@2
__b2:
// [87] conio_cursor_x = gotoxy::x#2 -- vbuz1=vbuc1
lda #x
sta.z conio_cursor_x
// [88] conio_cursor_y = gotoxy::y#4 -- vbuz1=vbuxx
stx.z conio_cursor_y
// [89] gotoxy::$7 = (unsigned int)gotoxy::y#4 -- vwuz1=_word_vbuxx
txa
sta.z __7
lda #0
sta.z __7+1
// [90] 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
// [91] 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
// [92] 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
// [93] 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
// [94] 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
// [95] 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
// [96] 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:
// [97] return
rts
}
// cputln
// Print a newline
cputln: {
// [98] 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
!:
// [99] 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
!:
// [100] conio_cursor_x = 0 -- vbuz1=vbuc1
lda #0
sta.z conio_cursor_x
// [101] conio_cursor_y = ++ conio_cursor_y -- vbuz1=_inc_vbuz1
inc.z conio_cursor_y
// [102] call cscroll
jsr cscroll
jmp __breturn
// cputln::@return
__breturn:
// [103] return
rts
}
// clrscr
// clears the screen and moves the cursor to the upper left-hand corner of the screen.
clrscr: {
.label line_text = 6
.label line_cols = $d
// [105] phi from clrscr to clrscr::@1 [phi:clrscr->clrscr::@1]
__b1_from_clrscr:
// [105] phi clrscr::line_cols#5 = COLORRAM [phi:clrscr->clrscr::@1#0] -- pbuz1=pbuc1
lda #<COLORRAM
sta.z line_cols
lda #>COLORRAM
sta.z line_cols+1
// [105] phi clrscr::line_text#5 = DEFAULT_SCREEN [phi:clrscr->clrscr::@1#1] -- pbuz1=pbuc1
lda #<DEFAULT_SCREEN
sta.z line_text
lda #>DEFAULT_SCREEN
sta.z line_text+1
// [105] phi clrscr::l#2 = 0 [phi:clrscr->clrscr::@1#2] -- vbuxx=vbuc1
ldx #0
jmp __b1
// clrscr::@1
__b1:
// [106] if(clrscr::l#2<$19) goto clrscr::@3 -- vbuxx_lt_vbuc1_then_la1
cpx #$19
bcc __b3_from___b1
jmp __b2
// clrscr::@2
__b2:
// [107] conio_cursor_x = 0 -- vbuz1=vbuc1
lda #0
sta.z conio_cursor_x
// [108] conio_cursor_y = 0 -- vbuz1=vbuc1
lda #0
sta.z conio_cursor_y
// [109] conio_line_text = DEFAULT_SCREEN -- pbuz1=pbuc1
lda #<DEFAULT_SCREEN
sta.z conio_line_text
lda #>DEFAULT_SCREEN
sta.z conio_line_text+1
// [110] conio_line_color = COLORRAM -- pbuz1=pbuc1
lda #<COLORRAM
sta.z conio_line_color
lda #>COLORRAM
sta.z conio_line_color+1
jmp __breturn
// clrscr::@return
__breturn:
// [111] return
rts
// [112] phi from clrscr::@1 to clrscr::@3 [phi:clrscr::@1->clrscr::@3]
__b3_from___b1:
// [112] phi clrscr::c#2 = 0 [phi:clrscr::@1->clrscr::@3#0] -- vbuyy=vbuc1
ldy #0
jmp __b3
// clrscr::@3
__b3:
// [113] if(clrscr::c#2<$28) goto clrscr::@4 -- vbuyy_lt_vbuc1_then_la1
cpy #$28
bcc __b4
jmp __b5
// clrscr::@5
__b5:
// [114] clrscr::line_text#1 = clrscr::line_text#5 + $28 -- pbuz1=pbuz1_plus_vbuc1
lda #$28
clc
adc.z line_text
sta.z line_text
bcc !+
inc.z line_text+1
!:
// [115] clrscr::line_cols#1 = clrscr::line_cols#5 + $28 -- pbuz1=pbuz1_plus_vbuc1
lda #$28
clc
adc.z line_cols
sta.z line_cols
bcc !+
inc.z line_cols+1
!:
// [116] clrscr::l#1 = ++ clrscr::l#2 -- vbuxx=_inc_vbuxx
inx
// [105] phi from clrscr::@5 to clrscr::@1 [phi:clrscr::@5->clrscr::@1]
__b1_from___b5:
// [105] phi clrscr::line_cols#5 = clrscr::line_cols#1 [phi:clrscr::@5->clrscr::@1#0] -- register_copy
// [105] phi clrscr::line_text#5 = clrscr::line_text#1 [phi:clrscr::@5->clrscr::@1#1] -- register_copy
// [105] phi clrscr::l#2 = clrscr::l#1 [phi:clrscr::@5->clrscr::@1#2] -- register_copy
jmp __b1
// clrscr::@4
__b4:
// [117] clrscr::line_text#5[clrscr::c#2] = ' ' -- pbuz1_derefidx_vbuyy=vbuc1
lda #' '
sta (line_text),y
// [118] clrscr::line_cols#5[clrscr::c#2] = LIGHT_BLUE -- pbuz1_derefidx_vbuyy=vbuc1
lda #LIGHT_BLUE
sta (line_cols),y
// [119] clrscr::c#1 = ++ clrscr::c#2 -- vbuyy=_inc_vbuyy
iny
// [112] phi from clrscr::@4 to clrscr::@3 [phi:clrscr::@4->clrscr::@3]
__b3_from___b4:
// [112] phi clrscr::c#2 = clrscr::c#1 [phi:clrscr::@4->clrscr::@3#0] -- register_copy
jmp __b3
}
// printf_str
/// Print a NUL-terminated string
// void printf_str(__zp(6) void (*putc)(char), __zp($d) const char *s)
printf_str: {
.label s = $d
.label putc = 6
// [121] phi from printf_str printf_str::@2 to printf_str::@1 [phi:printf_str/printf_str::@2->printf_str::@1]
__b1_from_printf_str:
__b1_from___b2:
// [121] phi printf_str::s#20 = printf_str::s#21 [phi:printf_str/printf_str::@2->printf_str::@1#0] -- register_copy
jmp __b1
// printf_str::@1
__b1:
// [122] printf_str::c#1 = *printf_str::s#20 -- vbuaa=_deref_pbuz1
ldy #0
lda (s),y
// [123] printf_str::s#0 = ++ printf_str::s#20 -- pbuz1=_inc_pbuz1
inc.z s
bne !+
inc.z s+1
!:
// [124] if(0!=printf_str::c#1) goto printf_str::@2 -- 0_neq_vbuaa_then_la1
cmp #0
bne __b2
jmp __breturn
// printf_str::@return
__breturn:
// [125] return
rts
// printf_str::@2
__b2:
// [126] stackpush(char) = printf_str::c#1 -- _stackpushbyte_=vbuaa
pha
// [127] callexecute *printf_str::putc#21 -- call__deref_pprz1
jsr icall3
// sideeffect stackpullbytes(1) -- _stackpullbyte_1
pla
jmp __b1_from___b2
// Outside Flow
icall3:
jmp (putc)
}
// printf_uint
// Print an unsigned int using a specific format
// void printf_uint(void (*putc)(char), __zp(6) unsigned int uvalue, char format_min_length, char format_justify_left, char format_sign_always, char format_zero_padding, char format_upper_case, __register(X) char format_radix)
printf_uint: {
.label uvalue = 6
jmp __b1
// printf_uint::@1
__b1:
// [130] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2
// Handle any sign
lda #0
sta printf_buffer
// [131] utoa::value#2 = printf_uint::uvalue#2
// [132] utoa::radix#1 = printf_uint::format_radix#2
// [133] call utoa
// Format number into buffer
// [183] phi from printf_uint::@1 to utoa [phi:printf_uint::@1->utoa]
utoa_from___b1:
// [183] phi utoa::value#10 = utoa::value#2 [phi:printf_uint::@1->utoa#0] -- register_copy
// [183] phi utoa::radix#2 = utoa::radix#1 [phi:printf_uint::@1->utoa#1] -- register_copy
jsr utoa
jmp __b2
// printf_uint::@2
__b2:
// [134] printf_number_buffer::buffer_sign#3 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1
lda printf_buffer
sta.z printf_number_buffer.buffer_sign
// [135] call printf_number_buffer
// Print using format
// [214] phi from printf_uint::@2 to printf_number_buffer [phi:printf_uint::@2->printf_number_buffer]
printf_number_buffer_from___b2:
// [214] phi printf_number_buffer::format_upper_case#10 = 0 [phi:printf_uint::@2->printf_number_buffer#0] -- vbuz1=vbuc1
lda #0
sta.z printf_number_buffer.format_upper_case
// [214] phi printf_number_buffer::putc#10 = &cputc [phi:printf_uint::@2->printf_number_buffer#1] -- pprz1=pprc1
lda #<cputc
sta.z printf_number_buffer.putc
lda #>cputc
sta.z printf_number_buffer.putc+1
// [214] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 [phi:printf_uint::@2->printf_number_buffer#2] -- register_copy
// [214] phi printf_number_buffer::format_zero_padding#10 = 0 [phi:printf_uint::@2->printf_number_buffer#3] -- vbuz1=vbuc1
lda #0
sta.z printf_number_buffer.format_zero_padding
// [214] phi printf_number_buffer::format_justify_left#10 = 0 [phi:printf_uint::@2->printf_number_buffer#4] -- vbuz1=vbuc1
lda #0
sta.z printf_number_buffer.format_justify_left
// [214] phi printf_number_buffer::format_min_length#10 = 0 [phi:printf_uint::@2->printf_number_buffer#5] -- vbuxx=vbuc1
ldx #0
jsr printf_number_buffer
jmp __breturn
// printf_uint::@return
__breturn:
// [136] return
rts
}
// printf_schar
// Print a signed char using a specific format
// void printf_schar(void (*putc)(char), signed char value, char format_min_length, char format_justify_left, char format_sign_always, char format_zero_padding, char format_upper_case, char format_radix)
printf_schar: {
.const format_min_length = 0
.const format_justify_left = 0
.const format_zero_padding = 0
.const format_upper_case = 0
.const value = -main.sc
// Format number into buffer
.const uvalue = value
.label putc = cputc
// [137] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2
// Handle any sign
lda #0
sta printf_buffer
jmp __b1
// printf_schar::@1
__b1:
// [138] *((char *)&printf_buffer) = '-' -- _deref_pbuc1=vbuc2
lda #'-'
sta printf_buffer
// [139] phi from printf_schar::@1 to printf_schar::@2 [phi:printf_schar::@1->printf_schar::@2]
__b2_from___b1:
jmp __b2
// printf_schar::@2
__b2:
// [140] call uctoa
// [255] phi from printf_schar::@2 to uctoa [phi:printf_schar::@2->uctoa]
uctoa_from___b2:
// [255] phi uctoa::value#10 = printf_schar::uvalue#0 [phi:printf_schar::@2->uctoa#0] -- vbuxx=vbuc1
ldx #uvalue
jsr uctoa
jmp __b3
// printf_schar::@3
__b3:
// [141] printf_number_buffer::buffer_sign#4 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1
lda printf_buffer
sta.z printf_number_buffer.buffer_sign
// [142] call printf_number_buffer
// Print using format
// [214] phi from printf_schar::@3 to printf_number_buffer [phi:printf_schar::@3->printf_number_buffer]
printf_number_buffer_from___b3:
// [214] phi printf_number_buffer::format_upper_case#10 = printf_schar::format_upper_case#0 [phi:printf_schar::@3->printf_number_buffer#0] -- vbuz1=vbuc1
lda #format_upper_case
sta.z printf_number_buffer.format_upper_case
// [214] phi printf_number_buffer::putc#10 = printf_schar::putc#0 [phi:printf_schar::@3->printf_number_buffer#1] -- pprz1=pprc1
lda #<putc
sta.z printf_number_buffer.putc
lda #>putc
sta.z printf_number_buffer.putc+1
// [214] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 [phi:printf_schar::@3->printf_number_buffer#2] -- register_copy
// [214] phi printf_number_buffer::format_zero_padding#10 = printf_schar::format_zero_padding#0 [phi:printf_schar::@3->printf_number_buffer#3] -- vbuz1=vbuc1
lda #format_zero_padding
sta.z printf_number_buffer.format_zero_padding
// [214] phi printf_number_buffer::format_justify_left#10 = printf_schar::format_justify_left#0 [phi:printf_schar::@3->printf_number_buffer#4] -- vbuz1=vbuc1
lda #format_justify_left
sta.z printf_number_buffer.format_justify_left
// [214] phi printf_number_buffer::format_min_length#10 = printf_schar::format_min_length#0 [phi:printf_schar::@3->printf_number_buffer#5] -- vbuxx=vbuc1
ldx #format_min_length
jsr printf_number_buffer
jmp __breturn
// printf_schar::@return
__breturn:
// [143] return
rts
}
// printf_uchar
// Print an unsigned char using a specific format
// void printf_uchar(void (*putc)(char), char uvalue, char format_min_length, char format_justify_left, char format_sign_always, char format_zero_padding, char format_upper_case, char format_radix)
printf_uchar: {
.const format_min_length = 0
.const format_justify_left = 0
.const format_zero_padding = 0
.const format_upper_case = 0
.label putc = cputc
jmp __b1
// printf_uchar::@1
__b1:
// [145] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2
// Handle any sign
lda #0
sta printf_buffer
// [146] call uctoa
// Format number into buffer
// [255] phi from printf_uchar::@1 to uctoa [phi:printf_uchar::@1->uctoa]
uctoa_from___b1:
// [255] phi uctoa::value#10 = main::uc [phi:printf_uchar::@1->uctoa#0] -- vbuxx=vbuc1
ldx #main.uc
jsr uctoa
jmp __b2
// printf_uchar::@2
__b2:
// [147] printf_number_buffer::buffer_sign#5 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1
lda printf_buffer
sta.z printf_number_buffer.buffer_sign
// [148] call printf_number_buffer
// Print using format
// [214] phi from printf_uchar::@2 to printf_number_buffer [phi:printf_uchar::@2->printf_number_buffer]
printf_number_buffer_from___b2:
// [214] phi printf_number_buffer::format_upper_case#10 = printf_uchar::format_upper_case#0 [phi:printf_uchar::@2->printf_number_buffer#0] -- vbuz1=vbuc1
lda #format_upper_case
sta.z printf_number_buffer.format_upper_case
// [214] phi printf_number_buffer::putc#10 = printf_uchar::putc#0 [phi:printf_uchar::@2->printf_number_buffer#1] -- pprz1=pprc1
lda #<putc
sta.z printf_number_buffer.putc
lda #>putc
sta.z printf_number_buffer.putc+1
// [214] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 [phi:printf_uchar::@2->printf_number_buffer#2] -- register_copy
// [214] phi printf_number_buffer::format_zero_padding#10 = printf_uchar::format_zero_padding#0 [phi:printf_uchar::@2->printf_number_buffer#3] -- vbuz1=vbuc1
lda #format_zero_padding
sta.z printf_number_buffer.format_zero_padding
// [214] phi printf_number_buffer::format_justify_left#10 = printf_uchar::format_justify_left#0 [phi:printf_uchar::@2->printf_number_buffer#4] -- vbuz1=vbuc1
lda #format_justify_left
sta.z printf_number_buffer.format_justify_left
// [214] phi printf_number_buffer::format_min_length#10 = printf_uchar::format_min_length#0 [phi:printf_uchar::@2->printf_number_buffer#5] -- vbuxx=vbuc1
ldx #format_min_length
jsr printf_number_buffer
jmp __breturn
// printf_uchar::@return
__breturn:
// [149] return
rts
}
// printf_sint
// Print a signed integer using a specific format
// void printf_sint(void (*putc)(char), int value, char format_min_length, char format_justify_left, char format_sign_always, char format_zero_padding, char format_upper_case, char format_radix)
printf_sint: {
.const format_min_length = 0
.const format_justify_left = 0
.const format_zero_padding = 0
.const format_upper_case = 0
.const value = -main.si
// Format number into buffer
.const uvalue = value
.label putc = cputc
// [150] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2
// Handle any sign
lda #0
sta printf_buffer
jmp __b1
// printf_sint::@1
__b1:
// [151] *((char *)&printf_buffer) = '-' -- _deref_pbuc1=vbuc2
lda #'-'
sta printf_buffer
// [152] phi from printf_sint::@1 to printf_sint::@2 [phi:printf_sint::@1->printf_sint::@2]
__b2_from___b1:
jmp __b2
// printf_sint::@2
__b2:
// [153] call utoa
// [183] phi from printf_sint::@2 to utoa [phi:printf_sint::@2->utoa]
utoa_from___b2:
// [183] phi utoa::value#10 = printf_sint::uvalue#0 [phi:printf_sint::@2->utoa#0] -- vwuz1=vwuc1
lda #<uvalue
sta.z utoa.value
lda #>uvalue
sta.z utoa.value+1
// [183] phi utoa::radix#2 = DECIMAL [phi:printf_sint::@2->utoa#1] -- vbuxx=vbuc1
ldx #DECIMAL
jsr utoa
jmp __b3
// printf_sint::@3
__b3:
// [154] printf_number_buffer::buffer_sign#2 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1
lda printf_buffer
sta.z printf_number_buffer.buffer_sign
// [155] call printf_number_buffer
// Print using format
// [214] phi from printf_sint::@3 to printf_number_buffer [phi:printf_sint::@3->printf_number_buffer]
printf_number_buffer_from___b3:
// [214] phi printf_number_buffer::format_upper_case#10 = printf_sint::format_upper_case#0 [phi:printf_sint::@3->printf_number_buffer#0] -- vbuz1=vbuc1
lda #format_upper_case
sta.z printf_number_buffer.format_upper_case
// [214] phi printf_number_buffer::putc#10 = printf_sint::putc#0 [phi:printf_sint::@3->printf_number_buffer#1] -- pprz1=pprc1
lda #<putc
sta.z printf_number_buffer.putc
lda #>putc
sta.z printf_number_buffer.putc+1
// [214] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 [phi:printf_sint::@3->printf_number_buffer#2] -- register_copy
// [214] phi printf_number_buffer::format_zero_padding#10 = printf_sint::format_zero_padding#0 [phi:printf_sint::@3->printf_number_buffer#3] -- vbuz1=vbuc1
lda #format_zero_padding
sta.z printf_number_buffer.format_zero_padding
// [214] phi printf_number_buffer::format_justify_left#10 = printf_sint::format_justify_left#0 [phi:printf_sint::@3->printf_number_buffer#4] -- vbuz1=vbuc1
lda #format_justify_left
sta.z printf_number_buffer.format_justify_left
// [214] phi printf_number_buffer::format_min_length#10 = printf_sint::format_min_length#0 [phi:printf_sint::@3->printf_number_buffer#5] -- vbuxx=vbuc1
ldx #format_min_length
jsr printf_number_buffer
jmp __breturn
// printf_sint::@return
__breturn:
// [156] return
rts
}
// printf_slong
// Print a signed long using a specific format
// void printf_slong(void (*putc)(char), long value, char format_min_length, char format_justify_left, char format_sign_always, char format_zero_padding, char format_upper_case, char format_radix)
printf_slong: {
.const format_min_length = 0
.const format_justify_left = 0
.const format_zero_padding = 0
.const format_upper_case = 0
.const value = -main.sl
// Format number into buffer
.const uvalue = value
.label putc = cputc
// [157] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2
// Handle any sign
lda #0
sta printf_buffer
jmp __b1
// printf_slong::@1
__b1:
// [158] *((char *)&printf_buffer) = '-' -- _deref_pbuc1=vbuc2
lda #'-'
sta printf_buffer
// [159] phi from printf_slong::@1 to printf_slong::@2 [phi:printf_slong::@1->printf_slong::@2]
__b2_from___b1:
jmp __b2
// printf_slong::@2
__b2:
// [160] call ultoa
// [274] phi from printf_slong::@2 to ultoa [phi:printf_slong::@2->ultoa]
ultoa_from___b2:
// [274] phi ultoa::value#10 = printf_slong::uvalue#0 [phi:printf_slong::@2->ultoa#0] -- vduz1=vduc1
lda #<uvalue
sta.z ultoa.value
lda #>uvalue
sta.z ultoa.value+1
lda #<uvalue>>$10
sta.z ultoa.value+2
lda #>uvalue>>$10
sta.z ultoa.value+3
jsr ultoa
jmp __b3
// printf_slong::@3
__b3:
// [161] printf_number_buffer::buffer_sign#0 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1
lda printf_buffer
sta.z printf_number_buffer.buffer_sign
// [162] call printf_number_buffer
// Print using format
// [214] phi from printf_slong::@3 to printf_number_buffer [phi:printf_slong::@3->printf_number_buffer]
printf_number_buffer_from___b3:
// [214] phi printf_number_buffer::format_upper_case#10 = printf_slong::format_upper_case#0 [phi:printf_slong::@3->printf_number_buffer#0] -- vbuz1=vbuc1
lda #format_upper_case
sta.z printf_number_buffer.format_upper_case
// [214] phi printf_number_buffer::putc#10 = printf_slong::putc#0 [phi:printf_slong::@3->printf_number_buffer#1] -- pprz1=pprc1
lda #<putc
sta.z printf_number_buffer.putc
lda #>putc
sta.z printf_number_buffer.putc+1
// [214] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#0 [phi:printf_slong::@3->printf_number_buffer#2] -- register_copy
// [214] phi printf_number_buffer::format_zero_padding#10 = printf_slong::format_zero_padding#0 [phi:printf_slong::@3->printf_number_buffer#3] -- vbuz1=vbuc1
lda #format_zero_padding
sta.z printf_number_buffer.format_zero_padding
// [214] phi printf_number_buffer::format_justify_left#10 = printf_slong::format_justify_left#0 [phi:printf_slong::@3->printf_number_buffer#4] -- vbuz1=vbuc1
lda #format_justify_left
sta.z printf_number_buffer.format_justify_left
// [214] phi printf_number_buffer::format_min_length#10 = printf_slong::format_min_length#0 [phi:printf_slong::@3->printf_number_buffer#5] -- vbuxx=vbuc1
ldx #format_min_length
jsr printf_number_buffer
jmp __breturn
// printf_slong::@return
__breturn:
// [163] return
rts
}
// printf_ulong
// Print an unsigned int using a specific format
// void printf_ulong(void (*putc)(char), unsigned long uvalue, char format_min_length, char format_justify_left, char format_sign_always, char format_zero_padding, char format_upper_case, char format_radix)
printf_ulong: {
.const format_min_length = 0
.const format_justify_left = 0
.const format_zero_padding = 0
.const format_upper_case = 0
.label putc = cputc
jmp __b1
// printf_ulong::@1
__b1:
// [165] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2
// Handle any sign
lda #0
sta printf_buffer
// [166] call ultoa
// Format number into buffer
// [274] phi from printf_ulong::@1 to ultoa [phi:printf_ulong::@1->ultoa]
ultoa_from___b1:
// [274] phi ultoa::value#10 = main::ul [phi:printf_ulong::@1->ultoa#0] -- vduz1=vduc1
lda #<main.ul
sta.z ultoa.value
lda #>main.ul
sta.z ultoa.value+1
lda #<main.ul>>$10
sta.z ultoa.value+2
lda #>main.ul>>$10
sta.z ultoa.value+3
jsr ultoa
jmp __b2
// printf_ulong::@2
__b2:
// [167] printf_number_buffer::buffer_sign#1 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1
lda printf_buffer
sta.z printf_number_buffer.buffer_sign
// [168] call printf_number_buffer
// Print using format
// [214] phi from printf_ulong::@2 to printf_number_buffer [phi:printf_ulong::@2->printf_number_buffer]
printf_number_buffer_from___b2:
// [214] phi printf_number_buffer::format_upper_case#10 = printf_ulong::format_upper_case#0 [phi:printf_ulong::@2->printf_number_buffer#0] -- vbuz1=vbuc1
lda #format_upper_case
sta.z printf_number_buffer.format_upper_case
// [214] phi printf_number_buffer::putc#10 = printf_ulong::putc#0 [phi:printf_ulong::@2->printf_number_buffer#1] -- pprz1=pprc1
lda #<putc
sta.z printf_number_buffer.putc
lda #>putc
sta.z printf_number_buffer.putc+1
// [214] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#1 [phi:printf_ulong::@2->printf_number_buffer#2] -- register_copy
// [214] phi printf_number_buffer::format_zero_padding#10 = printf_ulong::format_zero_padding#0 [phi:printf_ulong::@2->printf_number_buffer#3] -- vbuz1=vbuc1
lda #format_zero_padding
sta.z printf_number_buffer.format_zero_padding
// [214] phi printf_number_buffer::format_justify_left#10 = printf_ulong::format_justify_left#0 [phi:printf_ulong::@2->printf_number_buffer#4] -- vbuz1=vbuc1
lda #format_justify_left
sta.z printf_number_buffer.format_justify_left
// [214] phi printf_number_buffer::format_min_length#10 = printf_ulong::format_min_length#0 [phi:printf_ulong::@2->printf_number_buffer#5] -- vbuxx=vbuc1
ldx #format_min_length
jsr printf_number_buffer
jmp __breturn
// printf_ulong::@return
__breturn:
// [169] return
rts
}
// cscroll
// Scroll the entire screen if the cursor is beyond the last line
cscroll: {
// [170] if(conio_cursor_y!=$19) goto cscroll::@return -- vbuz1_neq_vbuc1_then_la1
lda #$19
cmp.z conio_cursor_y
bne __breturn
// [171] phi from cscroll to cscroll::@1 [phi:cscroll->cscroll::@1]
__b1_from_cscroll:
jmp __b1
// cscroll::@1
__b1:
// [172] call memcpy
// [295] phi from cscroll::@1 to memcpy [phi:cscroll::@1->memcpy]
memcpy_from___b1:
// [295] 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
// [295] 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
// [173] phi from cscroll::@1 to cscroll::@2 [phi:cscroll::@1->cscroll::@2]
__b2_from___b1:
jmp __b2
// cscroll::@2
__b2:
// [174] call memcpy
// [295] phi from cscroll::@2 to memcpy [phi:cscroll::@2->memcpy]
memcpy_from___b2:
// [295] 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
// [295] 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
// [175] phi from cscroll::@2 to cscroll::@3 [phi:cscroll::@2->cscroll::@3]
__b3_from___b2:
jmp __b3
// cscroll::@3
__b3:
// [176] call memset
// [305] phi from cscroll::@3 to memset [phi:cscroll::@3->memset]
memset_from___b3:
// [305] phi memset::c#4 = ' ' [phi:cscroll::@3->memset#0] -- vbuxx=vbuc1
ldx #' '
// [305] 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
// [177] phi from cscroll::@3 to cscroll::@4 [phi:cscroll::@3->cscroll::@4]
__b4_from___b3:
jmp __b4
// cscroll::@4
__b4:
// [178] call memset
// [305] phi from cscroll::@4 to memset [phi:cscroll::@4->memset]
memset_from___b4:
// [305] phi memset::c#4 = LIGHT_BLUE [phi:cscroll::@4->memset#0] -- vbuxx=vbuc1
ldx #LIGHT_BLUE
// [305] 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:
// [179] 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
// [180] 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
// [181] conio_cursor_y = -- conio_cursor_y -- vbuz1=_dec_vbuz1
dec.z conio_cursor_y
jmp __breturn
// cscroll::@return
__breturn:
// [182] return
rts
}
// 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(6) unsigned int value, __zp($13) char *buffer, __register(X) char radix)
utoa: {
.label digit_value = $22
.label buffer = $13
.label digit = 3
.label value = 6
.label max_digits = 2
.label digit_values = $d
// [184] if(utoa::radix#2==DECIMAL) goto utoa::@1 -- vbuxx_eq_vbuc1_then_la1
cpx #DECIMAL
beq __b1_from_utoa
jmp __b2
// utoa::@2
__b2:
// [185] if(utoa::radix#2==HEXADECIMAL) goto utoa::@1 -- vbuxx_eq_vbuc1_then_la1
cpx #HEXADECIMAL
beq __b1_from___b2
jmp __b3
// utoa::@3
__b3:
// [186] if(utoa::radix#2==OCTAL) goto utoa::@1 -- vbuxx_eq_vbuc1_then_la1
cpx #OCTAL
beq __b1_from___b3
jmp __b4
// utoa::@4
__b4:
// [187] if(utoa::radix#2==BINARY) goto utoa::@1 -- vbuxx_eq_vbuc1_then_la1
cpx #BINARY
beq __b1_from___b4
jmp __b5
// utoa::@5
__b5:
// [188] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS) = 'e' -- _deref_pbuc1=vbuc2
// Unknown radix
lda #'e'
sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
// [189] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1) = 'r' -- _deref_pbuc1=vbuc2
lda #'r'
sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1
// [190] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2) = 'r' -- _deref_pbuc1=vbuc2
lda #'r'
sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2
// [191] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3) = 0 -- _deref_pbuc1=vbuc2
lda #0
sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3
jmp __breturn
// utoa::@return
__breturn:
// [192] return
rts
// [193] phi from utoa to utoa::@1 [phi:utoa->utoa::@1]
__b1_from_utoa:
// [193] phi utoa::digit_values#8 = RADIX_DECIMAL_VALUES [phi:utoa->utoa::@1#0] -- pwuz1=pwuc1
lda #<RADIX_DECIMAL_VALUES
sta.z digit_values
lda #>RADIX_DECIMAL_VALUES
sta.z digit_values+1
// [193] phi utoa::max_digits#7 = 5 [phi:utoa->utoa::@1#1] -- vbuz1=vbuc1
lda #5
sta.z max_digits
jmp __b1
// [193] phi from utoa::@2 to utoa::@1 [phi:utoa::@2->utoa::@1]
__b1_from___b2:
// [193] phi utoa::digit_values#8 = RADIX_HEXADECIMAL_VALUES [phi:utoa::@2->utoa::@1#0] -- pwuz1=pwuc1
lda #<RADIX_HEXADECIMAL_VALUES
sta.z digit_values
lda #>RADIX_HEXADECIMAL_VALUES
sta.z digit_values+1
// [193] phi utoa::max_digits#7 = 4 [phi:utoa::@2->utoa::@1#1] -- vbuz1=vbuc1
lda #4
sta.z max_digits
jmp __b1
// [193] phi from utoa::@3 to utoa::@1 [phi:utoa::@3->utoa::@1]
__b1_from___b3:
// [193] phi utoa::digit_values#8 = RADIX_OCTAL_VALUES [phi:utoa::@3->utoa::@1#0] -- pwuz1=pwuc1
lda #<RADIX_OCTAL_VALUES
sta.z digit_values
lda #>RADIX_OCTAL_VALUES
sta.z digit_values+1
// [193] phi utoa::max_digits#7 = 6 [phi:utoa::@3->utoa::@1#1] -- vbuz1=vbuc1
lda #6
sta.z max_digits
jmp __b1
// [193] phi from utoa::@4 to utoa::@1 [phi:utoa::@4->utoa::@1]
__b1_from___b4:
// [193] phi utoa::digit_values#8 = RADIX_BINARY_VALUES [phi:utoa::@4->utoa::@1#0] -- pwuz1=pwuc1
lda #<RADIX_BINARY_VALUES
sta.z digit_values
lda #>RADIX_BINARY_VALUES
sta.z digit_values+1
// [193] phi utoa::max_digits#7 = $10 [phi:utoa::@4->utoa::@1#1] -- vbuz1=vbuc1
lda #$10
sta.z max_digits
jmp __b1
// utoa::@1
__b1:
// [194] phi from utoa::@1 to utoa::@6 [phi:utoa::@1->utoa::@6]
__b6_from___b1:
// [194] phi utoa::buffer#10 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:utoa::@1->utoa::@6#0] -- pbuz1=pbuc1
lda #<printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
sta.z buffer
lda #>printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
sta.z buffer+1
// [194] phi utoa::started#2 = 0 [phi:utoa::@1->utoa::@6#1] -- vbuxx=vbuc1
ldx #0
// [194] phi utoa::value#3 = utoa::value#10 [phi:utoa::@1->utoa::@6#2] -- register_copy
// [194] phi utoa::digit#2 = 0 [phi:utoa::@1->utoa::@6#3] -- vbuz1=vbuc1
lda #0
sta.z digit
jmp __b6
// utoa::@6
__b6:
// [195] utoa::$4 = utoa::max_digits#7 - 1 -- vbuaa=vbuz1_minus_1
lda.z max_digits
sec
sbc #1
// [196] if(utoa::digit#2<utoa::$4) goto utoa::@7 -- vbuz1_lt_vbuaa_then_la1
cmp.z digit
beq !+
bcs __b7
!:
jmp __b8
// utoa::@8
__b8:
// [197] utoa::$11 = (char)utoa::value#3 -- vbuxx=_byte_vwuz1
ldx.z value
// [198] *utoa::buffer#10 = DIGITS[utoa::$11] -- _deref_pbuz1=pbuc1_derefidx_vbuxx
lda DIGITS,x
ldy #0
sta (buffer),y
// [199] utoa::buffer#3 = ++ utoa::buffer#10 -- pbuz1=_inc_pbuz1
inc.z buffer
bne !+
inc.z buffer+1
!:
// [200] *utoa::buffer#3 = 0 -- _deref_pbuz1=vbuc1
lda #0
ldy #0
sta (buffer),y
jmp __breturn
// utoa::@7
__b7:
// [201] utoa::$10 = utoa::digit#2 << 1 -- vbuaa=vbuz1_rol_1
lda.z digit
asl
// [202] utoa::digit_value#0 = utoa::digit_values#8[utoa::$10] -- vwuz1=pwuz2_derefidx_vbuaa
tay
lda (digit_values),y
sta.z digit_value
iny
lda (digit_values),y
sta.z digit_value+1
// [203] if(0!=utoa::started#2) goto utoa::@10 -- 0_neq_vbuxx_then_la1
cpx #0
bne __b10
jmp __b12
// utoa::@12
__b12:
// [204] if(utoa::value#3>=utoa::digit_value#0) goto utoa::@10 -- vwuz1_ge_vwuz2_then_la1
lda.z value+1
cmp.z digit_value+1
bcc !+
bne __b10
lda.z value
cmp.z digit_value
bcs __b10
!:
// [205] phi from utoa::@12 to utoa::@9 [phi:utoa::@12->utoa::@9]
__b9_from___b12:
// [205] phi utoa::buffer#15 = utoa::buffer#10 [phi:utoa::@12->utoa::@9#0] -- register_copy
// [205] phi utoa::started#4 = utoa::started#2 [phi:utoa::@12->utoa::@9#1] -- register_copy
// [205] phi utoa::value#7 = utoa::value#3 [phi:utoa::@12->utoa::@9#2] -- register_copy
jmp __b9
// utoa::@9
__b9:
// [206] utoa::digit#1 = ++ utoa::digit#2 -- vbuz1=_inc_vbuz1
inc.z digit
// [194] phi from utoa::@9 to utoa::@6 [phi:utoa::@9->utoa::@6]
__b6_from___b9:
// [194] phi utoa::buffer#10 = utoa::buffer#15 [phi:utoa::@9->utoa::@6#0] -- register_copy
// [194] phi utoa::started#2 = utoa::started#4 [phi:utoa::@9->utoa::@6#1] -- register_copy
// [194] phi utoa::value#3 = utoa::value#7 [phi:utoa::@9->utoa::@6#2] -- register_copy
// [194] phi utoa::digit#2 = utoa::digit#1 [phi:utoa::@9->utoa::@6#3] -- register_copy
jmp __b6
// utoa::@10
__b10:
// [207] utoa_append::buffer#0 = utoa::buffer#10
// [208] utoa_append::value#0 = utoa::value#3
// [209] utoa_append::sub#0 = utoa::digit_value#0
// [210] call utoa_append
// [313] phi from utoa::@10 to utoa_append [phi:utoa::@10->utoa_append]
utoa_append_from___b10:
jsr utoa_append
// [211] utoa_append::return#0 = utoa_append::value#2
jmp __b11
// utoa::@11
__b11:
// [212] utoa::value#0 = utoa_append::return#0
// [213] utoa::buffer#4 = ++ utoa::buffer#10 -- pbuz1=_inc_pbuz1
inc.z buffer
bne !+
inc.z buffer+1
!:
// [205] phi from utoa::@11 to utoa::@9 [phi:utoa::@11->utoa::@9]
__b9_from___b11:
// [205] phi utoa::buffer#15 = utoa::buffer#4 [phi:utoa::@11->utoa::@9#0] -- register_copy
// [205] phi utoa::started#4 = 1 [phi:utoa::@11->utoa::@9#1] -- vbuxx=vbuc1
ldx #1
// [205] phi utoa::value#7 = utoa::value#0 [phi:utoa::@11->utoa::@9#2] -- register_copy
jmp __b9
}
// printf_number_buffer
// Print the contents of the number buffer using a specific format.
// This handles minimum length, zero-filling, and left/right justification from the format
// void printf_number_buffer(__zp(6) void (*putc)(char), __zp(4) char buffer_sign, char *buffer_digits, __register(X) char format_min_length, __zp(2) char format_justify_left, char format_sign_always, __zp(3) char format_zero_padding, __zp(5) char format_upper_case, char format_radix)
printf_number_buffer: {
.label __19 = $22
.label buffer_sign = 4
.label padding = 8
.label putc = 6
.label format_justify_left = 2
.label format_zero_padding = 3
.label format_upper_case = 5
// [215] if(0==printf_number_buffer::format_min_length#10) goto printf_number_buffer::@1 -- 0_eq_vbuxx_then_la1
cpx #0
beq __b1_from_printf_number_buffer
// [216] phi from printf_number_buffer to printf_number_buffer::@6 [phi:printf_number_buffer->printf_number_buffer::@6]
__b6_from_printf_number_buffer:
jmp __b6
// printf_number_buffer::@6
__b6:
// [217] call strlen
// [320] phi from printf_number_buffer::@6 to strlen [phi:printf_number_buffer::@6->strlen]
strlen_from___b6:
jsr strlen
// [218] strlen::return#2 = strlen::len#2
jmp __b14
// printf_number_buffer::@14
__b14:
// [219] printf_number_buffer::$19 = strlen::return#2
// [220] printf_number_buffer::len#0 = (signed char)printf_number_buffer::$19 -- vbsyy=_sbyte_vwuz1
// There is a minimum length - work out the padding
ldy.z __19
// [221] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@13 -- 0_eq_vbuz1_then_la1
lda.z buffer_sign
beq __b13_from___b14
jmp __b7
// printf_number_buffer::@7
__b7:
// [222] printf_number_buffer::len#1 = ++ printf_number_buffer::len#0 -- vbsyy=_inc_vbsyy
iny
// [223] phi from printf_number_buffer::@14 printf_number_buffer::@7 to printf_number_buffer::@13 [phi:printf_number_buffer::@14/printf_number_buffer::@7->printf_number_buffer::@13]
__b13_from___b14:
__b13_from___b7:
// [223] phi printf_number_buffer::len#2 = printf_number_buffer::len#0 [phi:printf_number_buffer::@14/printf_number_buffer::@7->printf_number_buffer::@13#0] -- register_copy
jmp __b13
// printf_number_buffer::@13
__b13:
// [224] printf_number_buffer::padding#1 = (signed char)printf_number_buffer::format_min_length#10 - printf_number_buffer::len#2 -- vbsz1=vbsxx_minus_vbsyy
txa
sty.z $ff
sec
sbc.z $ff
sta.z padding
// [225] if(printf_number_buffer::padding#1>=0) goto printf_number_buffer::@21 -- vbsz1_ge_0_then_la1
lda.z padding
cmp #0
bpl __b21_from___b13
// [227] phi from printf_number_buffer printf_number_buffer::@13 to printf_number_buffer::@1 [phi:printf_number_buffer/printf_number_buffer::@13->printf_number_buffer::@1]
__b1_from_printf_number_buffer:
__b1_from___b13:
// [227] phi printf_number_buffer::padding#10 = 0 [phi:printf_number_buffer/printf_number_buffer::@13->printf_number_buffer::@1#0] -- vbsz1=vbsc1
lda #0
sta.z padding
jmp __b1
// [226] phi from printf_number_buffer::@13 to printf_number_buffer::@21 [phi:printf_number_buffer::@13->printf_number_buffer::@21]
__b21_from___b13:
jmp __b21
// printf_number_buffer::@21
__b21:
// [227] phi from printf_number_buffer::@21 to printf_number_buffer::@1 [phi:printf_number_buffer::@21->printf_number_buffer::@1]
__b1_from___b21:
// [227] phi printf_number_buffer::padding#10 = printf_number_buffer::padding#1 [phi:printf_number_buffer::@21->printf_number_buffer::@1#0] -- register_copy
jmp __b1
// printf_number_buffer::@1
__b1:
// [228] if(0!=printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@2 -- 0_neq_vbuz1_then_la1
lda.z format_justify_left
bne __b2
jmp __b17
// printf_number_buffer::@17
__b17:
// [229] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2 -- 0_neq_vbuz1_then_la1
lda.z format_zero_padding
bne __b2
jmp __b16
// printf_number_buffer::@16
__b16:
// [230] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@8 -- 0_neq_vbsz1_then_la1
lda.z padding
cmp #0
bne __b8
jmp __b2
// printf_number_buffer::@8
__b8:
// [231] printf_padding::putc#0 = printf_number_buffer::putc#10
// [232] printf_padding::length#0 = (char)printf_number_buffer::padding#10 -- vbuz1=vbuz2
lda.z padding
sta.z printf_padding.length
// [233] call printf_padding
// [326] phi from printf_number_buffer::@8 to printf_padding [phi:printf_number_buffer::@8->printf_padding]
printf_padding_from___b8:
// [326] phi printf_padding::putc#5 = printf_padding::putc#0 [phi:printf_number_buffer::@8->printf_padding#0] -- register_copy
// [326] phi printf_padding::pad#5 = ' ' [phi:printf_number_buffer::@8->printf_padding#1] -- vbuz1=vbuc1
lda #' '
sta.z printf_padding.pad
// [326] phi printf_padding::length#4 = printf_padding::length#0 [phi:printf_number_buffer::@8->printf_padding#2] -- register_copy
jsr printf_padding
jmp __b2
// printf_number_buffer::@2
__b2:
// [234] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@3 -- 0_eq_vbuz1_then_la1
lda.z buffer_sign
beq __b3
jmp __b9
// printf_number_buffer::@9
__b9:
// [235] stackpush(char) = printf_number_buffer::buffer_sign#10 -- _stackpushbyte_=vbuz1
lda.z buffer_sign
pha
// [236] callexecute *printf_number_buffer::putc#10 -- call__deref_pprz1
jsr icall4
// sideeffect stackpullbytes(1) -- _stackpullbyte_1
pla
jmp __b3
// printf_number_buffer::@3
__b3:
// [238] if(0==printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4 -- 0_eq_vbuz1_then_la1
lda.z format_zero_padding
beq __b4
jmp __b18
// printf_number_buffer::@18
__b18:
// [239] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@10 -- 0_neq_vbsz1_then_la1
lda.z padding
cmp #0
bne __b10
jmp __b4
// printf_number_buffer::@10
__b10:
// [240] printf_padding::putc#1 = printf_number_buffer::putc#10
// [241] printf_padding::length#1 = (char)printf_number_buffer::padding#10 -- vbuz1=vbuz2
lda.z padding
sta.z printf_padding.length
// [242] call printf_padding
// [326] phi from printf_number_buffer::@10 to printf_padding [phi:printf_number_buffer::@10->printf_padding]
printf_padding_from___b10:
// [326] phi printf_padding::putc#5 = printf_padding::putc#1 [phi:printf_number_buffer::@10->printf_padding#0] -- register_copy
// [326] phi printf_padding::pad#5 = '0' [phi:printf_number_buffer::@10->printf_padding#1] -- vbuz1=vbuc1
lda #'0'
sta.z printf_padding.pad
// [326] phi printf_padding::length#4 = printf_padding::length#1 [phi:printf_number_buffer::@10->printf_padding#2] -- register_copy
jsr printf_padding
jmp __b4
// printf_number_buffer::@4
__b4:
// [243] if(0==printf_number_buffer::format_upper_case#10) goto printf_number_buffer::@5 -- 0_eq_vbuz1_then_la1
lda.z format_upper_case
beq __b5
// [244] phi from printf_number_buffer::@4 to printf_number_buffer::@11 [phi:printf_number_buffer::@4->printf_number_buffer::@11]
__b11_from___b4:
jmp __b11
// printf_number_buffer::@11
__b11:
// [245] call strupr
// [334] phi from printf_number_buffer::@11 to strupr [phi:printf_number_buffer::@11->strupr]
strupr_from___b11:
jsr strupr
jmp __b5
// printf_number_buffer::@5
__b5:
// [246] printf_str::putc#0 = printf_number_buffer::putc#10
// [247] call printf_str
// [120] phi from printf_number_buffer::@5 to printf_str [phi:printf_number_buffer::@5->printf_str]
printf_str_from___b5:
// [120] phi printf_str::putc#21 = printf_str::putc#0 [phi:printf_number_buffer::@5->printf_str#0] -- register_copy
// [120] phi printf_str::s#21 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:printf_number_buffer::@5->printf_str#1] -- pbuz1=pbuc1
lda #<printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
sta.z printf_str.s
lda #>printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
sta.z printf_str.s+1
jsr printf_str
jmp __b15
// printf_number_buffer::@15
__b15:
// [248] if(0==printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@return -- 0_eq_vbuz1_then_la1
lda.z format_justify_left
beq __breturn
jmp __b20
// printf_number_buffer::@20
__b20:
// [249] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@return -- 0_neq_vbuz1_then_la1
lda.z format_zero_padding
bne __breturn
jmp __b19
// printf_number_buffer::@19
__b19:
// [250] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@12 -- 0_neq_vbsz1_then_la1
lda.z padding
cmp #0
bne __b12
jmp __breturn
// printf_number_buffer::@12
__b12:
// [251] printf_padding::putc#2 = printf_number_buffer::putc#10
// [252] printf_padding::length#2 = (char)printf_number_buffer::padding#10 -- vbuz1=vbuz2
lda.z padding
sta.z printf_padding.length
// [253] call printf_padding
// [326] phi from printf_number_buffer::@12 to printf_padding [phi:printf_number_buffer::@12->printf_padding]
printf_padding_from___b12:
// [326] phi printf_padding::putc#5 = printf_padding::putc#2 [phi:printf_number_buffer::@12->printf_padding#0] -- register_copy
// [326] phi printf_padding::pad#5 = ' ' [phi:printf_number_buffer::@12->printf_padding#1] -- vbuz1=vbuc1
lda #' '
sta.z printf_padding.pad
// [326] phi printf_padding::length#4 = printf_padding::length#2 [phi:printf_number_buffer::@12->printf_padding#2] -- register_copy
jsr printf_padding
jmp __breturn
// printf_number_buffer::@return
__breturn:
// [254] return
rts
// Outside Flow
icall4:
jmp (putc)
}
// uctoa
// 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 uctoa(__register(X) char value, __zp(6) char *buffer, char radix)
uctoa: {
.label digit_value = $24
.label buffer = 6
.label digit = 4
.label started = 5
// [256] phi from uctoa to uctoa::@1 [phi:uctoa->uctoa::@1]
__b1_from_uctoa:
// [256] phi uctoa::buffer#10 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:uctoa->uctoa::@1#0] -- pbuz1=pbuc1
lda #<printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
sta.z buffer
lda #>printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
sta.z buffer+1
// [256] phi uctoa::started#2 = 0 [phi:uctoa->uctoa::@1#1] -- vbuz1=vbuc1
lda #0
sta.z started
// [256] phi uctoa::value#3 = uctoa::value#10 [phi:uctoa->uctoa::@1#2] -- register_copy
// [256] phi uctoa::digit#2 = 0 [phi:uctoa->uctoa::@1#3] -- vbuz1=vbuc1
lda #0
sta.z digit
jmp __b1
// uctoa::@1
__b1:
// [257] if(uctoa::digit#2<3-1) goto uctoa::@2 -- vbuz1_lt_vbuc1_then_la1
lda.z digit
cmp #3-1
bcc __b2
jmp __b3
// uctoa::@3
__b3:
// [258] *uctoa::buffer#10 = DIGITS[uctoa::value#3] -- _deref_pbuz1=pbuc1_derefidx_vbuxx
lda DIGITS,x
ldy #0
sta (buffer),y
// [259] uctoa::buffer#3 = ++ uctoa::buffer#10 -- pbuz1=_inc_pbuz1
inc.z buffer
bne !+
inc.z buffer+1
!:
// [260] *uctoa::buffer#3 = 0 -- _deref_pbuz1=vbuc1
lda #0
ldy #0
sta (buffer),y
jmp __breturn
// uctoa::@return
__breturn:
// [261] return
rts
// uctoa::@2
__b2:
// [262] uctoa::digit_value#0 = RADIX_DECIMAL_VALUES_CHAR[uctoa::digit#2] -- vbuz1=pbuc1_derefidx_vbuz2
ldy.z digit
lda RADIX_DECIMAL_VALUES_CHAR,y
sta.z digit_value
// [263] if(0!=uctoa::started#2) goto uctoa::@5 -- 0_neq_vbuz1_then_la1
lda.z started
bne __b5
jmp __b7
// uctoa::@7
__b7:
// [264] if(uctoa::value#3>=uctoa::digit_value#0) goto uctoa::@5 -- vbuxx_ge_vbuz1_then_la1
cpx.z digit_value
bcs __b5
// [265] phi from uctoa::@7 to uctoa::@4 [phi:uctoa::@7->uctoa::@4]
__b4_from___b7:
// [265] phi uctoa::buffer#15 = uctoa::buffer#10 [phi:uctoa::@7->uctoa::@4#0] -- register_copy
// [265] phi uctoa::started#4 = uctoa::started#2 [phi:uctoa::@7->uctoa::@4#1] -- register_copy
// [265] phi uctoa::value#7 = uctoa::value#3 [phi:uctoa::@7->uctoa::@4#2] -- register_copy
jmp __b4
// uctoa::@4
__b4:
// [266] uctoa::digit#1 = ++ uctoa::digit#2 -- vbuz1=_inc_vbuz1
inc.z digit
// [256] phi from uctoa::@4 to uctoa::@1 [phi:uctoa::@4->uctoa::@1]
__b1_from___b4:
// [256] phi uctoa::buffer#10 = uctoa::buffer#15 [phi:uctoa::@4->uctoa::@1#0] -- register_copy
// [256] phi uctoa::started#2 = uctoa::started#4 [phi:uctoa::@4->uctoa::@1#1] -- register_copy
// [256] phi uctoa::value#3 = uctoa::value#7 [phi:uctoa::@4->uctoa::@1#2] -- register_copy
// [256] phi uctoa::digit#2 = uctoa::digit#1 [phi:uctoa::@4->uctoa::@1#3] -- register_copy
jmp __b1
// uctoa::@5
__b5:
// [267] uctoa_append::buffer#0 = uctoa::buffer#10
// [268] uctoa_append::value#0 = uctoa::value#3
// [269] uctoa_append::sub#0 = uctoa::digit_value#0
// [270] call uctoa_append
// [344] phi from uctoa::@5 to uctoa_append [phi:uctoa::@5->uctoa_append]
uctoa_append_from___b5:
jsr uctoa_append
// [271] uctoa_append::return#0 = uctoa_append::value#2
jmp __b6
// uctoa::@6
__b6:
// [272] uctoa::value#0 = uctoa_append::return#0
// [273] uctoa::buffer#4 = ++ uctoa::buffer#10 -- pbuz1=_inc_pbuz1
inc.z buffer
bne !+
inc.z buffer+1
!:
// [265] phi from uctoa::@6 to uctoa::@4 [phi:uctoa::@6->uctoa::@4]
__b4_from___b6:
// [265] phi uctoa::buffer#15 = uctoa::buffer#4 [phi:uctoa::@6->uctoa::@4#0] -- register_copy
// [265] phi uctoa::started#4 = 1 [phi:uctoa::@6->uctoa::@4#1] -- vbuz1=vbuc1
lda #1
sta.z started
// [265] phi uctoa::value#7 = uctoa::value#0 [phi:uctoa::@6->uctoa::@4#2] -- register_copy
jmp __b4
}
// ultoa
// 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 ultoa(__zp(9) unsigned long value, __zp($d) char *buffer, char radix)
ultoa: {
.label digit_value = $25
.label buffer = $d
.label digit = 8
.label value = 9
// [275] phi from ultoa to ultoa::@1 [phi:ultoa->ultoa::@1]
__b1_from_ultoa:
// [275] phi ultoa::buffer#10 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:ultoa->ultoa::@1#0] -- pbuz1=pbuc1
lda #<printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
sta.z buffer
lda #>printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
sta.z buffer+1
// [275] phi ultoa::started#2 = 0 [phi:ultoa->ultoa::@1#1] -- vbuxx=vbuc1
ldx #0
// [275] phi ultoa::value#3 = ultoa::value#10 [phi:ultoa->ultoa::@1#2] -- register_copy
// [275] phi ultoa::digit#2 = 0 [phi:ultoa->ultoa::@1#3] -- vbuz1=vbuc1
lda #0
sta.z digit
jmp __b1
// ultoa::@1
__b1:
// [276] if(ultoa::digit#2<$a-1) goto ultoa::@2 -- vbuz1_lt_vbuc1_then_la1
lda.z digit
cmp #$a-1
bcc __b2
jmp __b3
// ultoa::@3
__b3:
// [277] ultoa::$11 = (char)ultoa::value#3 -- vbuaa=_byte_vduz1
lda.z value
// [278] *ultoa::buffer#10 = DIGITS[ultoa::$11] -- _deref_pbuz1=pbuc1_derefidx_vbuaa
tay
lda DIGITS,y
ldy #0
sta (buffer),y
// [279] ultoa::buffer#3 = ++ ultoa::buffer#10 -- pbuz1=_inc_pbuz1
inc.z buffer
bne !+
inc.z buffer+1
!:
// [280] *ultoa::buffer#3 = 0 -- _deref_pbuz1=vbuc1
lda #0
ldy #0
sta (buffer),y
jmp __breturn
// ultoa::@return
__breturn:
// [281] return
rts
// ultoa::@2
__b2:
// [282] ultoa::$10 = ultoa::digit#2 << 2 -- vbuaa=vbuz1_rol_2
lda.z digit
asl
asl
// [283] ultoa::digit_value#0 = RADIX_DECIMAL_VALUES_LONG[ultoa::$10] -- vduz1=pduc1_derefidx_vbuaa
tay
lda RADIX_DECIMAL_VALUES_LONG,y
sta.z digit_value
lda RADIX_DECIMAL_VALUES_LONG+1,y
sta.z digit_value+1
lda RADIX_DECIMAL_VALUES_LONG+2,y
sta.z digit_value+2
lda RADIX_DECIMAL_VALUES_LONG+3,y
sta.z digit_value+3
// [284] if(0!=ultoa::started#2) goto ultoa::@5 -- 0_neq_vbuxx_then_la1
cpx #0
bne __b5
jmp __b7
// ultoa::@7
__b7:
// [285] if(ultoa::value#3>=ultoa::digit_value#0) goto ultoa::@5 -- vduz1_ge_vduz2_then_la1
lda.z value+3
cmp.z digit_value+3
bcc !+
bne __b5
lda.z value+2
cmp.z digit_value+2
bcc !+
bne __b5
lda.z value+1
cmp.z digit_value+1
bcc !+
bne __b5
lda.z value
cmp.z digit_value
bcs __b5
!:
// [286] phi from ultoa::@7 to ultoa::@4 [phi:ultoa::@7->ultoa::@4]
__b4_from___b7:
// [286] phi ultoa::buffer#15 = ultoa::buffer#10 [phi:ultoa::@7->ultoa::@4#0] -- register_copy
// [286] phi ultoa::started#4 = ultoa::started#2 [phi:ultoa::@7->ultoa::@4#1] -- register_copy
// [286] phi ultoa::value#7 = ultoa::value#3 [phi:ultoa::@7->ultoa::@4#2] -- register_copy
jmp __b4
// ultoa::@4
__b4:
// [287] ultoa::digit#1 = ++ ultoa::digit#2 -- vbuz1=_inc_vbuz1
inc.z digit
// [275] phi from ultoa::@4 to ultoa::@1 [phi:ultoa::@4->ultoa::@1]
__b1_from___b4:
// [275] phi ultoa::buffer#10 = ultoa::buffer#15 [phi:ultoa::@4->ultoa::@1#0] -- register_copy
// [275] phi ultoa::started#2 = ultoa::started#4 [phi:ultoa::@4->ultoa::@1#1] -- register_copy
// [275] phi ultoa::value#3 = ultoa::value#7 [phi:ultoa::@4->ultoa::@1#2] -- register_copy
// [275] phi ultoa::digit#2 = ultoa::digit#1 [phi:ultoa::@4->ultoa::@1#3] -- register_copy
jmp __b1
// ultoa::@5
__b5:
// [288] ultoa_append::buffer#0 = ultoa::buffer#10
// [289] ultoa_append::value#0 = ultoa::value#3
// [290] ultoa_append::sub#0 = ultoa::digit_value#0
// [291] call ultoa_append
// [351] phi from ultoa::@5 to ultoa_append [phi:ultoa::@5->ultoa_append]
ultoa_append_from___b5:
jsr ultoa_append
// [292] ultoa_append::return#0 = ultoa_append::value#2
jmp __b6
// ultoa::@6
__b6:
// [293] ultoa::value#0 = ultoa_append::return#0
// [294] ultoa::buffer#4 = ++ ultoa::buffer#10 -- pbuz1=_inc_pbuz1
inc.z buffer
bne !+
inc.z buffer+1
!:
// [286] phi from ultoa::@6 to ultoa::@4 [phi:ultoa::@6->ultoa::@4]
__b4_from___b6:
// [286] phi ultoa::buffer#15 = ultoa::buffer#4 [phi:ultoa::@6->ultoa::@4#0] -- register_copy
// [286] phi ultoa::started#4 = 1 [phi:ultoa::@6->ultoa::@4#1] -- vbuxx=vbuc1
ldx #1
// [286] phi ultoa::value#7 = ultoa::value#0 [phi:ultoa::@6->ultoa::@4#2] -- register_copy
jmp __b4
}
// 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($2b) void *destination, __zp($f) void *source, unsigned int num)
memcpy: {
.label src_end = $29
.label dst = $2b
.label src = $f
.label source = $f
.label destination = $2b
// [296] 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
// [297] memcpy::src#4 = (char *)memcpy::source#2
// [298] memcpy::dst#4 = (char *)memcpy::destination#2
// [299] phi from memcpy memcpy::@2 to memcpy::@1 [phi:memcpy/memcpy::@2->memcpy::@1]
__b1_from_memcpy:
__b1_from___b2:
// [299] phi memcpy::dst#2 = memcpy::dst#4 [phi:memcpy/memcpy::@2->memcpy::@1#0] -- register_copy
// [299] phi memcpy::src#2 = memcpy::src#4 [phi:memcpy/memcpy::@2->memcpy::@1#1] -- register_copy
jmp __b1
// memcpy::@1
__b1:
// [300] 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:
// [301] return
rts
// memcpy::@2
__b2:
// [302] *memcpy::dst#2 = *memcpy::src#2 -- _deref_pbuz1=_deref_pbuz2
ldy #0
lda (src),y
ldy #0
sta (dst),y
// [303] memcpy::dst#1 = ++ memcpy::dst#2 -- pbuz1=_inc_pbuz1
inc.z dst
bne !+
inc.z dst+1
!:
// [304] 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($f) void *str, __register(X) char c, unsigned int num)
memset: {
.label end = $2b
.label dst = $f
.label str = $f
jmp __b1
// memset::@1
__b1:
// [306] 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
// [307] memset::dst#4 = (char *)memset::str#3
// [308] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2]
__b2_from___b1:
__b2_from___b3:
// [308] phi memset::dst#2 = memset::dst#4 [phi:memset::@1/memset::@3->memset::@2#0] -- register_copy
jmp __b2
// memset::@2
__b2:
// [309] 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:
// [310] return
rts
// memset::@3
__b3:
// [311] *memset::dst#2 = memset::c#4 -- _deref_pbuz1=vbuxx
txa
ldy #0
sta (dst),y
// [312] memset::dst#1 = ++ memset::dst#2 -- pbuz1=_inc_pbuz1
inc.z dst
bne !+
inc.z dst+1
!:
jmp __b2_from___b3
}
// 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(6) unsigned int utoa_append(__zp($13) char *buffer, __zp(6) unsigned int value, __zp($22) unsigned int sub)
utoa_append: {
.label buffer = $13
.label value = 6
.label sub = $22
.label return = 6
// [314] phi from utoa_append to utoa_append::@1 [phi:utoa_append->utoa_append::@1]
__b1_from_utoa_append:
// [314] phi utoa_append::digit#2 = 0 [phi:utoa_append->utoa_append::@1#0] -- vbuxx=vbuc1
ldx #0
// [314] phi utoa_append::value#2 = utoa_append::value#0 [phi:utoa_append->utoa_append::@1#1] -- register_copy
jmp __b1
// utoa_append::@1
__b1:
// [315] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2 -- vwuz1_ge_vwuz2_then_la1
lda.z value+1
cmp.z sub+1
bcc !+
bne __b2
lda.z value
cmp.z sub
bcs __b2
!:
jmp __b3
// utoa_append::@3
__b3:
// [316] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuxx
lda DIGITS,x
ldy #0
sta (buffer),y
jmp __breturn
// utoa_append::@return
__breturn:
// [317] return
rts
// utoa_append::@2
__b2:
// [318] utoa_append::digit#1 = ++ utoa_append::digit#2 -- vbuxx=_inc_vbuxx
inx
// [319] 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
// [314] phi from utoa_append::@2 to utoa_append::@1 [phi:utoa_append::@2->utoa_append::@1]
__b1_from___b2:
// [314] phi utoa_append::digit#2 = utoa_append::digit#1 [phi:utoa_append::@2->utoa_append::@1#0] -- register_copy
// [314] phi utoa_append::value#2 = utoa_append::value#1 [phi:utoa_append::@2->utoa_append::@1#1] -- register_copy
jmp __b1
}
// strlen
// Computes the length of the string str up to but not including the terminating null character.
// __zp($22) unsigned int strlen(__zp($13) char *str)
strlen: {
.label len = $22
.label str = $13
.label return = $22
// [321] phi from strlen to strlen::@1 [phi:strlen->strlen::@1]
__b1_from_strlen:
// [321] phi strlen::len#2 = 0 [phi:strlen->strlen::@1#0] -- vwuz1=vwuc1
lda #<0
sta.z len
lda #>0
sta.z len+1
// [321] phi strlen::str#2 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:strlen->strlen::@1#1] -- pbuz1=pbuc1
lda #<printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
sta.z str
lda #>printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
sta.z str+1
jmp __b1
// strlen::@1
__b1:
// [322] if(0!=*strlen::str#2) goto strlen::@2 -- 0_neq__deref_pbuz1_then_la1
ldy #0
lda (str),y
cmp #0
bne __b2
jmp __breturn
// strlen::@return
__breturn:
// [323] return
rts
// strlen::@2
__b2:
// [324] strlen::len#1 = ++ strlen::len#2 -- vwuz1=_inc_vwuz1
inc.z len
bne !+
inc.z len+1
!:
// [325] strlen::str#0 = ++ strlen::str#2 -- pbuz1=_inc_pbuz1
inc.z str
bne !+
inc.z str+1
!:
// [321] phi from strlen::@2 to strlen::@1 [phi:strlen::@2->strlen::@1]
__b1_from___b2:
// [321] phi strlen::len#2 = strlen::len#1 [phi:strlen::@2->strlen::@1#0] -- register_copy
// [321] phi strlen::str#2 = strlen::str#0 [phi:strlen::@2->strlen::@1#1] -- register_copy
jmp __b1
}
// printf_padding
// Print a padding char a number of times
// void printf_padding(__zp(6) void (*putc)(char), __zp($11) char pad, __zp($24) char length)
printf_padding: {
.label i = $12
.label putc = 6
.label length = $24
.label pad = $11
// [327] phi from printf_padding to printf_padding::@1 [phi:printf_padding->printf_padding::@1]
__b1_from_printf_padding:
// [327] phi printf_padding::i#2 = 0 [phi:printf_padding->printf_padding::@1#0] -- vbuz1=vbuc1
lda #0
sta.z i
jmp __b1
// printf_padding::@1
__b1:
// [328] if(printf_padding::i#2<printf_padding::length#4) goto printf_padding::@2 -- vbuz1_lt_vbuz2_then_la1
lda.z i
cmp.z length
bcc __b2
jmp __breturn
// printf_padding::@return
__breturn:
// [329] return
rts
// printf_padding::@2
__b2:
// [330] stackpush(char) = printf_padding::pad#5 -- _stackpushbyte_=vbuz1
lda.z pad
pha
// [331] callexecute *printf_padding::putc#5 -- call__deref_pprz1
jsr icall5
// sideeffect stackpullbytes(1) -- _stackpullbyte_1
pla
jmp __b3
// printf_padding::@3
__b3:
// [333] printf_padding::i#1 = ++ printf_padding::i#2 -- vbuz1=_inc_vbuz1
inc.z i
// [327] phi from printf_padding::@3 to printf_padding::@1 [phi:printf_padding::@3->printf_padding::@1]
__b1_from___b3:
// [327] phi printf_padding::i#2 = printf_padding::i#1 [phi:printf_padding::@3->printf_padding::@1#0] -- register_copy
jmp __b1
// Outside Flow
icall5:
jmp (putc)
}
// strupr
// Converts a string to uppercase.
// char * strupr(char *str)
strupr: {
.label str = printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
.label src = $13
// [335] phi from strupr to strupr::@1 [phi:strupr->strupr::@1]
__b1_from_strupr:
// [335] phi strupr::src#2 = strupr::str#0 [phi:strupr->strupr::@1#0] -- pbuz1=pbuc1
lda #<str
sta.z src
lda #>str
sta.z src+1
jmp __b1
// strupr::@1
__b1:
// [336] if(0!=*strupr::src#2) goto strupr::@2 -- 0_neq__deref_pbuz1_then_la1
ldy #0
lda (src),y
cmp #0
bne __b2
jmp __breturn
// strupr::@return
__breturn:
// [337] return
rts
// strupr::@2
__b2:
// [338] toupper::ch#0 = *strupr::src#2 -- vbuaa=_deref_pbuz1
ldy #0
lda (src),y
// [339] call toupper
jsr toupper
// [340] toupper::return#3 = toupper::return#2
jmp __b3
// strupr::@3
__b3:
// [341] strupr::$0 = toupper::return#3
// [342] *strupr::src#2 = strupr::$0 -- _deref_pbuz1=vbuaa
ldy #0
sta (src),y
// [343] strupr::src#1 = ++ strupr::src#2 -- pbuz1=_inc_pbuz1
inc.z src
bne !+
inc.z src+1
!:
// [335] phi from strupr::@3 to strupr::@1 [phi:strupr::@3->strupr::@1]
__b1_from___b3:
// [335] phi strupr::src#2 = strupr::src#1 [phi:strupr::@3->strupr::@1#0] -- register_copy
jmp __b1
}
// uctoa_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.
// __register(X) char uctoa_append(__zp(6) char *buffer, __register(X) char value, __zp($24) char sub)
uctoa_append: {
.label buffer = 6
.label sub = $24
// [345] phi from uctoa_append to uctoa_append::@1 [phi:uctoa_append->uctoa_append::@1]
__b1_from_uctoa_append:
// [345] phi uctoa_append::digit#2 = 0 [phi:uctoa_append->uctoa_append::@1#0] -- vbuyy=vbuc1
ldy #0
// [345] phi uctoa_append::value#2 = uctoa_append::value#0 [phi:uctoa_append->uctoa_append::@1#1] -- register_copy
jmp __b1
// uctoa_append::@1
__b1:
// [346] if(uctoa_append::value#2>=uctoa_append::sub#0) goto uctoa_append::@2 -- vbuxx_ge_vbuz1_then_la1
cpx.z sub
bcs __b2
jmp __b3
// uctoa_append::@3
__b3:
// [347] *uctoa_append::buffer#0 = DIGITS[uctoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuyy
lda DIGITS,y
ldy #0
sta (buffer),y
jmp __breturn
// uctoa_append::@return
__breturn:
// [348] return
rts
// uctoa_append::@2
__b2:
// [349] uctoa_append::digit#1 = ++ uctoa_append::digit#2 -- vbuyy=_inc_vbuyy
iny
// [350] uctoa_append::value#1 = uctoa_append::value#2 - uctoa_append::sub#0 -- vbuxx=vbuxx_minus_vbuz1
txa
sec
sbc.z sub
tax
// [345] phi from uctoa_append::@2 to uctoa_append::@1 [phi:uctoa_append::@2->uctoa_append::@1]
__b1_from___b2:
// [345] phi uctoa_append::digit#2 = uctoa_append::digit#1 [phi:uctoa_append::@2->uctoa_append::@1#0] -- register_copy
// [345] phi uctoa_append::value#2 = uctoa_append::value#1 [phi:uctoa_append::@2->uctoa_append::@1#1] -- register_copy
jmp __b1
}
// ultoa_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(9) unsigned long ultoa_append(__zp($d) char *buffer, __zp(9) unsigned long value, __zp($25) unsigned long sub)
ultoa_append: {
.label buffer = $d
.label value = 9
.label sub = $25
.label return = 9
// [352] phi from ultoa_append to ultoa_append::@1 [phi:ultoa_append->ultoa_append::@1]
__b1_from_ultoa_append:
// [352] phi ultoa_append::digit#2 = 0 [phi:ultoa_append->ultoa_append::@1#0] -- vbuxx=vbuc1
ldx #0
// [352] phi ultoa_append::value#2 = ultoa_append::value#0 [phi:ultoa_append->ultoa_append::@1#1] -- register_copy
jmp __b1
// ultoa_append::@1
__b1:
// [353] if(ultoa_append::value#2>=ultoa_append::sub#0) goto ultoa_append::@2 -- vduz1_ge_vduz2_then_la1
lda.z value+3
cmp.z sub+3
bcc !+
bne __b2
lda.z value+2
cmp.z sub+2
bcc !+
bne __b2
lda.z value+1
cmp.z sub+1
bcc !+
bne __b2
lda.z value
cmp.z sub
bcs __b2
!:
jmp __b3
// ultoa_append::@3
__b3:
// [354] *ultoa_append::buffer#0 = DIGITS[ultoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuxx
lda DIGITS,x
ldy #0
sta (buffer),y
jmp __breturn
// ultoa_append::@return
__breturn:
// [355] return
rts
// ultoa_append::@2
__b2:
// [356] ultoa_append::digit#1 = ++ ultoa_append::digit#2 -- vbuxx=_inc_vbuxx
inx
// [357] ultoa_append::value#1 = ultoa_append::value#2 - ultoa_append::sub#0 -- vduz1=vduz1_minus_vduz2
lda.z value
sec
sbc.z sub
sta.z value
lda.z value+1
sbc.z sub+1
sta.z value+1
lda.z value+2
sbc.z sub+2
sta.z value+2
lda.z value+3
sbc.z sub+3
sta.z value+3
// [352] phi from ultoa_append::@2 to ultoa_append::@1 [phi:ultoa_append::@2->ultoa_append::@1]
__b1_from___b2:
// [352] phi ultoa_append::digit#2 = ultoa_append::digit#1 [phi:ultoa_append::@2->ultoa_append::@1#0] -- register_copy
// [352] phi ultoa_append::value#2 = ultoa_append::value#1 [phi:ultoa_append::@2->ultoa_append::@1#1] -- register_copy
jmp __b1
}
// toupper
// Convert lowercase alphabet to uppercase
// Returns uppercase equivalent to c, if such value exists, else c remains unchanged
// __register(A) char toupper(__register(A) char ch)
toupper: {
// [358] if(toupper::ch#0<'a') goto toupper::@return -- vbuaa_lt_vbuc1_then_la1
cmp #'a'
bcc __breturn_from_toupper
jmp __b2
// toupper::@2
__b2:
// [359] if(toupper::ch#0<='z') goto toupper::@1 -- vbuaa_le_vbuc1_then_la1
cmp #'z'
bcc __b1
beq __b1
// [361] phi from toupper toupper::@1 toupper::@2 to toupper::@return [phi:toupper/toupper::@1/toupper::@2->toupper::@return]
__breturn_from_toupper:
__breturn_from___b1:
__breturn_from___b2:
// [361] phi toupper::return#2 = toupper::ch#0 [phi:toupper/toupper::@1/toupper::@2->toupper::@return#0] -- register_copy
jmp __breturn
// toupper::@1
__b1:
// [360] toupper::return#0 = toupper::ch#0 + 'A'-'a' -- vbuaa=vbuaa_plus_vbuc1
clc
adc #'A'-'a'
jmp __breturn_from___b1
// toupper::@return
__breturn:
// [362] return
rts
}
// File Data
.segment Data
// The digits used for numbers
DIGITS: .text "0123456789abcdef"
// Values of decimal digits
RADIX_DECIMAL_VALUES_CHAR: .byte $64, $a
// Values of binary digits
RADIX_BINARY_VALUES: .word $8000, $4000, $2000, $1000, $800, $400, $200, $100, $80, $40, $20, $10, 8, 4, 2
// Values of octal digits
RADIX_OCTAL_VALUES: .word $8000, $1000, $200, $40, 8
// Values of decimal digits
RADIX_DECIMAL_VALUES: .word $2710, $3e8, $64, $a
// Values of hexadecimal digits
RADIX_HEXADECIMAL_VALUES: .word $1000, $100, $10
// Values of decimal digits
RADIX_DECIMAL_VALUES_LONG: .dword $3b9aca00, $5f5e100, $989680, $f4240, $186a0, $2710, $3e8, $64, $a
// Buffer used for stringified number being printed
printf_buffer: .fill SIZEOF_STRUCT_PRINTF_BUFFER_NUMBER, 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 __b2
Removing instruction jmp __b3
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __b3
Removing instruction jmp __b4
Removing instruction jmp __b5
Removing instruction jmp __b6
Removing instruction jmp __b7
Removing instruction jmp __b8
Removing instruction jmp __b9
Removing instruction jmp __b10
Removing instruction jmp __b11
Removing instruction jmp __b12
Removing instruction jmp __b13
Removing instruction jmp __b14
Removing instruction jmp __b15
Removing instruction jmp __b16
Removing instruction jmp __b17
Removing instruction jmp __b18
Removing instruction jmp __b19
Removing instruction jmp __b20
Removing instruction jmp __b21
Removing instruction jmp __b22
Removing instruction jmp __b23
Removing instruction jmp __b24
Removing instruction jmp __b25
Removing instruction jmp __breturn
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 __b2
Removing instruction jmp __breturn
Removing instruction jmp __b3
Removing instruction jmp __b5
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __b3
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __b3
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __b3
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b2
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 __b2
Removing instruction jmp __b3
Removing instruction jmp __b4
Removing instruction jmp __b5
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b6
Removing instruction jmp __b8
Removing instruction jmp __b12
Removing instruction jmp __b9
Removing instruction jmp __b11
Removing instruction jmp __b6
Removing instruction jmp __b14
Removing instruction jmp __b7
Removing instruction jmp __b13
Removing instruction jmp __b21
Removing instruction jmp __b1
Removing instruction jmp __b17
Removing instruction jmp __b16
Removing instruction jmp __b2
Removing instruction jmp __b9
Removing instruction jmp __b3
Removing instruction jmp __b18
Removing instruction jmp __b4
Removing instruction jmp __b11
Removing instruction jmp __b5
Removing instruction jmp __b15
Removing instruction jmp __b20
Removing instruction jmp __b19
Removing instruction jmp __breturn
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 __b1
Removing instruction jmp __b3
Removing instruction jmp __breturn
Removing instruction jmp __b7
Removing instruction jmp __b4
Removing instruction jmp __b6
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b3
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b3
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b3
Removing instruction jmp __b1
Removing instruction jmp __b3
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b3
Removing instruction jmp __breturn
Removing instruction jmp __b2
Succesful ASM optimization Pass5NextJumpElimination
Removing instruction lda #0
Removing instruction ldy.z conio_cursor_x
Removing instruction lda #0
Removing instruction lda #0
Replacing instruction ldx #0 with TAX
Removing instruction lda #'r'
Replacing instruction lda #0 with TXA
Replacing instruction ldy #0 with TAY
Removing instruction lda.z padding
Removing instruction lda #0
Replacing instruction ldy #0 with TAY
Replacing instruction lda #0 with TXA
Replacing instruction ldy #0 with TAY
Removing instruction ldy #0
Removing instruction lda #>0
Succesful ASM optimization Pass5UnnecesaryLoadElimination
Replacing label __b2_from_conio_c64_init with __b1
Replacing label __b1_from_cputc with __b1
Replacing label __b3_from_gotoxy with __b2
Replacing label __b1 with __b2
Replacing label __b1_from___b2 with __b1
Replacing label __b1_from_printf_number_buffer with __b1_from___b13
Replacing label __b13_from___b14 with __b13
Replacing label __b21_from___b13 with __b1
Replacing label __b1_from___b2 with __b1
Replacing label __b2_from___b3 with __b2
Replacing label __breturn_from_toupper with __breturn_from___b2
Replacing label __breturn_from___b1 with __breturn_from___b2
Removing instruction __b1_from___init1:
Removing instruction main_from___b1:
Removing instruction __b2_from_conio_c64_init:
Removing instruction __b2:
Removing instruction __b1_from___b2:
Removing instruction __b3_from___b2:
Removing instruction __b1_from_cputc:
Removing instruction __b3_from___b2:
Removing instruction printf_str_from___b3:
Removing instruction __b4_from___b3:
Removing instruction printf_uint_from___b4:
Removing instruction __b5_from___b4:
Removing instruction printf_str_from___b5:
Removing instruction __b6_from___b5:
Removing instruction printf_str_from___b6:
Removing instruction __b8_from___b7:
Removing instruction printf_str_from___b8:
Removing instruction __b9_from___b8:
Removing instruction __b10_from___b9:
Removing instruction printf_str_from___b10:
Removing instruction __b11_from___b10:
Removing instruction printf_str_from___b11:
Removing instruction __b12_from___b11:
Removing instruction printf_uchar_from___b12:
Removing instruction __b13_from___b12:
Removing instruction printf_str_from___b13:
Removing instruction __b14_from___b13:
Removing instruction printf_str_from___b14:
Removing instruction __b15_from___b14:
Removing instruction __b16_from___b15:
Removing instruction printf_str_from___b16:
Removing instruction __b17_from___b16:
Removing instruction printf_str_from___b17:
Removing instruction __b18_from___b17:
Removing instruction printf_uint_from___b18:
Removing instruction __b19_from___b18:
Removing instruction printf_str_from___b19:
Removing instruction __b20_from___b19:
Removing instruction printf_str_from___b20:
Removing instruction __b21_from___b20:
Removing instruction __b22_from___b21:
Removing instruction printf_str_from___b22:
Removing instruction __b23_from___b22:
Removing instruction printf_str_from___b23:
Removing instruction __b24_from___b23:
Removing instruction printf_ulong_from___b24:
Removing instruction __b25_from___b24:
Removing instruction printf_str_from___b25:
Removing instruction __b3_from_gotoxy:
Removing instruction __b3:
Removing instruction __b1_from___b3:
Removing instruction __b1:
Removing instruction __b1_from_printf_str:
Removing instruction __b1_from___b2:
Removing instruction __b2_from___b1:
Removing instruction uctoa_from___b2:
Removing instruction __b2_from___b1:
Removing instruction utoa_from___b2:
Removing instruction __b2_from___b1:
Removing instruction ultoa_from___b2:
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 __b4_from___b3:
Removing instruction memset_from___b4:
Removing instruction __b6_from___b1:
Removing instruction __b9_from___b12:
Removing instruction utoa_append_from___b10:
Removing instruction __b6_from_printf_number_buffer:
Removing instruction strlen_from___b6:
Removing instruction __b13_from___b14:
Removing instruction __b13_from___b7:
Removing instruction __b1_from_printf_number_buffer:
Removing instruction __b21_from___b13:
Removing instruction __b21:
Removing instruction __b1_from___b21:
Removing instruction __b11_from___b4:
Removing instruction strupr_from___b11:
Removing instruction printf_str_from___b5:
Removing instruction __b4_from___b7:
Removing instruction uctoa_append_from___b5:
Removing instruction __b4_from___b7:
Removing instruction ultoa_append_from___b5:
Removing instruction __b1_from_memcpy:
Removing instruction __b1_from___b2:
Removing instruction __b2_from___b1:
Removing instruction __b2_from___b3:
Removing instruction __breturn_from_toupper:
Removing instruction __breturn_from___b1:
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 __b2:
Removing instruction __b3:
Removing instruction clrscr_from_main:
Removing instruction __b1:
Removing instruction printf_str_from___b1:
Removing instruction __b2:
Removing instruction printf_str_from___b2:
Removing instruction __b3:
Removing instruction __b4:
Removing instruction __b5:
Removing instruction __b6:
Removing instruction __b7:
Removing instruction printf_str_from___b7:
Removing instruction __b8:
Removing instruction __b9:
Removing instruction __b10:
Removing instruction __b11:
Removing instruction __b12:
Removing instruction __b13:
Removing instruction __b14:
Removing instruction __b15:
Removing instruction __b16:
Removing instruction __b17:
Removing instruction __b18:
Removing instruction __b19:
Removing instruction __b20:
Removing instruction __b21:
Removing instruction __b22:
Removing instruction __b23:
Removing instruction __b24:
Removing instruction __b25:
Removing instruction __breturn:
Removing instruction __b1_from_gotoxy:
Removing instruction __breturn:
Removing instruction __breturn:
Removing instruction __b1_from_clrscr:
Removing instruction __b2:
Removing instruction __breturn:
Removing instruction __b5:
Removing instruction __b1_from___b5:
Removing instruction __b3_from___b4:
Removing instruction __breturn:
Removing instruction __b1:
Removing instruction utoa_from___b1:
Removing instruction __b2:
Removing instruction printf_number_buffer_from___b2:
Removing instruction __breturn:
Removing instruction __b1:
Removing instruction __b2:
Removing instruction __b3:
Removing instruction printf_number_buffer_from___b3:
Removing instruction __breturn:
Removing instruction __b1:
Removing instruction uctoa_from___b1:
Removing instruction __b2:
Removing instruction printf_number_buffer_from___b2:
Removing instruction __breturn:
Removing instruction __b1:
Removing instruction __b2:
Removing instruction __b3:
Removing instruction printf_number_buffer_from___b3:
Removing instruction __breturn:
Removing instruction __b1:
Removing instruction __b2:
Removing instruction __b3:
Removing instruction printf_number_buffer_from___b3:
Removing instruction __breturn:
Removing instruction __b1:
Removing instruction ultoa_from___b1:
Removing instruction __b2:
Removing instruction printf_number_buffer_from___b2:
Removing instruction __breturn:
Removing instruction __b1:
Removing instruction __b2:
Removing instruction __b3:
Removing instruction __b4:
Removing instruction __b5:
Removing instruction __b2:
Removing instruction __b3:
Removing instruction __b4:
Removing instruction __b5:
Removing instruction __b8:
Removing instruction __b12:
Removing instruction __b6_from___b9:
Removing instruction __b11:
Removing instruction __b9_from___b11:
Removing instruction __b6:
Removing instruction __b14:
Removing instruction __b7:
Removing instruction __b17:
Removing instruction __b16:
Removing instruction printf_padding_from___b8:
Removing instruction __b9:
Removing instruction __b18:
Removing instruction printf_padding_from___b10:
Removing instruction __b11:
Removing instruction __b15:
Removing instruction __b20:
Removing instruction __b19:
Removing instruction printf_padding_from___b12:
Removing instruction __b1_from_uctoa:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b7:
Removing instruction __b1_from___b4:
Removing instruction __b6:
Removing instruction __b4_from___b6:
Removing instruction __b1_from_ultoa:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b7:
Removing instruction __b1_from___b4:
Removing instruction __b6:
Removing instruction __b4_from___b6:
Removing instruction __breturn:
Removing instruction __b1:
Removing instruction __breturn:
Removing instruction __b1_from_utoa_append:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b1_from___b2:
Removing instruction __b1_from_strlen:
Removing instruction __breturn:
Removing instruction __b1_from___b2:
Removing instruction __b1_from_printf_padding:
Removing instruction __breturn:
Removing instruction __b3:
Removing instruction __b1_from___b3:
Removing instruction __b1_from_strupr:
Removing instruction __breturn:
Removing instruction __b3:
Removing instruction __b1_from___b3:
Removing instruction __b1_from_uctoa_append:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b1_from___b2:
Removing instruction __b1_from_ultoa_append:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b1_from___b2:
Removing instruction __b2:
Succesful ASM optimization Pass5UnusedLabelElimination
Replacing jump to rts with rts in jmp __breturn
Replacing jump to rts with rts in jmp __breturn
Replacing jump to rts with rts in jmp __breturn
Skipping double jump to __breturn in bcc __breturn_from___b2
Replacing jump to rts with rts in jmp __breturn
Skipping double jump to __breturn in jmp __breturn_from___b2
Succesful ASM optimization Pass5DoubleJumpElimination
Relabelling long label __b3_from___b1 to __b2
Relabelling long label __b1_from_utoa to __b2
Relabelling long label __b1_from___b2 to __b3
Relabelling long label __b1_from___b3 to __b4
Relabelling long label __b1_from___b4 to __b5
Relabelling long label __b1_from___b13 to __b6
Relabelling long label __breturn_from___b2 to __b2
Succesful ASM optimization Pass5RelabelLongLabels
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __b1
Removing instruction jmp __breturn
Succesful ASM optimization Pass5NextJumpElimination
Removing instruction lda.z buffer_sign
Succesful ASM optimization Pass5UnnecesaryLoadElimination
Removing instruction __breturn:
Removing instruction __b2:
Succesful ASM optimization Pass5UnusedLabelElimination
FINAL SYMBOL TABLE
__constant char BINARY = 2
__constant char * const COLORRAM = (char *) 55296
__constant char DECIMAL = $a
__constant char * const DEFAULT_SCREEN = (char *) 1024
__constant char DIGITS[] = "0123456789abcdef"z
__constant char HEXADECIMAL = $10
__constant const char LIGHT_BLUE = $e
__constant char OCTAL = 8
__constant char OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS = 1
__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 char RADIX_DECIMAL_VALUES_CHAR[] = { $64, $a }
__constant unsigned long RADIX_DECIMAL_VALUES_LONG[] = { $3b9aca00, $5f5e100, $989680, $f4240, $186a0, $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_STRUCT_PRINTF_BUFFER_NUMBER = $c
__constant unsigned int STACK_BASE = $103
void __start()
void clrscr()
char clrscr::c
char clrscr::c#1 // reg byte y 20002.0
char clrscr::c#2 // reg byte y 12501.25
char clrscr::l
char clrscr::l#1 // reg byte x 2002.0
char clrscr::l#2 // reg byte x 333.6666666666667
char *clrscr::line_cols
char *clrscr::line_cols#1 // line_cols zp[2]:13 1001.0
char *clrscr::line_cols#5 // line_cols zp[2]:13 1500.375
char *clrscr::line_text
char *clrscr::line_text#1 // line_text zp[2]:6 667.3333333333334
char *clrscr::line_text#5 // line_text zp[2]:6 1714.7142857142858
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 // reg byte x 11.0
char conio_c64_init::line#2 // reg byte x 22.0
__loadstore char conio_cursor_x // zp[1]:21 50.294117647058826
__loadstore char conio_cursor_y // zp[1]:22 644.1800000000001
__loadstore char *conio_line_color // zp[2]:25 464.77083333333326
__loadstore char *conio_line_text // zp[2]:23 455.28571428571433
__stackcall void cputc(char c)
__constant char cputc::OFFSET_STACK_C = 0
char cputc::c
char cputc::c#0 // reg byte a 151.5
void cputln()
void cscroll()
void gotoxy(char x , char y)
char *gotoxy::$5 // zp[2]:32 202.0
char *gotoxy::$6 // zp[2]:28 202.0
unsigned int gotoxy::$7 // zp[2]:28 151.5
unsigned int gotoxy::$8 // zp[2]:30 202.0
unsigned int gotoxy::$9 // zp[2]:28 202.0
unsigned int gotoxy::line_offset
unsigned int gotoxy::line_offset#0 // line_offset zp[2]:28 101.0
char gotoxy::x
__constant char gotoxy::x#2 = 0 // x
char gotoxy::y
char gotoxy::y#2 // reg byte x 71.0
char gotoxy::y#4 // reg byte x 67.33333333333333
void main()
__loadstore volatile char main::c // zp[1]:27 11.0
__constant char main::s[9] = "A char: "
__constant char main::s1[2] = "
"
__constant char main::s10[$f] = "A signed int: "
__constant char main::s12[$12] = "An unsigned int: "
__constant char main::s14[$10] = "A signed long: "
__constant char main::s16[$13] = "An unsigned long: "
__constant char main::s2[$c] = "A pointer: "
__constant char main::s4[$c] = "A percent: "
__constant char main::s6[$10] = "A signed char: "
__constant char main::s8[$13] = "An unsigned char: "
__constant signed char main::sc = -$c
__constant int main::si = -$4d2
__constant long main::sl = -$1e240
__constant char main::uc = $22
__constant unsigned int main::ui = $162e
__constant unsigned long main::ul = $8aa52
void * memcpy(void *destination , void *source , unsigned int num)
void *memcpy::destination
void *memcpy::destination#2 // destination zp[2]:43
char *memcpy::dst
char *memcpy::dst#1 // dst zp[2]:43 1000001.0
char *memcpy::dst#2 // dst zp[2]:43 1033334.6666666667
char *memcpy::dst#4 // dst zp[2]:43 200002.0
unsigned int memcpy::num
void *memcpy::return
void *memcpy::source
void *memcpy::source#2 // source zp[2]:15
char *memcpy::src
char *memcpy::src#1 // src zp[2]:15 2000002.0
char *memcpy::src#2 // src zp[2]:15 1025001.25
char *memcpy::src#4 // src zp[2]:15 100001.0
char *memcpy::src_end
char *memcpy::src_end#0 // src_end zp[2]:41 137500.25
void * memset(void *str , char c , unsigned int num)
char memset::c
char memset::c#4 // reg byte x 142857.2857142857
char *memset::dst
char *memset::dst#1 // dst zp[2]:15 2000002.0
char *memset::dst#2 // dst zp[2]:15 1366668.3333333335
char *memset::dst#4 // dst zp[2]:15 200002.0
char *memset::end
char *memset::end#0 // end zp[2]:43 183333.6666666667
unsigned int memset::num
void *memset::return
void *memset::str
void *memset::str#3 // str zp[2]:15
__loadstore struct printf_buffer_number printf_buffer = {} // mem[12]
void printf_number_buffer(void (*putc)(char) , char buffer_sign , char *buffer_digits , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
unsigned int printf_number_buffer::$19 // zp[2]:34 1001.0
struct printf_buffer_number printf_number_buffer::buffer
char *printf_number_buffer::buffer_digits
char printf_number_buffer::buffer_sign
char printf_number_buffer::buffer_sign#0 // buffer_sign zp[1]:4 202.0
char printf_number_buffer::buffer_sign#1 // buffer_sign zp[1]:4 202.0
char printf_number_buffer::buffer_sign#10 // buffer_sign zp[1]:4 171.85714285714283
char printf_number_buffer::buffer_sign#2 // buffer_sign zp[1]:4 202.0
char printf_number_buffer::buffer_sign#3 // buffer_sign zp[1]:4 202.0
char printf_number_buffer::buffer_sign#4 // buffer_sign zp[1]:4 202.0
char printf_number_buffer::buffer_sign#5 // buffer_sign zp[1]:4 202.0
struct printf_format_number printf_number_buffer::format
char printf_number_buffer::format_justify_left
char printf_number_buffer::format_justify_left#10 // format_justify_left zp[1]:2 60.666666666666664
char printf_number_buffer::format_min_length
char printf_number_buffer::format_min_length#10 // reg byte x 100.1
char printf_number_buffer::format_radix
char printf_number_buffer::format_sign_always
char printf_number_buffer::format_upper_case
char printf_number_buffer::format_upper_case#10 // format_upper_case zp[1]:5 35.75
char printf_number_buffer::format_zero_padding
char printf_number_buffer::format_zero_padding#10 // format_zero_padding zp[1]:3 88.32352941176471
signed char printf_number_buffer::len
signed char printf_number_buffer::len#0 // reg byte y 1501.5
signed char printf_number_buffer::len#1 // reg byte y 2002.0
signed char printf_number_buffer::len#2 // reg byte y 3003.0
signed char printf_number_buffer::padding
signed char printf_number_buffer::padding#1 // padding zp[1]:8 1001.0
signed char printf_number_buffer::padding#10 // padding zp[1]:8 166.83333333333334
void (*printf_number_buffer::putc)(char)
void (*printf_number_buffer::putc#10)(char) // putc zp[2]:6 111.22222222222223
void printf_padding(void (*putc)(char) , char pad , char length)
char printf_padding::i
char printf_padding::i#1 // i zp[1]:18 200002.0
char printf_padding::i#2 // i zp[1]:18 100001.0
char printf_padding::length
char printf_padding::length#0 // length zp[1]:36 2002.0
char printf_padding::length#1 // length zp[1]:36 2002.0
char printf_padding::length#2 // length zp[1]:36 2002.0
char printf_padding::length#4 // length zp[1]:36 20600.8
char printf_padding::pad
char printf_padding::pad#5 // pad zp[1]:17 16666.833333333332
void (*printf_padding::putc)(char)
void (*printf_padding::putc#0)(char) // putc zp[2]:6 1001.0
void (*printf_padding::putc#1)(char) // putc zp[2]:6 1001.0
void (*printf_padding::putc#2)(char) // putc zp[2]:6 1001.0
void (*printf_padding::putc#5)(char) // putc zp[2]:6 30030.0
void printf_schar(void (*putc)(char) , signed char value , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
struct printf_format_number printf_schar::format
char printf_schar::format_justify_left
__constant char printf_schar::format_justify_left#0 = 0 // format_justify_left
char printf_schar::format_min_length
__constant char printf_schar::format_min_length#0 = 0 // format_min_length
char printf_schar::format_radix
char printf_schar::format_sign_always
char printf_schar::format_upper_case
__constant char printf_schar::format_upper_case#0 = 0 // format_upper_case
char printf_schar::format_zero_padding
__constant char printf_schar::format_zero_padding#0 = 0 // format_zero_padding
void (*printf_schar::putc)(char)
__constant void (*printf_schar::putc#0)(char) = &cputc // putc
char printf_schar::uvalue
__constant char printf_schar::uvalue#0 = (char)printf_schar::value#0 // uvalue
signed char printf_schar::value
__constant signed char printf_schar::value#0 = -main::sc // value
void printf_sint(void (*putc)(char) , int value , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
struct printf_format_number printf_sint::format
char printf_sint::format_justify_left
__constant char printf_sint::format_justify_left#0 = 0 // format_justify_left
char printf_sint::format_min_length
__constant char printf_sint::format_min_length#0 = 0 // format_min_length
char printf_sint::format_radix
char printf_sint::format_sign_always
char printf_sint::format_upper_case
__constant char printf_sint::format_upper_case#0 = 0 // format_upper_case
char printf_sint::format_zero_padding
__constant char printf_sint::format_zero_padding#0 = 0 // format_zero_padding
void (*printf_sint::putc)(char)
__constant void (*printf_sint::putc#0)(char) = &cputc // putc
unsigned int printf_sint::uvalue
__constant unsigned int printf_sint::uvalue#0 = (unsigned int)printf_sint::value#0 // uvalue
int printf_sint::value
__constant int printf_sint::value#0 = -main::si // value
void printf_slong(void (*putc)(char) , long value , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
struct printf_format_number printf_slong::format
char printf_slong::format_justify_left
__constant char printf_slong::format_justify_left#0 = 0 // format_justify_left
char printf_slong::format_min_length
__constant char printf_slong::format_min_length#0 = 0 // format_min_length
char printf_slong::format_radix
char printf_slong::format_sign_always
char printf_slong::format_upper_case
__constant char printf_slong::format_upper_case#0 = 0 // format_upper_case
char printf_slong::format_zero_padding
__constant char printf_slong::format_zero_padding#0 = 0 // format_zero_padding
void (*printf_slong::putc)(char)
__constant void (*printf_slong::putc#0)(char) = &cputc // putc
unsigned long printf_slong::uvalue
__constant unsigned long printf_slong::uvalue#0 = (unsigned long)printf_slong::value#0 // uvalue
long printf_slong::value
__constant long printf_slong::value#0 = -main::sl // value
void printf_str(void (*putc)(char) , const char *s)
char printf_str::c
char printf_str::c#1 // reg byte a 100001.0
void (*printf_str::putc)(char)
void (*printf_str::putc#0)(char) // putc zp[2]:6 2002.0
void (*printf_str::putc#21)(char) // putc zp[2]:6 10010.0
const char *printf_str::s
const char *printf_str::s#0 // s zp[2]:13 100001.0
const char *printf_str::s#20 // s zp[2]:13 155002.0
const char *printf_str::s#21 // s zp[2]:13 10001.0
void printf_uchar(void (*putc)(char) , char uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
struct printf_format_number printf_uchar::format
char printf_uchar::format_justify_left
__constant char printf_uchar::format_justify_left#0 = 0 // format_justify_left
char printf_uchar::format_min_length
__constant char printf_uchar::format_min_length#0 = 0 // format_min_length
char printf_uchar::format_radix
char printf_uchar::format_sign_always
char printf_uchar::format_upper_case
__constant char printf_uchar::format_upper_case#0 = 0 // format_upper_case
char printf_uchar::format_zero_padding
__constant char printf_uchar::format_zero_padding#0 = 0 // format_zero_padding
void (*printf_uchar::putc)(char)
__constant void (*printf_uchar::putc#0)(char) = &cputc // putc
char printf_uchar::uvalue
void printf_uint(void (*putc)(char) , unsigned int uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
struct printf_format_number printf_uint::format
char printf_uint::format_justify_left
char printf_uint::format_min_length
char printf_uint::format_radix
char printf_uint::format_radix#2 // reg byte x 33.666666666666664
char printf_uint::format_sign_always
char printf_uint::format_upper_case
char printf_uint::format_zero_padding
void (*printf_uint::putc)(char)
unsigned int printf_uint::uvalue
unsigned int printf_uint::uvalue#2 // uvalue zp[2]:6 50.5
void printf_ulong(void (*putc)(char) , unsigned long uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
struct printf_format_number printf_ulong::format
char printf_ulong::format_justify_left
__constant char printf_ulong::format_justify_left#0 = 0 // format_justify_left
char printf_ulong::format_min_length
__constant char printf_ulong::format_min_length#0 = 0 // format_min_length
char printf_ulong::format_radix
char printf_ulong::format_sign_always
char printf_ulong::format_upper_case
__constant char printf_ulong::format_upper_case#0 = 0 // format_upper_case
char printf_ulong::format_zero_padding
__constant char printf_ulong::format_zero_padding#0 = 0 // format_zero_padding
void (*printf_ulong::putc)(char)
__constant void (*printf_ulong::putc#0)(char) = &cputc // putc
unsigned long printf_ulong::uvalue
unsigned int strlen(char *str)
unsigned int strlen::len
unsigned int strlen::len#1 // len zp[2]:34 100001.0
unsigned int strlen::len#2 // len zp[2]:34 50250.75
unsigned int strlen::return
unsigned int strlen::return#2 // return zp[2]:34 2002.0
char *strlen::str
char *strlen::str#0 // str zp[2]:19 200002.0
char *strlen::str#2 // str zp[2]:19 100001.0
char * strupr(char *str)
char strupr::$0 // reg byte a 200002.0
char *strupr::return
char *strupr::src
char *strupr::src#1 // src zp[2]:19 200002.0
char *strupr::src#2 // src zp[2]:19 71429.28571428571
char *strupr::str
__constant char *strupr::str#0 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS // str
char toupper(char ch)
char toupper::ch
char toupper::ch#0 // reg byte a 1700002.0000000002
char toupper::return
char toupper::return#0 // reg byte a 2000002.0
char toupper::return#2 // reg byte a 1033334.6666666667
char toupper::return#3 // reg byte a 200002.0
void uctoa(char value , char *buffer , char radix)
char *uctoa::buffer
char *uctoa::buffer#10 // buffer zp[2]:6 3500.4999999999995
char *uctoa::buffer#15 // buffer zp[2]:6 15001.5
char *uctoa::buffer#3 // buffer zp[2]:6 2002.0
char *uctoa::buffer#4 // buffer zp[2]:6 20002.0
char uctoa::digit
char uctoa::digit#1 // digit zp[1]:4 20002.0
char uctoa::digit#2 // digit zp[1]:4 3077.230769230769
char uctoa::digit_value
char uctoa::digit_value#0 // digit_value zp[1]:36 6000.6
char *uctoa::digit_values
char uctoa::max_digits
char uctoa::radix
char uctoa::started
char uctoa::started#2 // started zp[1]:5 6000.6
char uctoa::started#4 // started zp[1]:5 10001.0
char uctoa::value
char uctoa::value#0 // reg byte x 10001.0
char uctoa::value#10 // reg byte x 1001.0
char uctoa::value#3 // reg byte x 7000.999999999999
char uctoa::value#7 // reg byte x 15001.5
char uctoa_append(char *buffer , char value , char sub)
char *uctoa_append::buffer
char *uctoa_append::buffer#0 // buffer zp[2]:6 13750.25
char uctoa_append::digit
char uctoa_append::digit#1 // reg byte y 1.0000001E7
char uctoa_append::digit#2 // reg byte y 1.00500015E7
char uctoa_append::return
char uctoa_append::return#0 // reg byte x 20002.0
char uctoa_append::sub
char uctoa_append::sub#0 // sub zp[1]:36 3335000.5
char uctoa_append::value
char uctoa_append::value#0 // reg byte x 36667.33333333333
char uctoa_append::value#1 // reg byte x 2.0000002E7
char uctoa_append::value#2 // reg byte x 5018334.166666666
void ultoa(unsigned long value , char *buffer , char radix)
char ultoa::$10 // reg byte a 20002.0
char ultoa::$11 // reg byte a 2002.0
char *ultoa::buffer
char *ultoa::buffer#10 // buffer zp[2]:13 3000.4285714285716
char *ultoa::buffer#15 // buffer zp[2]:13 15001.5
char *ultoa::buffer#3 // buffer zp[2]:13 2002.0
char *ultoa::buffer#4 // buffer zp[2]:13 20002.0
char ultoa::digit
char ultoa::digit#1 // digit zp[1]:8 20002.0
char ultoa::digit#2 // digit zp[1]:8 2857.4285714285716
unsigned long ultoa::digit_value
unsigned long ultoa::digit_value#0 // digit_value zp[4]:37 6000.6
unsigned long *ultoa::digit_values
char ultoa::max_digits
char ultoa::radix
char ultoa::started
char ultoa::started#2 // reg byte x 5000.5
char ultoa::started#4 // reg byte x 10001.0
unsigned long ultoa::value
unsigned long ultoa::value#0 // value zp[4]:9 10001.0
unsigned long ultoa::value#10 // value zp[4]:9 1001.0
unsigned long ultoa::value#3 // value zp[4]:9 5857.857142857143
unsigned long ultoa::value#7 // value zp[4]:9 15001.5
unsigned long ultoa_append(char *buffer , unsigned long value , unsigned long sub)
char *ultoa_append::buffer
char *ultoa_append::buffer#0 // buffer zp[2]:13 13750.25
char ultoa_append::digit
char ultoa_append::digit#1 // reg byte x 1.0000001E7
char ultoa_append::digit#2 // reg byte x 1.00500015E7
unsigned long ultoa_append::return
unsigned long ultoa_append::return#0 // return zp[4]:9 20002.0
unsigned long ultoa_append::sub
unsigned long ultoa_append::sub#0 // sub zp[4]:37 3335000.5
unsigned long ultoa_append::value
unsigned long ultoa_append::value#0 // value zp[4]:9 36667.33333333333
unsigned long ultoa_append::value#1 // value zp[4]:9 2.0000002E7
unsigned long ultoa_append::value#2 // value zp[4]:9 5018334.166666666
void utoa(unsigned int value , char *buffer , char radix)
char utoa::$10 // reg byte a 20002.0
char utoa::$11 // reg byte x 2002.0
char utoa::$4 // reg byte a 20002.0
char *utoa::buffer
char *utoa::buffer#10 // buffer zp[2]:19 2800.4000000000005
char *utoa::buffer#15 // buffer zp[2]:19 15001.5
char *utoa::buffer#3 // buffer zp[2]:19 2002.0
char *utoa::buffer#4 // buffer zp[2]:19 20002.0
char utoa::digit
char utoa::digit#1 // digit zp[1]:3 20002.0
char utoa::digit#2 // digit zp[1]:3 2666.9333333333334
unsigned int utoa::digit_value
unsigned int utoa::digit_value#0 // digit_value zp[2]:34 6000.6
unsigned int *utoa::digit_values
unsigned int *utoa::digit_values#8 // digit_values zp[2]:13 588.2941176470588
char utoa::max_digits
char utoa::max_digits#7 // max_digits zp[1]:2 588.2941176470588
char utoa::radix
char utoa::radix#1 // reg byte x 202.0
char utoa::radix#2 // reg byte x 1026.25
char utoa::started
char utoa::started#2 // reg byte x 4286.142857142857
char utoa::started#4 // reg byte x 10001.0
unsigned int utoa::value
unsigned int utoa::value#0 // value zp[2]:6 10001.0
unsigned int utoa::value#10 // value zp[2]:6 183.66666666666669
unsigned int utoa::value#2 // value zp[2]:6 101.0
unsigned int utoa::value#3 // value zp[2]:6 5125.625
unsigned int utoa::value#7 // value zp[2]:6 15001.5
unsigned int utoa_append(char *buffer , unsigned int value , unsigned int sub)
char *utoa_append::buffer
char *utoa_append::buffer#0 // buffer zp[2]:19 13750.25
char utoa_append::digit
char utoa_append::digit#1 // reg byte x 1.0000001E7
char utoa_append::digit#2 // reg byte x 1.00500015E7
unsigned int utoa_append::return
unsigned int utoa_append::return#0 // return zp[2]:6 20002.0
unsigned int utoa_append::sub
unsigned int utoa_append::sub#0 // sub zp[2]:34 3335000.5
unsigned int utoa_append::value
unsigned int utoa_append::value#0 // value zp[2]:6 36667.33333333333
unsigned int utoa_append::value#1 // value zp[2]:6 2.0000002E7
unsigned int utoa_append::value#2 // value zp[2]:6 5018334.166666666
reg byte x [ conio_c64_init::line#2 conio_c64_init::line#0 ]
reg byte x [ gotoxy::y#4 gotoxy::y#2 ]
reg byte x [ clrscr::l#2 clrscr::l#1 ]
reg byte y [ clrscr::c#2 clrscr::c#1 ]
reg byte x [ printf_uint::format_radix#2 ]
reg byte x [ utoa::radix#2 utoa::radix#1 ]
reg byte x [ utoa::started#2 utoa::started#4 ]
reg byte x [ printf_number_buffer::format_min_length#10 ]
zp[1]:2 [ printf_number_buffer::format_justify_left#10 utoa::max_digits#7 ]
zp[1]:3 [ printf_number_buffer::format_zero_padding#10 utoa::digit#2 utoa::digit#1 ]
reg byte y [ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ]
zp[1]:4 [ uctoa::digit#2 uctoa::digit#1 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#4 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#0 printf_number_buffer::buffer_sign#5 printf_number_buffer::buffer_sign#3 printf_number_buffer::buffer_sign#1 ]
reg byte x [ uctoa::value#3 uctoa::value#7 uctoa::value#10 uctoa::value#0 ]
zp[1]:5 [ uctoa::started#2 uctoa::started#4 printf_number_buffer::format_upper_case#10 ]
zp[2]:6 [ uctoa::buffer#10 uctoa::buffer#15 uctoa::buffer#4 uctoa::buffer#3 uctoa_append::buffer#0 printf_uint::uvalue#2 utoa::value#3 utoa::value#7 utoa::value#10 utoa::value#2 utoa::value#0 utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 utoa_append::return#0 printf_str::putc#21 printf_str::putc#0 printf_number_buffer::putc#10 printf_padding::putc#5 printf_padding::putc#1 printf_padding::putc#2 printf_padding::putc#0 clrscr::line_text#5 clrscr::line_text#1 ]
zp[1]:8 [ ultoa::digit#2 ultoa::digit#1 printf_number_buffer::padding#10 printf_number_buffer::padding#1 ]
zp[4]:9 [ ultoa::value#3 ultoa::value#7 ultoa::value#10 ultoa::value#0 ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ultoa_append::return#0 ]
reg byte x [ ultoa::started#2 ultoa::started#4 ]
zp[2]:13 [ ultoa::buffer#10 ultoa::buffer#15 ultoa::buffer#4 ultoa::buffer#3 ultoa_append::buffer#0 utoa::digit_values#8 printf_str::s#20 printf_str::s#21 printf_str::s#0 clrscr::line_cols#5 clrscr::line_cols#1 ]
zp[2]:15 [ memset::str#3 memset::dst#2 memset::dst#4 memset::dst#1 memcpy::source#2 memcpy::src#2 memcpy::src#4 memcpy::src#1 ]
reg byte x [ memset::c#4 ]
reg byte x [ utoa_append::digit#2 utoa_append::digit#1 ]
zp[1]:17 [ printf_padding::pad#5 ]
zp[1]:18 [ printf_padding::i#2 printf_padding::i#1 ]
zp[2]:19 [ strupr::src#2 strupr::src#1 strlen::str#2 strlen::str#0 utoa::buffer#10 utoa::buffer#15 utoa::buffer#4 utoa::buffer#3 utoa_append::buffer#0 ]
reg byte x [ uctoa_append::value#2 uctoa_append::value#0 uctoa_append::value#1 ]
reg byte y [ uctoa_append::digit#2 uctoa_append::digit#1 ]
reg byte x [ ultoa_append::digit#2 ultoa_append::digit#1 ]
reg byte a [ toupper::return#2 toupper::return#0 toupper::ch#0 ]
zp[1]:21 [ conio_cursor_x ]
zp[1]:22 [ conio_cursor_y ]
zp[2]:23 [ conio_line_text ]
zp[2]:25 [ conio_line_color ]
reg byte a [ cputc::c#0 ]
zp[1]:27 [ main::c ]
zp[2]:28 [ gotoxy::$7 gotoxy::$9 gotoxy::line_offset#0 gotoxy::$6 ]
zp[2]:30 [ gotoxy::$8 ]
zp[2]:32 [ gotoxy::$5 ]
reg byte a [ printf_str::c#1 ]
reg byte a [ utoa::$4 ]
reg byte x [ utoa::$11 ]
reg byte a [ utoa::$10 ]
zp[2]:34 [ utoa::digit_value#0 utoa_append::sub#0 strlen::len#2 strlen::len#1 strlen::return#2 printf_number_buffer::$19 ]
zp[1]:36 [ uctoa::digit_value#0 uctoa_append::sub#0 printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ]
reg byte x [ uctoa_append::return#0 ]
reg byte a [ ultoa::$11 ]
reg byte a [ ultoa::$10 ]
zp[4]:37 [ ultoa::digit_value#0 ultoa_append::sub#0 ]
zp[2]:41 [ memcpy::src_end#0 ]
zp[2]:43 [ memset::end#0 memcpy::destination#2 memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ]
reg byte a [ toupper::return#3 ]
reg byte a [ strupr::$0 ]
mem[12] [ printf_buffer ]
FINAL ASSEMBLER
Score: 27300
// File Comments
// Tests printf function call rewriting
// Print a bunch of different stuff using printf
// Upstart
// Commodore 64 PRG executable file
.file [name="printf-12.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 BINARY = 2
.const OCTAL = 8
.const DECIMAL = $a
.const HEXADECIMAL = $10
.const LIGHT_BLUE = $e
.const OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS = 1
.const STACK_BASE = $103
.const SIZEOF_STRUCT_PRINTF_BUFFER_NUMBER = $c
/// 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 = $15
// The current cursor y-position
.label conio_cursor_y = $16
// The current text cursor line start
.label conio_line_text = $17
// The current color cursor line start
.label conio_line_color = $19
.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
// #pragma constructor_for(conio_c64_init, cputc, clrscr, cscroll)
// [5] call conio_c64_init
jsr conio_c64_init
// [6] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
// __start::@1
// [7] call main
// [27] phi from __start::@1 to main [phi:__start::@1->main]
jsr main
// __start::@return
// [8] return
rts
}
// conio_c64_init
// Set initial cursor position
conio_c64_init: {
// Position cursor at current line
.label BASIC_CURSOR_LINE = $d6
// char line = *BASIC_CURSOR_LINE
// [9] conio_c64_init::line#0 = *conio_c64_init::BASIC_CURSOR_LINE -- vbuxx=_deref_pbuc1
ldx BASIC_CURSOR_LINE
// if(line>=CONIO_HEIGHT)
// [10] if(conio_c64_init::line#0<$19) goto conio_c64_init::@2 -- vbuxx_lt_vbuc1_then_la1
cpx #$19
bcc __b1
// [12] phi from conio_c64_init to conio_c64_init::@1 [phi:conio_c64_init->conio_c64_init::@1]
// [12] phi conio_c64_init::line#2 = $19-1 [phi:conio_c64_init->conio_c64_init::@1#0] -- vbuxx=vbuc1
ldx #$19-1
// [11] phi from conio_c64_init to conio_c64_init::@2 [phi:conio_c64_init->conio_c64_init::@2]
// conio_c64_init::@2
// [12] phi from conio_c64_init::@2 to conio_c64_init::@1 [phi:conio_c64_init::@2->conio_c64_init::@1]
// [12] 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)
// [13] gotoxy::y#2 = conio_c64_init::line#2
// [14] call gotoxy
jsr gotoxy
// conio_c64_init::@return
// }
// [15] return
rts
}
// cputc
// Output one character at the current cursor position
// Moves the cursor forward. Scrolls the entire screen if needed
// void cputc(__register(A) char c)
cputc: {
.const OFFSET_STACK_C = 0
// [16] cputc::c#0 = stackidx(char,cputc::OFFSET_STACK_C) -- vbuaa=_stackidxbyte_vbuc1
tsx
lda STACK_BASE+OFFSET_STACK_C,x
// if(c=='\n')
// [17] if(cputc::c#0==' ') goto cputc::@1 -- vbuaa_eq_vbuc1_then_la1
cmp #'\n'
beq __b1
// cputc::@2
// conio_line_text[conio_cursor_x] = c
// [18] conio_line_text[conio_cursor_x] = cputc::c#0 -- pbuz1_derefidx_vbuz2=vbuaa
ldy.z conio_cursor_x
sta (conio_line_text),y
// conio_line_color[conio_cursor_x] = conio_textcolor
// [19] conio_line_color[conio_cursor_x] = LIGHT_BLUE -- pbuz1_derefidx_vbuz2=vbuc1
lda #LIGHT_BLUE
sta (conio_line_color),y
// if(++conio_cursor_x==CONIO_WIDTH)
// [20] conio_cursor_x = ++ conio_cursor_x -- vbuz1=_inc_vbuz1
inc.z conio_cursor_x
// [21] if(conio_cursor_x!=$28) goto cputc::@return -- vbuz1_neq_vbuc1_then_la1
lda #$28
cmp.z conio_cursor_x
bne __breturn
// [22] phi from cputc::@2 to cputc::@3 [phi:cputc::@2->cputc::@3]
// cputc::@3
// cputln()
// [23] call cputln
jsr cputln
// cputc::@return
__breturn:
// }
// [24] return
rts
// [25] phi from cputc to cputc::@1 [phi:cputc->cputc::@1]
// cputc::@1
__b1:
// cputln()
// [26] call cputln
jsr cputln
rts
}
// main
main: {
.const ui = $162e
.label sc = -$c
.label uc = $22
.label si = -$4d2
.label sl = -$1e240
.label ul = $8aa52
.label c = $1b
// clrscr()
// [28] call clrscr
// [104] phi from main to clrscr [phi:main->clrscr]
jsr clrscr
// main::@1
// char c = 'x'
// [29] main::c = 'x' -- vbuz1=vbuc1
lda #'x'
sta.z c
// printf("A char: %c\n", c)
// [30] call printf_str
// [120] phi from main::@1 to printf_str [phi:main::@1->printf_str]
// [120] phi printf_str::putc#21 = &cputc [phi:main::@1->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s [phi:main::@1->printf_str#1] -- pbuz1=pbuc1
lda #<s
sta.z printf_str.s
lda #>s
sta.z printf_str.s+1
jsr printf_str
// main::@2
// printf("A char: %c\n", c)
// [31] stackpush(char) = main::c -- _stackpushbyte_=vbuz1
lda.z c
pha
// [32] callexecute cputc -- call_vprc1
jsr cputc
// sideeffect stackpullbytes(1) -- _stackpullbyte_1
pla
// [34] call printf_str
// [120] phi from main::@2 to printf_str [phi:main::@2->printf_str]
// [120] phi printf_str::putc#21 = &cputc [phi:main::@2->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s1 [phi:main::@2->printf_str#1] -- pbuz1=pbuc1
lda #<s1
sta.z printf_str.s
lda #>s1
sta.z printf_str.s+1
jsr printf_str
// [35] phi from main::@2 to main::@3 [phi:main::@2->main::@3]
// main::@3
// printf("A pointer: %p\n", &c)
// [36] call printf_str
// [120] phi from main::@3 to printf_str [phi:main::@3->printf_str]
// [120] phi printf_str::putc#21 = &cputc [phi:main::@3->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s2 [phi:main::@3->printf_str#1] -- pbuz1=pbuc1
lda #<s2
sta.z printf_str.s
lda #>s2
sta.z printf_str.s+1
jsr printf_str
// [37] phi from main::@3 to main::@4 [phi:main::@3->main::@4]
// main::@4
// printf("A pointer: %p\n", &c)
// [38] call printf_uint
// [129] phi from main::@4 to printf_uint [phi:main::@4->printf_uint]
// [129] phi printf_uint::format_radix#2 = HEXADECIMAL [phi:main::@4->printf_uint#0] -- vbuxx=vbuc1
ldx #HEXADECIMAL
// [129] phi printf_uint::uvalue#2 = (unsigned int)&main::c [phi:main::@4->printf_uint#1] -- vwuz1=vwuc1
lda #<c
sta.z printf_uint.uvalue
lda #>c
sta.z printf_uint.uvalue+1
jsr printf_uint
// [39] phi from main::@4 to main::@5 [phi:main::@4->main::@5]
// main::@5
// printf("A pointer: %p\n", &c)
// [40] call printf_str
// [120] phi from main::@5 to printf_str [phi:main::@5->printf_str]
// [120] phi printf_str::putc#21 = &cputc [phi:main::@5->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s1 [phi:main::@5->printf_str#1] -- pbuz1=pbuc1
lda #<s1
sta.z printf_str.s
lda #>s1
sta.z printf_str.s+1
jsr printf_str
// [41] phi from main::@5 to main::@6 [phi:main::@5->main::@6]
// main::@6
// printf("A percent: %%\n")
// [42] call printf_str
// [120] phi from main::@6 to printf_str [phi:main::@6->printf_str]
// [120] phi printf_str::putc#21 = &cputc [phi:main::@6->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s4 [phi:main::@6->printf_str#1] -- pbuz1=pbuc1
lda #<s4
sta.z printf_str.s
lda #>s4
sta.z printf_str.s+1
jsr printf_str
// main::@7
// printf("A percent: %%\n")
// [43] stackpush(char) = '%' -- _stackpushbyte_=vbuc1
lda #'%'
pha
// [44] callexecute cputc -- call_vprc1
jsr cputc
// sideeffect stackpullbytes(1) -- _stackpullbyte_1
pla
// [46] call printf_str
// [120] phi from main::@7 to printf_str [phi:main::@7->printf_str]
// [120] phi printf_str::putc#21 = &cputc [phi:main::@7->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s1 [phi:main::@7->printf_str#1] -- pbuz1=pbuc1
lda #<s1
sta.z printf_str.s
lda #>s1
sta.z printf_str.s+1
jsr printf_str
// [47] phi from main::@7 to main::@8 [phi:main::@7->main::@8]
// main::@8
// printf("A signed char: %hhd\n", sc)
// [48] call printf_str
// [120] phi from main::@8 to printf_str [phi:main::@8->printf_str]
// [120] phi printf_str::putc#21 = &cputc [phi:main::@8->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s6 [phi:main::@8->printf_str#1] -- pbuz1=pbuc1
lda #<s6
sta.z printf_str.s
lda #>s6
sta.z printf_str.s+1
jsr printf_str
// [49] phi from main::@8 to main::@9 [phi:main::@8->main::@9]
// main::@9
// printf("A signed char: %hhd\n", sc)
// [50] call printf_schar
jsr printf_schar
// [51] phi from main::@9 to main::@10 [phi:main::@9->main::@10]
// main::@10
// printf("A signed char: %hhd\n", sc)
// [52] call printf_str
// [120] phi from main::@10 to printf_str [phi:main::@10->printf_str]
// [120] phi printf_str::putc#21 = &cputc [phi:main::@10->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s1 [phi:main::@10->printf_str#1] -- pbuz1=pbuc1
lda #<s1
sta.z printf_str.s
lda #>s1
sta.z printf_str.s+1
jsr printf_str
// [53] phi from main::@10 to main::@11 [phi:main::@10->main::@11]
// main::@11
// printf("An unsigned char: %hhu\n", uc)
// [54] call printf_str
// [120] phi from main::@11 to printf_str [phi:main::@11->printf_str]
// [120] phi printf_str::putc#21 = &cputc [phi:main::@11->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s8 [phi:main::@11->printf_str#1] -- pbuz1=pbuc1
lda #<s8
sta.z printf_str.s
lda #>s8
sta.z printf_str.s+1
jsr printf_str
// [55] phi from main::@11 to main::@12 [phi:main::@11->main::@12]
// main::@12
// printf("An unsigned char: %hhu\n", uc)
// [56] call printf_uchar
// [144] phi from main::@12 to printf_uchar [phi:main::@12->printf_uchar]
jsr printf_uchar
// [57] phi from main::@12 to main::@13 [phi:main::@12->main::@13]
// main::@13
// printf("An unsigned char: %hhu\n", uc)
// [58] call printf_str
// [120] phi from main::@13 to printf_str [phi:main::@13->printf_str]
// [120] phi printf_str::putc#21 = &cputc [phi:main::@13->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s1 [phi:main::@13->printf_str#1] -- pbuz1=pbuc1
lda #<s1
sta.z printf_str.s
lda #>s1
sta.z printf_str.s+1
jsr printf_str
// [59] phi from main::@13 to main::@14 [phi:main::@13->main::@14]
// main::@14
// printf("A signed int: %d\n", si)
// [60] call printf_str
// [120] phi from main::@14 to printf_str [phi:main::@14->printf_str]
// [120] phi printf_str::putc#21 = &cputc [phi:main::@14->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s10 [phi:main::@14->printf_str#1] -- pbuz1=pbuc1
lda #<s10
sta.z printf_str.s
lda #>s10
sta.z printf_str.s+1
jsr printf_str
// [61] phi from main::@14 to main::@15 [phi:main::@14->main::@15]
// main::@15
// printf("A signed int: %d\n", si)
// [62] call printf_sint
jsr printf_sint
// [63] phi from main::@15 to main::@16 [phi:main::@15->main::@16]
// main::@16
// printf("A signed int: %d\n", si)
// [64] call printf_str
// [120] phi from main::@16 to printf_str [phi:main::@16->printf_str]
// [120] phi printf_str::putc#21 = &cputc [phi:main::@16->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s1 [phi:main::@16->printf_str#1] -- pbuz1=pbuc1
lda #<s1
sta.z printf_str.s
lda #>s1
sta.z printf_str.s+1
jsr printf_str
// [65] phi from main::@16 to main::@17 [phi:main::@16->main::@17]
// main::@17
// printf("An unsigned int: %u\n", ui)
// [66] call printf_str
// [120] phi from main::@17 to printf_str [phi:main::@17->printf_str]
// [120] phi printf_str::putc#21 = &cputc [phi:main::@17->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s12 [phi:main::@17->printf_str#1] -- pbuz1=pbuc1
lda #<s12
sta.z printf_str.s
lda #>s12
sta.z printf_str.s+1
jsr printf_str
// [67] phi from main::@17 to main::@18 [phi:main::@17->main::@18]
// main::@18
// printf("An unsigned int: %u\n", ui)
// [68] call printf_uint
// [129] phi from main::@18 to printf_uint [phi:main::@18->printf_uint]
// [129] phi printf_uint::format_radix#2 = DECIMAL [phi:main::@18->printf_uint#0] -- vbuxx=vbuc1
ldx #DECIMAL
// [129] phi printf_uint::uvalue#2 = main::ui [phi:main::@18->printf_uint#1] -- vwuz1=vwuc1
lda #<ui
sta.z printf_uint.uvalue
lda #>ui
sta.z printf_uint.uvalue+1
jsr printf_uint
// [69] phi from main::@18 to main::@19 [phi:main::@18->main::@19]
// main::@19
// printf("An unsigned int: %u\n", ui)
// [70] call printf_str
// [120] phi from main::@19 to printf_str [phi:main::@19->printf_str]
// [120] phi printf_str::putc#21 = &cputc [phi:main::@19->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s1 [phi:main::@19->printf_str#1] -- pbuz1=pbuc1
lda #<s1
sta.z printf_str.s
lda #>s1
sta.z printf_str.s+1
jsr printf_str
// [71] phi from main::@19 to main::@20 [phi:main::@19->main::@20]
// main::@20
// printf("A signed long: %ld\n", sl)
// [72] call printf_str
// [120] phi from main::@20 to printf_str [phi:main::@20->printf_str]
// [120] phi printf_str::putc#21 = &cputc [phi:main::@20->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s14 [phi:main::@20->printf_str#1] -- pbuz1=pbuc1
lda #<s14
sta.z printf_str.s
lda #>s14
sta.z printf_str.s+1
jsr printf_str
// [73] phi from main::@20 to main::@21 [phi:main::@20->main::@21]
// main::@21
// printf("A signed long: %ld\n", sl)
// [74] call printf_slong
jsr printf_slong
// [75] phi from main::@21 to main::@22 [phi:main::@21->main::@22]
// main::@22
// printf("A signed long: %ld\n", sl)
// [76] call printf_str
// [120] phi from main::@22 to printf_str [phi:main::@22->printf_str]
// [120] phi printf_str::putc#21 = &cputc [phi:main::@22->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s1 [phi:main::@22->printf_str#1] -- pbuz1=pbuc1
lda #<s1
sta.z printf_str.s
lda #>s1
sta.z printf_str.s+1
jsr printf_str
// [77] phi from main::@22 to main::@23 [phi:main::@22->main::@23]
// main::@23
// printf("An unsigned long: %lu\n", ul)
// [78] call printf_str
// [120] phi from main::@23 to printf_str [phi:main::@23->printf_str]
// [120] phi printf_str::putc#21 = &cputc [phi:main::@23->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s16 [phi:main::@23->printf_str#1] -- pbuz1=pbuc1
lda #<s16
sta.z printf_str.s
lda #>s16
sta.z printf_str.s+1
jsr printf_str
// [79] phi from main::@23 to main::@24 [phi:main::@23->main::@24]
// main::@24
// printf("An unsigned long: %lu\n", ul)
// [80] call printf_ulong
// [164] phi from main::@24 to printf_ulong [phi:main::@24->printf_ulong]
jsr printf_ulong
// [81] phi from main::@24 to main::@25 [phi:main::@24->main::@25]
// main::@25
// printf("An unsigned long: %lu\n", ul)
// [82] call printf_str
// [120] phi from main::@25 to printf_str [phi:main::@25->printf_str]
// [120] phi printf_str::putc#21 = &cputc [phi:main::@25->printf_str#0] -- pprz1=pprc1
lda #<cputc
sta.z printf_str.putc
lda #>cputc
sta.z printf_str.putc+1
// [120] phi printf_str::s#21 = main::s1 [phi:main::@25->printf_str#1] -- pbuz1=pbuc1
lda #<s1
sta.z printf_str.s
lda #>s1
sta.z printf_str.s+1
jsr printf_str
// main::@return
// }
// [83] return
rts
.segment Data
s: .text "A char: "
.byte 0
s1: .text @"\n"
.byte 0
s2: .text "A pointer: "
.byte 0
s4: .text "A percent: "
.byte 0
s6: .text "A signed char: "
.byte 0
s8: .text "An unsigned char: "
.byte 0
s10: .text "A signed int: "
.byte 0
s12: .text "An unsigned int: "
.byte 0
s14: .text "A signed long: "
.byte 0
s16: .text "An unsigned long: "
.byte 0
}
.segment Code
// gotoxy
// Set the cursor to the specified position
// void gotoxy(char x, __register(X) char y)
gotoxy: {
.const x = 0
.label __5 = $20
.label __6 = $1c
.label __7 = $1c
.label line_offset = $1c
.label __8 = $1e
.label __9 = $1c
// if(y>CONIO_HEIGHT)
// [84] if(gotoxy::y#2<$19+1) goto gotoxy::@3 -- vbuxx_lt_vbuc1_then_la1
cpx #$19+1
bcc __b2
// [86] phi from gotoxy to gotoxy::@1 [phi:gotoxy->gotoxy::@1]
// [86] phi gotoxy::y#4 = 0 [phi:gotoxy->gotoxy::@1#0] -- vbuxx=vbuc1
ldx #0
// [85] phi from gotoxy to gotoxy::@3 [phi:gotoxy->gotoxy::@3]
// gotoxy::@3
// [86] phi from gotoxy::@3 to gotoxy::@1 [phi:gotoxy::@3->gotoxy::@1]
// [86] phi gotoxy::y#4 = gotoxy::y#2 [phi:gotoxy::@3->gotoxy::@1#0] -- register_copy
// gotoxy::@1
// gotoxy::@2
__b2:
// conio_cursor_x = x
// [87] conio_cursor_x = gotoxy::x#2 -- vbuz1=vbuc1
lda #x
sta.z conio_cursor_x
// conio_cursor_y = y
// [88] conio_cursor_y = gotoxy::y#4 -- vbuz1=vbuxx
stx.z conio_cursor_y
// unsigned int line_offset = (unsigned int)y*CONIO_WIDTH
// [89] gotoxy::$7 = (unsigned int)gotoxy::y#4 -- vwuz1=_word_vbuxx
txa
sta.z __7
lda #0
sta.z __7+1
// [90] 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
// [91] 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
// [92] 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
// [93] 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
// [94] 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
// [95] 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
// [96] 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
// }
// [97] return
rts
}
// cputln
// Print a newline
cputln: {
// conio_line_text += CONIO_WIDTH
// [98] 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
// [99] 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
// [100] conio_cursor_x = 0 -- vbuz1=vbuc1
lda #0
sta.z conio_cursor_x
// conio_cursor_y++;
// [101] conio_cursor_y = ++ conio_cursor_y -- vbuz1=_inc_vbuz1
inc.z conio_cursor_y
// cscroll()
// [102] call cscroll
jsr cscroll
// cputln::@return
// }
// [103] return
rts
}
// clrscr
// clears the screen and moves the cursor to the upper left-hand corner of the screen.
clrscr: {
.label line_text = 6
.label line_cols = $d
// [105] phi from clrscr to clrscr::@1 [phi:clrscr->clrscr::@1]
// [105] phi clrscr::line_cols#5 = COLORRAM [phi:clrscr->clrscr::@1#0] -- pbuz1=pbuc1
lda #<COLORRAM
sta.z line_cols
lda #>COLORRAM
sta.z line_cols+1
// [105] phi clrscr::line_text#5 = DEFAULT_SCREEN [phi:clrscr->clrscr::@1#1] -- pbuz1=pbuc1
lda #<DEFAULT_SCREEN
sta.z line_text
lda #>DEFAULT_SCREEN
sta.z line_text+1
// [105] phi clrscr::l#2 = 0 [phi:clrscr->clrscr::@1#2] -- vbuxx=vbuc1
ldx #0
// clrscr::@1
__b1:
// for( char l=0;l<CONIO_HEIGHT; l++ )
// [106] if(clrscr::l#2<$19) goto clrscr::@3 -- vbuxx_lt_vbuc1_then_la1
cpx #$19
bcc __b2
// clrscr::@2
// conio_cursor_x = 0
// [107] conio_cursor_x = 0 -- vbuz1=vbuc1
lda #0
sta.z conio_cursor_x
// conio_cursor_y = 0
// [108] conio_cursor_y = 0 -- vbuz1=vbuc1
sta.z conio_cursor_y
// conio_line_text = CONIO_SCREEN_TEXT
// [109] conio_line_text = DEFAULT_SCREEN -- pbuz1=pbuc1
lda #<DEFAULT_SCREEN
sta.z conio_line_text
lda #>DEFAULT_SCREEN
sta.z conio_line_text+1
// conio_line_color = CONIO_SCREEN_COLORS
// [110] conio_line_color = COLORRAM -- pbuz1=pbuc1
lda #<COLORRAM
sta.z conio_line_color
lda #>COLORRAM
sta.z conio_line_color+1
// clrscr::@return
// }
// [111] return
rts
// [112] phi from clrscr::@1 to clrscr::@3 [phi:clrscr::@1->clrscr::@3]
__b2:
// [112] phi clrscr::c#2 = 0 [phi:clrscr::@1->clrscr::@3#0] -- vbuyy=vbuc1
ldy #0
// clrscr::@3
__b3:
// for( char c=0;c<CONIO_WIDTH; c++ )
// [113] if(clrscr::c#2<$28) goto clrscr::@4 -- vbuyy_lt_vbuc1_then_la1
cpy #$28
bcc __b4
// clrscr::@5
// line_text += CONIO_WIDTH
// [114] clrscr::line_text#1 = clrscr::line_text#5 + $28 -- pbuz1=pbuz1_plus_vbuc1
lda #$28
clc
adc.z line_text
sta.z line_text
bcc !+
inc.z line_text+1
!:
// line_cols += CONIO_WIDTH
// [115] clrscr::line_cols#1 = clrscr::line_cols#5 + $28 -- pbuz1=pbuz1_plus_vbuc1
lda #$28
clc
adc.z line_cols
sta.z line_cols
bcc !+
inc.z line_cols+1
!:
// for( char l=0;l<CONIO_HEIGHT; l++ )
// [116] clrscr::l#1 = ++ clrscr::l#2 -- vbuxx=_inc_vbuxx
inx
// [105] phi from clrscr::@5 to clrscr::@1 [phi:clrscr::@5->clrscr::@1]
// [105] phi clrscr::line_cols#5 = clrscr::line_cols#1 [phi:clrscr::@5->clrscr::@1#0] -- register_copy
// [105] phi clrscr::line_text#5 = clrscr::line_text#1 [phi:clrscr::@5->clrscr::@1#1] -- register_copy
// [105] phi clrscr::l#2 = clrscr::l#1 [phi:clrscr::@5->clrscr::@1#2] -- register_copy
jmp __b1
// clrscr::@4
__b4:
// line_text[c] = ' '
// [117] clrscr::line_text#5[clrscr::c#2] = ' ' -- pbuz1_derefidx_vbuyy=vbuc1
lda #' '
sta (line_text),y
// line_cols[c] = conio_textcolor
// [118] clrscr::line_cols#5[clrscr::c#2] = LIGHT_BLUE -- pbuz1_derefidx_vbuyy=vbuc1
lda #LIGHT_BLUE
sta (line_cols),y
// for( char c=0;c<CONIO_WIDTH; c++ )
// [119] clrscr::c#1 = ++ clrscr::c#2 -- vbuyy=_inc_vbuyy
iny
// [112] phi from clrscr::@4 to clrscr::@3 [phi:clrscr::@4->clrscr::@3]
// [112] phi clrscr::c#2 = clrscr::c#1 [phi:clrscr::@4->clrscr::@3#0] -- register_copy
jmp __b3
}
// printf_str
/// Print a NUL-terminated string
// void printf_str(__zp(6) void (*putc)(char), __zp($d) const char *s)
printf_str: {
.label s = $d
.label putc = 6
// [121] phi from printf_str printf_str::@2 to printf_str::@1 [phi:printf_str/printf_str::@2->printf_str::@1]
// [121] phi printf_str::s#20 = printf_str::s#21 [phi:printf_str/printf_str::@2->printf_str::@1#0] -- register_copy
// printf_str::@1
__b1:
// while(c=*s++)
// [122] printf_str::c#1 = *printf_str::s#20 -- vbuaa=_deref_pbuz1
ldy #0
lda (s),y
// [123] printf_str::s#0 = ++ printf_str::s#20 -- pbuz1=_inc_pbuz1
inc.z s
bne !+
inc.z s+1
!:
// [124] if(0!=printf_str::c#1) goto printf_str::@2 -- 0_neq_vbuaa_then_la1
cmp #0
bne __b2
// printf_str::@return
// }
// [125] return
rts
// printf_str::@2
__b2:
// putc(c)
// [126] stackpush(char) = printf_str::c#1 -- _stackpushbyte_=vbuaa
pha
// [127] callexecute *printf_str::putc#21 -- call__deref_pprz1
jsr icall3
// sideeffect stackpullbytes(1) -- _stackpullbyte_1
pla
jmp __b1
// Outside Flow
icall3:
jmp (putc)
}
// printf_uint
// Print an unsigned int using a specific format
// void printf_uint(void (*putc)(char), __zp(6) unsigned int uvalue, char format_min_length, char format_justify_left, char format_sign_always, char format_zero_padding, char format_upper_case, __register(X) char format_radix)
printf_uint: {
.label uvalue = 6
// printf_uint::@1
// printf_buffer.sign = format.sign_always?'+':0
// [130] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2
// Handle any sign
lda #0
sta printf_buffer
// utoa(uvalue, printf_buffer.digits, format.radix)
// [131] utoa::value#2 = printf_uint::uvalue#2
// [132] utoa::radix#1 = printf_uint::format_radix#2
// [133] call utoa
// Format number into buffer
// [183] phi from printf_uint::@1 to utoa [phi:printf_uint::@1->utoa]
// [183] phi utoa::value#10 = utoa::value#2 [phi:printf_uint::@1->utoa#0] -- register_copy
// [183] phi utoa::radix#2 = utoa::radix#1 [phi:printf_uint::@1->utoa#1] -- register_copy
jsr utoa
// printf_uint::@2
// printf_number_buffer(putc, printf_buffer, format)
// [134] printf_number_buffer::buffer_sign#3 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1
lda printf_buffer
sta.z printf_number_buffer.buffer_sign
// [135] call printf_number_buffer
// Print using format
// [214] phi from printf_uint::@2 to printf_number_buffer [phi:printf_uint::@2->printf_number_buffer]
// [214] phi printf_number_buffer::format_upper_case#10 = 0 [phi:printf_uint::@2->printf_number_buffer#0] -- vbuz1=vbuc1
lda #0
sta.z printf_number_buffer.format_upper_case
// [214] phi printf_number_buffer::putc#10 = &cputc [phi:printf_uint::@2->printf_number_buffer#1] -- pprz1=pprc1
lda #<cputc
sta.z printf_number_buffer.putc
lda #>cputc
sta.z printf_number_buffer.putc+1
// [214] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#3 [phi:printf_uint::@2->printf_number_buffer#2] -- register_copy
// [214] phi printf_number_buffer::format_zero_padding#10 = 0 [phi:printf_uint::@2->printf_number_buffer#3] -- vbuz1=vbuc1
lda #0
sta.z printf_number_buffer.format_zero_padding
// [214] phi printf_number_buffer::format_justify_left#10 = 0 [phi:printf_uint::@2->printf_number_buffer#4] -- vbuz1=vbuc1
sta.z printf_number_buffer.format_justify_left
// [214] phi printf_number_buffer::format_min_length#10 = 0 [phi:printf_uint::@2->printf_number_buffer#5] -- vbuxx=vbuc1
tax
jsr printf_number_buffer
// printf_uint::@return
// }
// [136] return
rts
}
// printf_schar
// Print a signed char using a specific format
// void printf_schar(void (*putc)(char), signed char value, char format_min_length, char format_justify_left, char format_sign_always, char format_zero_padding, char format_upper_case, char format_radix)
printf_schar: {
.const format_min_length = 0
.const format_justify_left = 0
.const format_zero_padding = 0
.const format_upper_case = 0
.const value = -main.sc
// Format number into buffer
.const uvalue = value
.label putc = cputc
// printf_buffer.sign = 0
// [137] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2
// Handle any sign
lda #0
sta printf_buffer
// printf_schar::@1
// printf_buffer.sign = '-'
// [138] *((char *)&printf_buffer) = '-' -- _deref_pbuc1=vbuc2
lda #'-'
sta printf_buffer
// [139] phi from printf_schar::@1 to printf_schar::@2 [phi:printf_schar::@1->printf_schar::@2]
// printf_schar::@2
// uctoa(uvalue, printf_buffer.digits, format.radix)
// [140] call uctoa
// [255] phi from printf_schar::@2 to uctoa [phi:printf_schar::@2->uctoa]
// [255] phi uctoa::value#10 = printf_schar::uvalue#0 [phi:printf_schar::@2->uctoa#0] -- vbuxx=vbuc1
ldx #uvalue
jsr uctoa
// printf_schar::@3
// printf_number_buffer(putc, printf_buffer, format)
// [141] printf_number_buffer::buffer_sign#4 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1
lda printf_buffer
sta.z printf_number_buffer.buffer_sign
// [142] call printf_number_buffer
// Print using format
// [214] phi from printf_schar::@3 to printf_number_buffer [phi:printf_schar::@3->printf_number_buffer]
// [214] phi printf_number_buffer::format_upper_case#10 = printf_schar::format_upper_case#0 [phi:printf_schar::@3->printf_number_buffer#0] -- vbuz1=vbuc1
lda #format_upper_case
sta.z printf_number_buffer.format_upper_case
// [214] phi printf_number_buffer::putc#10 = printf_schar::putc#0 [phi:printf_schar::@3->printf_number_buffer#1] -- pprz1=pprc1
lda #<putc
sta.z printf_number_buffer.putc
lda #>putc
sta.z printf_number_buffer.putc+1
// [214] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#4 [phi:printf_schar::@3->printf_number_buffer#2] -- register_copy
// [214] phi printf_number_buffer::format_zero_padding#10 = printf_schar::format_zero_padding#0 [phi:printf_schar::@3->printf_number_buffer#3] -- vbuz1=vbuc1
lda #format_zero_padding
sta.z printf_number_buffer.format_zero_padding
// [214] phi printf_number_buffer::format_justify_left#10 = printf_schar::format_justify_left#0 [phi:printf_schar::@3->printf_number_buffer#4] -- vbuz1=vbuc1
lda #format_justify_left
sta.z printf_number_buffer.format_justify_left
// [214] phi printf_number_buffer::format_min_length#10 = printf_schar::format_min_length#0 [phi:printf_schar::@3->printf_number_buffer#5] -- vbuxx=vbuc1
ldx #format_min_length
jsr printf_number_buffer
// printf_schar::@return
// }
// [143] return
rts
}
// printf_uchar
// Print an unsigned char using a specific format
// void printf_uchar(void (*putc)(char), char uvalue, char format_min_length, char format_justify_left, char format_sign_always, char format_zero_padding, char format_upper_case, char format_radix)
printf_uchar: {
.const format_min_length = 0
.const format_justify_left = 0
.const format_zero_padding = 0
.const format_upper_case = 0
.label putc = cputc
// printf_uchar::@1
// printf_buffer.sign = format.sign_always?'+':0
// [145] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2
// Handle any sign
lda #0
sta printf_buffer
// uctoa(uvalue, printf_buffer.digits, format.radix)
// [146] call uctoa
// Format number into buffer
// [255] phi from printf_uchar::@1 to uctoa [phi:printf_uchar::@1->uctoa]
// [255] phi uctoa::value#10 = main::uc [phi:printf_uchar::@1->uctoa#0] -- vbuxx=vbuc1
ldx #main.uc
jsr uctoa
// printf_uchar::@2
// printf_number_buffer(putc, printf_buffer, format)
// [147] printf_number_buffer::buffer_sign#5 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1
lda printf_buffer
sta.z printf_number_buffer.buffer_sign
// [148] call printf_number_buffer
// Print using format
// [214] phi from printf_uchar::@2 to printf_number_buffer [phi:printf_uchar::@2->printf_number_buffer]
// [214] phi printf_number_buffer::format_upper_case#10 = printf_uchar::format_upper_case#0 [phi:printf_uchar::@2->printf_number_buffer#0] -- vbuz1=vbuc1
lda #format_upper_case
sta.z printf_number_buffer.format_upper_case
// [214] phi printf_number_buffer::putc#10 = printf_uchar::putc#0 [phi:printf_uchar::@2->printf_number_buffer#1] -- pprz1=pprc1
lda #<putc
sta.z printf_number_buffer.putc
lda #>putc
sta.z printf_number_buffer.putc+1
// [214] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#5 [phi:printf_uchar::@2->printf_number_buffer#2] -- register_copy
// [214] phi printf_number_buffer::format_zero_padding#10 = printf_uchar::format_zero_padding#0 [phi:printf_uchar::@2->printf_number_buffer#3] -- vbuz1=vbuc1
lda #format_zero_padding
sta.z printf_number_buffer.format_zero_padding
// [214] phi printf_number_buffer::format_justify_left#10 = printf_uchar::format_justify_left#0 [phi:printf_uchar::@2->printf_number_buffer#4] -- vbuz1=vbuc1
lda #format_justify_left
sta.z printf_number_buffer.format_justify_left
// [214] phi printf_number_buffer::format_min_length#10 = printf_uchar::format_min_length#0 [phi:printf_uchar::@2->printf_number_buffer#5] -- vbuxx=vbuc1
ldx #format_min_length
jsr printf_number_buffer
// printf_uchar::@return
// }
// [149] return
rts
}
// printf_sint
// Print a signed integer using a specific format
// void printf_sint(void (*putc)(char), int value, char format_min_length, char format_justify_left, char format_sign_always, char format_zero_padding, char format_upper_case, char format_radix)
printf_sint: {
.const format_min_length = 0
.const format_justify_left = 0
.const format_zero_padding = 0
.const format_upper_case = 0
.const value = -main.si
// Format number into buffer
.const uvalue = value
.label putc = cputc
// printf_buffer.sign = 0
// [150] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2
// Handle any sign
lda #0
sta printf_buffer
// printf_sint::@1
// printf_buffer.sign = '-'
// [151] *((char *)&printf_buffer) = '-' -- _deref_pbuc1=vbuc2
lda #'-'
sta printf_buffer
// [152] phi from printf_sint::@1 to printf_sint::@2 [phi:printf_sint::@1->printf_sint::@2]
// printf_sint::@2
// utoa(uvalue, printf_buffer.digits, format.radix)
// [153] call utoa
// [183] phi from printf_sint::@2 to utoa [phi:printf_sint::@2->utoa]
// [183] phi utoa::value#10 = printf_sint::uvalue#0 [phi:printf_sint::@2->utoa#0] -- vwuz1=vwuc1
lda #<uvalue
sta.z utoa.value
lda #>uvalue
sta.z utoa.value+1
// [183] phi utoa::radix#2 = DECIMAL [phi:printf_sint::@2->utoa#1] -- vbuxx=vbuc1
ldx #DECIMAL
jsr utoa
// printf_sint::@3
// printf_number_buffer(putc, printf_buffer, format)
// [154] printf_number_buffer::buffer_sign#2 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1
lda printf_buffer
sta.z printf_number_buffer.buffer_sign
// [155] call printf_number_buffer
// Print using format
// [214] phi from printf_sint::@3 to printf_number_buffer [phi:printf_sint::@3->printf_number_buffer]
// [214] phi printf_number_buffer::format_upper_case#10 = printf_sint::format_upper_case#0 [phi:printf_sint::@3->printf_number_buffer#0] -- vbuz1=vbuc1
lda #format_upper_case
sta.z printf_number_buffer.format_upper_case
// [214] phi printf_number_buffer::putc#10 = printf_sint::putc#0 [phi:printf_sint::@3->printf_number_buffer#1] -- pprz1=pprc1
lda #<putc
sta.z printf_number_buffer.putc
lda #>putc
sta.z printf_number_buffer.putc+1
// [214] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 [phi:printf_sint::@3->printf_number_buffer#2] -- register_copy
// [214] phi printf_number_buffer::format_zero_padding#10 = printf_sint::format_zero_padding#0 [phi:printf_sint::@3->printf_number_buffer#3] -- vbuz1=vbuc1
lda #format_zero_padding
sta.z printf_number_buffer.format_zero_padding
// [214] phi printf_number_buffer::format_justify_left#10 = printf_sint::format_justify_left#0 [phi:printf_sint::@3->printf_number_buffer#4] -- vbuz1=vbuc1
lda #format_justify_left
sta.z printf_number_buffer.format_justify_left
// [214] phi printf_number_buffer::format_min_length#10 = printf_sint::format_min_length#0 [phi:printf_sint::@3->printf_number_buffer#5] -- vbuxx=vbuc1
ldx #format_min_length
jsr printf_number_buffer
// printf_sint::@return
// }
// [156] return
rts
}
// printf_slong
// Print a signed long using a specific format
// void printf_slong(void (*putc)(char), long value, char format_min_length, char format_justify_left, char format_sign_always, char format_zero_padding, char format_upper_case, char format_radix)
printf_slong: {
.const format_min_length = 0
.const format_justify_left = 0
.const format_zero_padding = 0
.const format_upper_case = 0
.const value = -main.sl
// Format number into buffer
.const uvalue = value
.label putc = cputc
// printf_buffer.sign = 0
// [157] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2
// Handle any sign
lda #0
sta printf_buffer
// printf_slong::@1
// printf_buffer.sign = '-'
// [158] *((char *)&printf_buffer) = '-' -- _deref_pbuc1=vbuc2
lda #'-'
sta printf_buffer
// [159] phi from printf_slong::@1 to printf_slong::@2 [phi:printf_slong::@1->printf_slong::@2]
// printf_slong::@2
// ultoa(uvalue, printf_buffer.digits, format.radix)
// [160] call ultoa
// [274] phi from printf_slong::@2 to ultoa [phi:printf_slong::@2->ultoa]
// [274] phi ultoa::value#10 = printf_slong::uvalue#0 [phi:printf_slong::@2->ultoa#0] -- vduz1=vduc1
lda #<uvalue
sta.z ultoa.value
lda #>uvalue
sta.z ultoa.value+1
lda #<uvalue>>$10
sta.z ultoa.value+2
lda #>uvalue>>$10
sta.z ultoa.value+3
jsr ultoa
// printf_slong::@3
// printf_number_buffer(putc, printf_buffer, format)
// [161] printf_number_buffer::buffer_sign#0 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1
lda printf_buffer
sta.z printf_number_buffer.buffer_sign
// [162] call printf_number_buffer
// Print using format
// [214] phi from printf_slong::@3 to printf_number_buffer [phi:printf_slong::@3->printf_number_buffer]
// [214] phi printf_number_buffer::format_upper_case#10 = printf_slong::format_upper_case#0 [phi:printf_slong::@3->printf_number_buffer#0] -- vbuz1=vbuc1
lda #format_upper_case
sta.z printf_number_buffer.format_upper_case
// [214] phi printf_number_buffer::putc#10 = printf_slong::putc#0 [phi:printf_slong::@3->printf_number_buffer#1] -- pprz1=pprc1
lda #<putc
sta.z printf_number_buffer.putc
lda #>putc
sta.z printf_number_buffer.putc+1
// [214] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#0 [phi:printf_slong::@3->printf_number_buffer#2] -- register_copy
// [214] phi printf_number_buffer::format_zero_padding#10 = printf_slong::format_zero_padding#0 [phi:printf_slong::@3->printf_number_buffer#3] -- vbuz1=vbuc1
lda #format_zero_padding
sta.z printf_number_buffer.format_zero_padding
// [214] phi printf_number_buffer::format_justify_left#10 = printf_slong::format_justify_left#0 [phi:printf_slong::@3->printf_number_buffer#4] -- vbuz1=vbuc1
lda #format_justify_left
sta.z printf_number_buffer.format_justify_left
// [214] phi printf_number_buffer::format_min_length#10 = printf_slong::format_min_length#0 [phi:printf_slong::@3->printf_number_buffer#5] -- vbuxx=vbuc1
ldx #format_min_length
jsr printf_number_buffer
// printf_slong::@return
// }
// [163] return
rts
}
// printf_ulong
// Print an unsigned int using a specific format
// void printf_ulong(void (*putc)(char), unsigned long uvalue, char format_min_length, char format_justify_left, char format_sign_always, char format_zero_padding, char format_upper_case, char format_radix)
printf_ulong: {
.const format_min_length = 0
.const format_justify_left = 0
.const format_zero_padding = 0
.const format_upper_case = 0
.label putc = cputc
// printf_ulong::@1
// printf_buffer.sign = format.sign_always?'+':0
// [165] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2
// Handle any sign
lda #0
sta printf_buffer
// ultoa(uvalue, printf_buffer.digits, format.radix)
// [166] call ultoa
// Format number into buffer
// [274] phi from printf_ulong::@1 to ultoa [phi:printf_ulong::@1->ultoa]
// [274] phi ultoa::value#10 = main::ul [phi:printf_ulong::@1->ultoa#0] -- vduz1=vduc1
lda #<main.ul
sta.z ultoa.value
lda #>main.ul
sta.z ultoa.value+1
lda #<main.ul>>$10
sta.z ultoa.value+2
lda #>main.ul>>$10
sta.z ultoa.value+3
jsr ultoa
// printf_ulong::@2
// printf_number_buffer(putc, printf_buffer, format)
// [167] printf_number_buffer::buffer_sign#1 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1
lda printf_buffer
sta.z printf_number_buffer.buffer_sign
// [168] call printf_number_buffer
// Print using format
// [214] phi from printf_ulong::@2 to printf_number_buffer [phi:printf_ulong::@2->printf_number_buffer]
// [214] phi printf_number_buffer::format_upper_case#10 = printf_ulong::format_upper_case#0 [phi:printf_ulong::@2->printf_number_buffer#0] -- vbuz1=vbuc1
lda #format_upper_case
sta.z printf_number_buffer.format_upper_case
// [214] phi printf_number_buffer::putc#10 = printf_ulong::putc#0 [phi:printf_ulong::@2->printf_number_buffer#1] -- pprz1=pprc1
lda #<putc
sta.z printf_number_buffer.putc
lda #>putc
sta.z printf_number_buffer.putc+1
// [214] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#1 [phi:printf_ulong::@2->printf_number_buffer#2] -- register_copy
// [214] phi printf_number_buffer::format_zero_padding#10 = printf_ulong::format_zero_padding#0 [phi:printf_ulong::@2->printf_number_buffer#3] -- vbuz1=vbuc1
lda #format_zero_padding
sta.z printf_number_buffer.format_zero_padding
// [214] phi printf_number_buffer::format_justify_left#10 = printf_ulong::format_justify_left#0 [phi:printf_ulong::@2->printf_number_buffer#4] -- vbuz1=vbuc1
lda #format_justify_left
sta.z printf_number_buffer.format_justify_left
// [214] phi printf_number_buffer::format_min_length#10 = printf_ulong::format_min_length#0 [phi:printf_ulong::@2->printf_number_buffer#5] -- vbuxx=vbuc1
ldx #format_min_length
jsr printf_number_buffer
// printf_ulong::@return
// }
// [169] return
rts
}
// cscroll
// Scroll the entire screen if the cursor is beyond the last line
cscroll: {
// if(conio_cursor_y==CONIO_HEIGHT)
// [170] if(conio_cursor_y!=$19) goto cscroll::@return -- vbuz1_neq_vbuc1_then_la1
lda #$19
cmp.z conio_cursor_y
bne __breturn
// [171] 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)
// [172] call memcpy
// [295] phi from cscroll::@1 to memcpy [phi:cscroll::@1->memcpy]
// [295] 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
// [295] 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
// [173] 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)
// [174] call memcpy
// [295] phi from cscroll::@2 to memcpy [phi:cscroll::@2->memcpy]
// [295] 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
// [295] 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
// [175] phi from cscroll::@2 to cscroll::@3 [phi:cscroll::@2->cscroll::@3]
// cscroll::@3
// memset(CONIO_SCREEN_TEXT+CONIO_BYTES-CONIO_WIDTH, ' ', CONIO_WIDTH)
// [176] call memset
// [305] phi from cscroll::@3 to memset [phi:cscroll::@3->memset]
// [305] phi memset::c#4 = ' ' [phi:cscroll::@3->memset#0] -- vbuxx=vbuc1
ldx #' '
// [305] 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
// [177] phi from cscroll::@3 to cscroll::@4 [phi:cscroll::@3->cscroll::@4]
// cscroll::@4
// memset(CONIO_SCREEN_COLORS+CONIO_BYTES-CONIO_WIDTH, conio_textcolor, CONIO_WIDTH)
// [178] call memset
// [305] phi from cscroll::@4 to memset [phi:cscroll::@4->memset]
// [305] phi memset::c#4 = LIGHT_BLUE [phi:cscroll::@4->memset#0] -- vbuxx=vbuc1
ldx #LIGHT_BLUE
// [305] 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
// [179] 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
// [180] 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--;
// [181] conio_cursor_y = -- conio_cursor_y -- vbuz1=_dec_vbuz1
dec.z conio_cursor_y
// cscroll::@return
__breturn:
// }
// [182] return
rts
}
// 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(6) unsigned int value, __zp($13) char *buffer, __register(X) char radix)
utoa: {
.label digit_value = $22
.label buffer = $13
.label digit = 3
.label value = 6
.label max_digits = 2
.label digit_values = $d
// if(radix==DECIMAL)
// [184] if(utoa::radix#2==DECIMAL) goto utoa::@1 -- vbuxx_eq_vbuc1_then_la1
cpx #DECIMAL
beq __b2
// utoa::@2
// if(radix==HEXADECIMAL)
// [185] if(utoa::radix#2==HEXADECIMAL) goto utoa::@1 -- vbuxx_eq_vbuc1_then_la1
cpx #HEXADECIMAL
beq __b3
// utoa::@3
// if(radix==OCTAL)
// [186] if(utoa::radix#2==OCTAL) goto utoa::@1 -- vbuxx_eq_vbuc1_then_la1
cpx #OCTAL
beq __b4
// utoa::@4
// if(radix==BINARY)
// [187] if(utoa::radix#2==BINARY) goto utoa::@1 -- vbuxx_eq_vbuc1_then_la1
cpx #BINARY
beq __b5
// utoa::@5
// *buffer++ = 'e'
// [188] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS) = 'e' -- _deref_pbuc1=vbuc2
// Unknown radix
lda #'e'
sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
// *buffer++ = 'r'
// [189] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1) = 'r' -- _deref_pbuc1=vbuc2
lda #'r'
sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1
// [190] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2) = 'r' -- _deref_pbuc1=vbuc2
sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2
// *buffer = 0
// [191] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3) = 0 -- _deref_pbuc1=vbuc2
lda #0
sta printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3
// utoa::@return
// }
// [192] return
rts
// [193] phi from utoa to utoa::@1 [phi:utoa->utoa::@1]
__b2:
// [193] phi utoa::digit_values#8 = RADIX_DECIMAL_VALUES [phi:utoa->utoa::@1#0] -- pwuz1=pwuc1
lda #<RADIX_DECIMAL_VALUES
sta.z digit_values
lda #>RADIX_DECIMAL_VALUES
sta.z digit_values+1
// [193] phi utoa::max_digits#7 = 5 [phi:utoa->utoa::@1#1] -- vbuz1=vbuc1
lda #5
sta.z max_digits
jmp __b1
// [193] phi from utoa::@2 to utoa::@1 [phi:utoa::@2->utoa::@1]
__b3:
// [193] phi utoa::digit_values#8 = RADIX_HEXADECIMAL_VALUES [phi:utoa::@2->utoa::@1#0] -- pwuz1=pwuc1
lda #<RADIX_HEXADECIMAL_VALUES
sta.z digit_values
lda #>RADIX_HEXADECIMAL_VALUES
sta.z digit_values+1
// [193] phi utoa::max_digits#7 = 4 [phi:utoa::@2->utoa::@1#1] -- vbuz1=vbuc1
lda #4
sta.z max_digits
jmp __b1
// [193] phi from utoa::@3 to utoa::@1 [phi:utoa::@3->utoa::@1]
__b4:
// [193] phi utoa::digit_values#8 = RADIX_OCTAL_VALUES [phi:utoa::@3->utoa::@1#0] -- pwuz1=pwuc1
lda #<RADIX_OCTAL_VALUES
sta.z digit_values
lda #>RADIX_OCTAL_VALUES
sta.z digit_values+1
// [193] phi utoa::max_digits#7 = 6 [phi:utoa::@3->utoa::@1#1] -- vbuz1=vbuc1
lda #6
sta.z max_digits
jmp __b1
// [193] phi from utoa::@4 to utoa::@1 [phi:utoa::@4->utoa::@1]
__b5:
// [193] phi utoa::digit_values#8 = RADIX_BINARY_VALUES [phi:utoa::@4->utoa::@1#0] -- pwuz1=pwuc1
lda #<RADIX_BINARY_VALUES
sta.z digit_values
lda #>RADIX_BINARY_VALUES
sta.z digit_values+1
// [193] phi utoa::max_digits#7 = $10 [phi:utoa::@4->utoa::@1#1] -- vbuz1=vbuc1
lda #$10
sta.z max_digits
// utoa::@1
__b1:
// [194] phi from utoa::@1 to utoa::@6 [phi:utoa::@1->utoa::@6]
// [194] phi utoa::buffer#10 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:utoa::@1->utoa::@6#0] -- pbuz1=pbuc1
lda #<printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
sta.z buffer
lda #>printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
sta.z buffer+1
// [194] phi utoa::started#2 = 0 [phi:utoa::@1->utoa::@6#1] -- vbuxx=vbuc1
ldx #0
// [194] phi utoa::value#3 = utoa::value#10 [phi:utoa::@1->utoa::@6#2] -- register_copy
// [194] phi utoa::digit#2 = 0 [phi:utoa::@1->utoa::@6#3] -- vbuz1=vbuc1
txa
sta.z digit
// utoa::@6
__b6:
// max_digits-1
// [195] utoa::$4 = utoa::max_digits#7 - 1 -- vbuaa=vbuz1_minus_1
lda.z max_digits
sec
sbc #1
// for( char digit=0; digit<max_digits-1; digit++ )
// [196] if(utoa::digit#2<utoa::$4) goto utoa::@7 -- vbuz1_lt_vbuaa_then_la1
cmp.z digit
beq !+
bcs __b7
!:
// utoa::@8
// *buffer++ = DIGITS[(char)value]
// [197] utoa::$11 = (char)utoa::value#3 -- vbuxx=_byte_vwuz1
ldx.z value
// [198] *utoa::buffer#10 = DIGITS[utoa::$11] -- _deref_pbuz1=pbuc1_derefidx_vbuxx
lda DIGITS,x
ldy #0
sta (buffer),y
// *buffer++ = DIGITS[(char)value];
// [199] utoa::buffer#3 = ++ utoa::buffer#10 -- pbuz1=_inc_pbuz1
inc.z buffer
bne !+
inc.z buffer+1
!:
// *buffer = 0
// [200] *utoa::buffer#3 = 0 -- _deref_pbuz1=vbuc1
lda #0
tay
sta (buffer),y
rts
// utoa::@7
__b7:
// unsigned int digit_value = digit_values[digit]
// [201] utoa::$10 = utoa::digit#2 << 1 -- vbuaa=vbuz1_rol_1
lda.z digit
asl
// [202] utoa::digit_value#0 = utoa::digit_values#8[utoa::$10] -- vwuz1=pwuz2_derefidx_vbuaa
tay
lda (digit_values),y
sta.z digit_value
iny
lda (digit_values),y
sta.z digit_value+1
// if (started || value >= digit_value)
// [203] if(0!=utoa::started#2) goto utoa::@10 -- 0_neq_vbuxx_then_la1
cpx #0
bne __b10
// utoa::@12
// [204] if(utoa::value#3>=utoa::digit_value#0) goto utoa::@10 -- vwuz1_ge_vwuz2_then_la1
lda.z value+1
cmp.z digit_value+1
bcc !+
bne __b10
lda.z value
cmp.z digit_value
bcs __b10
!:
// [205] phi from utoa::@12 to utoa::@9 [phi:utoa::@12->utoa::@9]
// [205] phi utoa::buffer#15 = utoa::buffer#10 [phi:utoa::@12->utoa::@9#0] -- register_copy
// [205] phi utoa::started#4 = utoa::started#2 [phi:utoa::@12->utoa::@9#1] -- register_copy
// [205] phi utoa::value#7 = utoa::value#3 [phi:utoa::@12->utoa::@9#2] -- register_copy
// utoa::@9
__b9:
// for( char digit=0; digit<max_digits-1; digit++ )
// [206] utoa::digit#1 = ++ utoa::digit#2 -- vbuz1=_inc_vbuz1
inc.z digit
// [194] phi from utoa::@9 to utoa::@6 [phi:utoa::@9->utoa::@6]
// [194] phi utoa::buffer#10 = utoa::buffer#15 [phi:utoa::@9->utoa::@6#0] -- register_copy
// [194] phi utoa::started#2 = utoa::started#4 [phi:utoa::@9->utoa::@6#1] -- register_copy
// [194] phi utoa::value#3 = utoa::value#7 [phi:utoa::@9->utoa::@6#2] -- register_copy
// [194] phi utoa::digit#2 = utoa::digit#1 [phi:utoa::@9->utoa::@6#3] -- register_copy
jmp __b6
// utoa::@10
__b10:
// utoa_append(buffer++, value, digit_value)
// [207] utoa_append::buffer#0 = utoa::buffer#10
// [208] utoa_append::value#0 = utoa::value#3
// [209] utoa_append::sub#0 = utoa::digit_value#0
// [210] call utoa_append
// [313] phi from utoa::@10 to utoa_append [phi:utoa::@10->utoa_append]
jsr utoa_append
// utoa_append(buffer++, value, digit_value)
// [211] utoa_append::return#0 = utoa_append::value#2
// utoa::@11
// value = utoa_append(buffer++, value, digit_value)
// [212] utoa::value#0 = utoa_append::return#0
// value = utoa_append(buffer++, value, digit_value);
// [213] utoa::buffer#4 = ++ utoa::buffer#10 -- pbuz1=_inc_pbuz1
inc.z buffer
bne !+
inc.z buffer+1
!:
// [205] phi from utoa::@11 to utoa::@9 [phi:utoa::@11->utoa::@9]
// [205] phi utoa::buffer#15 = utoa::buffer#4 [phi:utoa::@11->utoa::@9#0] -- register_copy
// [205] phi utoa::started#4 = 1 [phi:utoa::@11->utoa::@9#1] -- vbuxx=vbuc1
ldx #1
// [205] phi utoa::value#7 = utoa::value#0 [phi:utoa::@11->utoa::@9#2] -- register_copy
jmp __b9
}
// printf_number_buffer
// Print the contents of the number buffer using a specific format.
// This handles minimum length, zero-filling, and left/right justification from the format
// void printf_number_buffer(__zp(6) void (*putc)(char), __zp(4) char buffer_sign, char *buffer_digits, __register(X) char format_min_length, __zp(2) char format_justify_left, char format_sign_always, __zp(3) char format_zero_padding, __zp(5) char format_upper_case, char format_radix)
printf_number_buffer: {
.label __19 = $22
.label buffer_sign = 4
.label padding = 8
.label putc = 6
.label format_justify_left = 2
.label format_zero_padding = 3
.label format_upper_case = 5
// if(format.min_length)
// [215] if(0==printf_number_buffer::format_min_length#10) goto printf_number_buffer::@1 -- 0_eq_vbuxx_then_la1
cpx #0
beq __b6
// [216] phi from printf_number_buffer to printf_number_buffer::@6 [phi:printf_number_buffer->printf_number_buffer::@6]
// printf_number_buffer::@6
// strlen(buffer.digits)
// [217] call strlen
// [320] phi from printf_number_buffer::@6 to strlen [phi:printf_number_buffer::@6->strlen]
jsr strlen
// strlen(buffer.digits)
// [218] strlen::return#2 = strlen::len#2
// printf_number_buffer::@14
// [219] printf_number_buffer::$19 = strlen::return#2
// signed char len = (signed char)strlen(buffer.digits)
// [220] printf_number_buffer::len#0 = (signed char)printf_number_buffer::$19 -- vbsyy=_sbyte_vwuz1
// There is a minimum length - work out the padding
ldy.z __19
// if(buffer.sign)
// [221] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@13 -- 0_eq_vbuz1_then_la1
lda.z buffer_sign
beq __b13
// printf_number_buffer::@7
// len++;
// [222] printf_number_buffer::len#1 = ++ printf_number_buffer::len#0 -- vbsyy=_inc_vbsyy
iny
// [223] phi from printf_number_buffer::@14 printf_number_buffer::@7 to printf_number_buffer::@13 [phi:printf_number_buffer::@14/printf_number_buffer::@7->printf_number_buffer::@13]
// [223] phi printf_number_buffer::len#2 = printf_number_buffer::len#0 [phi:printf_number_buffer::@14/printf_number_buffer::@7->printf_number_buffer::@13#0] -- register_copy
// printf_number_buffer::@13
__b13:
// padding = (signed char)format.min_length - len
// [224] printf_number_buffer::padding#1 = (signed char)printf_number_buffer::format_min_length#10 - printf_number_buffer::len#2 -- vbsz1=vbsxx_minus_vbsyy
txa
sty.z $ff
sec
sbc.z $ff
sta.z padding
// if(padding<0)
// [225] if(printf_number_buffer::padding#1>=0) goto printf_number_buffer::@21 -- vbsz1_ge_0_then_la1
cmp #0
bpl __b1
// [227] phi from printf_number_buffer printf_number_buffer::@13 to printf_number_buffer::@1 [phi:printf_number_buffer/printf_number_buffer::@13->printf_number_buffer::@1]
__b6:
// [227] phi printf_number_buffer::padding#10 = 0 [phi:printf_number_buffer/printf_number_buffer::@13->printf_number_buffer::@1#0] -- vbsz1=vbsc1
lda #0
sta.z padding
// [226] phi from printf_number_buffer::@13 to printf_number_buffer::@21 [phi:printf_number_buffer::@13->printf_number_buffer::@21]
// printf_number_buffer::@21
// [227] phi from printf_number_buffer::@21 to printf_number_buffer::@1 [phi:printf_number_buffer::@21->printf_number_buffer::@1]
// [227] phi printf_number_buffer::padding#10 = printf_number_buffer::padding#1 [phi:printf_number_buffer::@21->printf_number_buffer::@1#0] -- register_copy
// printf_number_buffer::@1
__b1:
// if(!format.justify_left && !format.zero_padding && padding)
// [228] if(0!=printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@2 -- 0_neq_vbuz1_then_la1
lda.z format_justify_left
bne __b2
// printf_number_buffer::@17
// [229] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2 -- 0_neq_vbuz1_then_la1
lda.z format_zero_padding
bne __b2
// printf_number_buffer::@16
// [230] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@8 -- 0_neq_vbsz1_then_la1
lda.z padding
cmp #0
bne __b8
jmp __b2
// printf_number_buffer::@8
__b8:
// printf_padding(putc, ' ',(char)padding)
// [231] printf_padding::putc#0 = printf_number_buffer::putc#10
// [232] printf_padding::length#0 = (char)printf_number_buffer::padding#10 -- vbuz1=vbuz2
lda.z padding
sta.z printf_padding.length
// [233] call printf_padding
// [326] phi from printf_number_buffer::@8 to printf_padding [phi:printf_number_buffer::@8->printf_padding]
// [326] phi printf_padding::putc#5 = printf_padding::putc#0 [phi:printf_number_buffer::@8->printf_padding#0] -- register_copy
// [326] phi printf_padding::pad#5 = ' ' [phi:printf_number_buffer::@8->printf_padding#1] -- vbuz1=vbuc1
lda #' '
sta.z printf_padding.pad
// [326] phi printf_padding::length#4 = printf_padding::length#0 [phi:printf_number_buffer::@8->printf_padding#2] -- register_copy
jsr printf_padding
// printf_number_buffer::@2
__b2:
// if(buffer.sign)
// [234] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@3 -- 0_eq_vbuz1_then_la1
lda.z buffer_sign
beq __b3
// printf_number_buffer::@9
// putc(buffer.sign)
// [235] stackpush(char) = printf_number_buffer::buffer_sign#10 -- _stackpushbyte_=vbuz1
pha
// [236] callexecute *printf_number_buffer::putc#10 -- call__deref_pprz1
jsr icall4
// sideeffect stackpullbytes(1) -- _stackpullbyte_1
pla
// printf_number_buffer::@3
__b3:
// if(format.zero_padding && padding)
// [238] if(0==printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4 -- 0_eq_vbuz1_then_la1
lda.z format_zero_padding
beq __b4
// printf_number_buffer::@18
// [239] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@10 -- 0_neq_vbsz1_then_la1
lda.z padding
cmp #0
bne __b10
jmp __b4
// printf_number_buffer::@10
__b10:
// printf_padding(putc, '0',(char)padding)
// [240] printf_padding::putc#1 = printf_number_buffer::putc#10
// [241] printf_padding::length#1 = (char)printf_number_buffer::padding#10 -- vbuz1=vbuz2
lda.z padding
sta.z printf_padding.length
// [242] call printf_padding
// [326] phi from printf_number_buffer::@10 to printf_padding [phi:printf_number_buffer::@10->printf_padding]
// [326] phi printf_padding::putc#5 = printf_padding::putc#1 [phi:printf_number_buffer::@10->printf_padding#0] -- register_copy
// [326] phi printf_padding::pad#5 = '0' [phi:printf_number_buffer::@10->printf_padding#1] -- vbuz1=vbuc1
lda #'0'
sta.z printf_padding.pad
// [326] phi printf_padding::length#4 = printf_padding::length#1 [phi:printf_number_buffer::@10->printf_padding#2] -- register_copy
jsr printf_padding
// printf_number_buffer::@4
__b4:
// if(format.upper_case)
// [243] if(0==printf_number_buffer::format_upper_case#10) goto printf_number_buffer::@5 -- 0_eq_vbuz1_then_la1
lda.z format_upper_case
beq __b5
// [244] phi from printf_number_buffer::@4 to printf_number_buffer::@11 [phi:printf_number_buffer::@4->printf_number_buffer::@11]
// printf_number_buffer::@11
// strupr(buffer.digits)
// [245] call strupr
// [334] phi from printf_number_buffer::@11 to strupr [phi:printf_number_buffer::@11->strupr]
jsr strupr
// printf_number_buffer::@5
__b5:
// printf_str(putc, buffer.digits)
// [246] printf_str::putc#0 = printf_number_buffer::putc#10
// [247] call printf_str
// [120] phi from printf_number_buffer::@5 to printf_str [phi:printf_number_buffer::@5->printf_str]
// [120] phi printf_str::putc#21 = printf_str::putc#0 [phi:printf_number_buffer::@5->printf_str#0] -- register_copy
// [120] phi printf_str::s#21 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:printf_number_buffer::@5->printf_str#1] -- pbuz1=pbuc1
lda #<printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
sta.z printf_str.s
lda #>printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
sta.z printf_str.s+1
jsr printf_str
// printf_number_buffer::@15
// if(format.justify_left && !format.zero_padding && padding)
// [248] if(0==printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@return -- 0_eq_vbuz1_then_la1
lda.z format_justify_left
beq __breturn
// printf_number_buffer::@20
// [249] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@return -- 0_neq_vbuz1_then_la1
lda.z format_zero_padding
bne __breturn
// printf_number_buffer::@19
// [250] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@12 -- 0_neq_vbsz1_then_la1
lda.z padding
cmp #0
bne __b12
rts
// printf_number_buffer::@12
__b12:
// printf_padding(putc, ' ',(char)padding)
// [251] printf_padding::putc#2 = printf_number_buffer::putc#10
// [252] printf_padding::length#2 = (char)printf_number_buffer::padding#10 -- vbuz1=vbuz2
lda.z padding
sta.z printf_padding.length
// [253] call printf_padding
// [326] phi from printf_number_buffer::@12 to printf_padding [phi:printf_number_buffer::@12->printf_padding]
// [326] phi printf_padding::putc#5 = printf_padding::putc#2 [phi:printf_number_buffer::@12->printf_padding#0] -- register_copy
// [326] phi printf_padding::pad#5 = ' ' [phi:printf_number_buffer::@12->printf_padding#1] -- vbuz1=vbuc1
lda #' '
sta.z printf_padding.pad
// [326] phi printf_padding::length#4 = printf_padding::length#2 [phi:printf_number_buffer::@12->printf_padding#2] -- register_copy
jsr printf_padding
// printf_number_buffer::@return
__breturn:
// }
// [254] return
rts
// Outside Flow
icall4:
jmp (putc)
}
// uctoa
// 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 uctoa(__register(X) char value, __zp(6) char *buffer, char radix)
uctoa: {
.label digit_value = $24
.label buffer = 6
.label digit = 4
.label started = 5
// [256] phi from uctoa to uctoa::@1 [phi:uctoa->uctoa::@1]
// [256] phi uctoa::buffer#10 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:uctoa->uctoa::@1#0] -- pbuz1=pbuc1
lda #<printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
sta.z buffer
lda #>printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
sta.z buffer+1
// [256] phi uctoa::started#2 = 0 [phi:uctoa->uctoa::@1#1] -- vbuz1=vbuc1
lda #0
sta.z started
// [256] phi uctoa::value#3 = uctoa::value#10 [phi:uctoa->uctoa::@1#2] -- register_copy
// [256] phi uctoa::digit#2 = 0 [phi:uctoa->uctoa::@1#3] -- vbuz1=vbuc1
sta.z digit
// uctoa::@1
__b1:
// for( char digit=0; digit<max_digits-1; digit++ )
// [257] if(uctoa::digit#2<3-1) goto uctoa::@2 -- vbuz1_lt_vbuc1_then_la1
lda.z digit
cmp #3-1
bcc __b2
// uctoa::@3
// *buffer++ = DIGITS[(char)value]
// [258] *uctoa::buffer#10 = DIGITS[uctoa::value#3] -- _deref_pbuz1=pbuc1_derefidx_vbuxx
lda DIGITS,x
ldy #0
sta (buffer),y
// *buffer++ = DIGITS[(char)value];
// [259] uctoa::buffer#3 = ++ uctoa::buffer#10 -- pbuz1=_inc_pbuz1
inc.z buffer
bne !+
inc.z buffer+1
!:
// *buffer = 0
// [260] *uctoa::buffer#3 = 0 -- _deref_pbuz1=vbuc1
lda #0
tay
sta (buffer),y
// uctoa::@return
// }
// [261] return
rts
// uctoa::@2
__b2:
// unsigned char digit_value = digit_values[digit]
// [262] uctoa::digit_value#0 = RADIX_DECIMAL_VALUES_CHAR[uctoa::digit#2] -- vbuz1=pbuc1_derefidx_vbuz2
ldy.z digit
lda RADIX_DECIMAL_VALUES_CHAR,y
sta.z digit_value
// if (started || value >= digit_value)
// [263] if(0!=uctoa::started#2) goto uctoa::@5 -- 0_neq_vbuz1_then_la1
lda.z started
bne __b5
// uctoa::@7
// [264] if(uctoa::value#3>=uctoa::digit_value#0) goto uctoa::@5 -- vbuxx_ge_vbuz1_then_la1
cpx.z digit_value
bcs __b5
// [265] phi from uctoa::@7 to uctoa::@4 [phi:uctoa::@7->uctoa::@4]
// [265] phi uctoa::buffer#15 = uctoa::buffer#10 [phi:uctoa::@7->uctoa::@4#0] -- register_copy
// [265] phi uctoa::started#4 = uctoa::started#2 [phi:uctoa::@7->uctoa::@4#1] -- register_copy
// [265] phi uctoa::value#7 = uctoa::value#3 [phi:uctoa::@7->uctoa::@4#2] -- register_copy
// uctoa::@4
__b4:
// for( char digit=0; digit<max_digits-1; digit++ )
// [266] uctoa::digit#1 = ++ uctoa::digit#2 -- vbuz1=_inc_vbuz1
inc.z digit
// [256] phi from uctoa::@4 to uctoa::@1 [phi:uctoa::@4->uctoa::@1]
// [256] phi uctoa::buffer#10 = uctoa::buffer#15 [phi:uctoa::@4->uctoa::@1#0] -- register_copy
// [256] phi uctoa::started#2 = uctoa::started#4 [phi:uctoa::@4->uctoa::@1#1] -- register_copy
// [256] phi uctoa::value#3 = uctoa::value#7 [phi:uctoa::@4->uctoa::@1#2] -- register_copy
// [256] phi uctoa::digit#2 = uctoa::digit#1 [phi:uctoa::@4->uctoa::@1#3] -- register_copy
jmp __b1
// uctoa::@5
__b5:
// uctoa_append(buffer++, value, digit_value)
// [267] uctoa_append::buffer#0 = uctoa::buffer#10
// [268] uctoa_append::value#0 = uctoa::value#3
// [269] uctoa_append::sub#0 = uctoa::digit_value#0
// [270] call uctoa_append
// [344] phi from uctoa::@5 to uctoa_append [phi:uctoa::@5->uctoa_append]
jsr uctoa_append
// uctoa_append(buffer++, value, digit_value)
// [271] uctoa_append::return#0 = uctoa_append::value#2
// uctoa::@6
// value = uctoa_append(buffer++, value, digit_value)
// [272] uctoa::value#0 = uctoa_append::return#0
// value = uctoa_append(buffer++, value, digit_value);
// [273] uctoa::buffer#4 = ++ uctoa::buffer#10 -- pbuz1=_inc_pbuz1
inc.z buffer
bne !+
inc.z buffer+1
!:
// [265] phi from uctoa::@6 to uctoa::@4 [phi:uctoa::@6->uctoa::@4]
// [265] phi uctoa::buffer#15 = uctoa::buffer#4 [phi:uctoa::@6->uctoa::@4#0] -- register_copy
// [265] phi uctoa::started#4 = 1 [phi:uctoa::@6->uctoa::@4#1] -- vbuz1=vbuc1
lda #1
sta.z started
// [265] phi uctoa::value#7 = uctoa::value#0 [phi:uctoa::@6->uctoa::@4#2] -- register_copy
jmp __b4
}
// ultoa
// 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 ultoa(__zp(9) unsigned long value, __zp($d) char *buffer, char radix)
ultoa: {
.label digit_value = $25
.label buffer = $d
.label digit = 8
.label value = 9
// [275] phi from ultoa to ultoa::@1 [phi:ultoa->ultoa::@1]
// [275] phi ultoa::buffer#10 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:ultoa->ultoa::@1#0] -- pbuz1=pbuc1
lda #<printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
sta.z buffer
lda #>printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
sta.z buffer+1
// [275] phi ultoa::started#2 = 0 [phi:ultoa->ultoa::@1#1] -- vbuxx=vbuc1
ldx #0
// [275] phi ultoa::value#3 = ultoa::value#10 [phi:ultoa->ultoa::@1#2] -- register_copy
// [275] phi ultoa::digit#2 = 0 [phi:ultoa->ultoa::@1#3] -- vbuz1=vbuc1
txa
sta.z digit
// ultoa::@1
__b1:
// for( char digit=0; digit<max_digits-1; digit++ )
// [276] if(ultoa::digit#2<$a-1) goto ultoa::@2 -- vbuz1_lt_vbuc1_then_la1
lda.z digit
cmp #$a-1
bcc __b2
// ultoa::@3
// *buffer++ = DIGITS[(char)value]
// [277] ultoa::$11 = (char)ultoa::value#3 -- vbuaa=_byte_vduz1
lda.z value
// [278] *ultoa::buffer#10 = DIGITS[ultoa::$11] -- _deref_pbuz1=pbuc1_derefidx_vbuaa
tay
lda DIGITS,y
ldy #0
sta (buffer),y
// *buffer++ = DIGITS[(char)value];
// [279] ultoa::buffer#3 = ++ ultoa::buffer#10 -- pbuz1=_inc_pbuz1
inc.z buffer
bne !+
inc.z buffer+1
!:
// *buffer = 0
// [280] *ultoa::buffer#3 = 0 -- _deref_pbuz1=vbuc1
lda #0
tay
sta (buffer),y
// ultoa::@return
// }
// [281] return
rts
// ultoa::@2
__b2:
// unsigned long digit_value = digit_values[digit]
// [282] ultoa::$10 = ultoa::digit#2 << 2 -- vbuaa=vbuz1_rol_2
lda.z digit
asl
asl
// [283] ultoa::digit_value#0 = RADIX_DECIMAL_VALUES_LONG[ultoa::$10] -- vduz1=pduc1_derefidx_vbuaa
tay
lda RADIX_DECIMAL_VALUES_LONG,y
sta.z digit_value
lda RADIX_DECIMAL_VALUES_LONG+1,y
sta.z digit_value+1
lda RADIX_DECIMAL_VALUES_LONG+2,y
sta.z digit_value+2
lda RADIX_DECIMAL_VALUES_LONG+3,y
sta.z digit_value+3
// if (started || value >= digit_value)
// [284] if(0!=ultoa::started#2) goto ultoa::@5 -- 0_neq_vbuxx_then_la1
cpx #0
bne __b5
// ultoa::@7
// [285] if(ultoa::value#3>=ultoa::digit_value#0) goto ultoa::@5 -- vduz1_ge_vduz2_then_la1
lda.z value+3
cmp.z digit_value+3
bcc !+
bne __b5
lda.z value+2
cmp.z digit_value+2
bcc !+
bne __b5
lda.z value+1
cmp.z digit_value+1
bcc !+
bne __b5
lda.z value
cmp.z digit_value
bcs __b5
!:
// [286] phi from ultoa::@7 to ultoa::@4 [phi:ultoa::@7->ultoa::@4]
// [286] phi ultoa::buffer#15 = ultoa::buffer#10 [phi:ultoa::@7->ultoa::@4#0] -- register_copy
// [286] phi ultoa::started#4 = ultoa::started#2 [phi:ultoa::@7->ultoa::@4#1] -- register_copy
// [286] phi ultoa::value#7 = ultoa::value#3 [phi:ultoa::@7->ultoa::@4#2] -- register_copy
// ultoa::@4
__b4:
// for( char digit=0; digit<max_digits-1; digit++ )
// [287] ultoa::digit#1 = ++ ultoa::digit#2 -- vbuz1=_inc_vbuz1
inc.z digit
// [275] phi from ultoa::@4 to ultoa::@1 [phi:ultoa::@4->ultoa::@1]
// [275] phi ultoa::buffer#10 = ultoa::buffer#15 [phi:ultoa::@4->ultoa::@1#0] -- register_copy
// [275] phi ultoa::started#2 = ultoa::started#4 [phi:ultoa::@4->ultoa::@1#1] -- register_copy
// [275] phi ultoa::value#3 = ultoa::value#7 [phi:ultoa::@4->ultoa::@1#2] -- register_copy
// [275] phi ultoa::digit#2 = ultoa::digit#1 [phi:ultoa::@4->ultoa::@1#3] -- register_copy
jmp __b1
// ultoa::@5
__b5:
// ultoa_append(buffer++, value, digit_value)
// [288] ultoa_append::buffer#0 = ultoa::buffer#10
// [289] ultoa_append::value#0 = ultoa::value#3
// [290] ultoa_append::sub#0 = ultoa::digit_value#0
// [291] call ultoa_append
// [351] phi from ultoa::@5 to ultoa_append [phi:ultoa::@5->ultoa_append]
jsr ultoa_append
// ultoa_append(buffer++, value, digit_value)
// [292] ultoa_append::return#0 = ultoa_append::value#2
// ultoa::@6
// value = ultoa_append(buffer++, value, digit_value)
// [293] ultoa::value#0 = ultoa_append::return#0
// value = ultoa_append(buffer++, value, digit_value);
// [294] ultoa::buffer#4 = ++ ultoa::buffer#10 -- pbuz1=_inc_pbuz1
inc.z buffer
bne !+
inc.z buffer+1
!:
// [286] phi from ultoa::@6 to ultoa::@4 [phi:ultoa::@6->ultoa::@4]
// [286] phi ultoa::buffer#15 = ultoa::buffer#4 [phi:ultoa::@6->ultoa::@4#0] -- register_copy
// [286] phi ultoa::started#4 = 1 [phi:ultoa::@6->ultoa::@4#1] -- vbuxx=vbuc1
ldx #1
// [286] phi ultoa::value#7 = ultoa::value#0 [phi:ultoa::@6->ultoa::@4#2] -- register_copy
jmp __b4
}
// 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($2b) void *destination, __zp($f) void *source, unsigned int num)
memcpy: {
.label src_end = $29
.label dst = $2b
.label src = $f
.label source = $f
.label destination = $2b
// char* src_end = (char*)source+num
// [296] 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
// [297] memcpy::src#4 = (char *)memcpy::source#2
// [298] memcpy::dst#4 = (char *)memcpy::destination#2
// [299] phi from memcpy memcpy::@2 to memcpy::@1 [phi:memcpy/memcpy::@2->memcpy::@1]
// [299] phi memcpy::dst#2 = memcpy::dst#4 [phi:memcpy/memcpy::@2->memcpy::@1#0] -- register_copy
// [299] phi memcpy::src#2 = memcpy::src#4 [phi:memcpy/memcpy::@2->memcpy::@1#1] -- register_copy
// memcpy::@1
__b1:
// while(src!=src_end)
// [300] 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
// }
// [301] return
rts
// memcpy::@2
__b2:
// *dst++ = *src++
// [302] *memcpy::dst#2 = *memcpy::src#2 -- _deref_pbuz1=_deref_pbuz2
ldy #0
lda (src),y
sta (dst),y
// *dst++ = *src++;
// [303] memcpy::dst#1 = ++ memcpy::dst#2 -- pbuz1=_inc_pbuz1
inc.z dst
bne !+
inc.z dst+1
!:
// [304] 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($f) void *str, __register(X) char c, unsigned int num)
memset: {
.label end = $2b
.label dst = $f
.label str = $f
// memset::@1
// char* end = (char*)str + num
// [306] 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
// [307] memset::dst#4 = (char *)memset::str#3
// [308] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2]
// [308] 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++)
// [309] 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
// }
// [310] return
rts
// memset::@3
__b3:
// *dst = c
// [311] *memset::dst#2 = memset::c#4 -- _deref_pbuz1=vbuxx
txa
ldy #0
sta (dst),y
// for(char* dst = str; dst!=end; dst++)
// [312] memset::dst#1 = ++ memset::dst#2 -- pbuz1=_inc_pbuz1
inc.z dst
bne !+
inc.z dst+1
!:
jmp __b2
}
// 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(6) unsigned int utoa_append(__zp($13) char *buffer, __zp(6) unsigned int value, __zp($22) unsigned int sub)
utoa_append: {
.label buffer = $13
.label value = 6
.label sub = $22
.label return = 6
// [314] phi from utoa_append to utoa_append::@1 [phi:utoa_append->utoa_append::@1]
// [314] phi utoa_append::digit#2 = 0 [phi:utoa_append->utoa_append::@1#0] -- vbuxx=vbuc1
ldx #0
// [314] 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)
// [315] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2 -- vwuz1_ge_vwuz2_then_la1
lda.z value+1
cmp.z sub+1
bcc !+
bne __b2
lda.z value
cmp.z sub
bcs __b2
!:
// utoa_append::@3
// *buffer = DIGITS[digit]
// [316] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuxx
lda DIGITS,x
ldy #0
sta (buffer),y
// utoa_append::@return
// }
// [317] return
rts
// utoa_append::@2
__b2:
// digit++;
// [318] utoa_append::digit#1 = ++ utoa_append::digit#2 -- vbuxx=_inc_vbuxx
inx
// value -= sub
// [319] 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
// [314] phi from utoa_append::@2 to utoa_append::@1 [phi:utoa_append::@2->utoa_append::@1]
// [314] phi utoa_append::digit#2 = utoa_append::digit#1 [phi:utoa_append::@2->utoa_append::@1#0] -- register_copy
// [314] phi utoa_append::value#2 = utoa_append::value#1 [phi:utoa_append::@2->utoa_append::@1#1] -- register_copy
jmp __b1
}
// strlen
// Computes the length of the string str up to but not including the terminating null character.
// __zp($22) unsigned int strlen(__zp($13) char *str)
strlen: {
.label len = $22
.label str = $13
.label return = $22
// [321] phi from strlen to strlen::@1 [phi:strlen->strlen::@1]
// [321] phi strlen::len#2 = 0 [phi:strlen->strlen::@1#0] -- vwuz1=vwuc1
lda #<0
sta.z len
sta.z len+1
// [321] phi strlen::str#2 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:strlen->strlen::@1#1] -- pbuz1=pbuc1
lda #<printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
sta.z str
lda #>printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
sta.z str+1
// strlen::@1
__b1:
// while(*str)
// [322] if(0!=*strlen::str#2) goto strlen::@2 -- 0_neq__deref_pbuz1_then_la1
ldy #0
lda (str),y
cmp #0
bne __b2
// strlen::@return
// }
// [323] return
rts
// strlen::@2
__b2:
// len++;
// [324] strlen::len#1 = ++ strlen::len#2 -- vwuz1=_inc_vwuz1
inc.z len
bne !+
inc.z len+1
!:
// str++;
// [325] strlen::str#0 = ++ strlen::str#2 -- pbuz1=_inc_pbuz1
inc.z str
bne !+
inc.z str+1
!:
// [321] phi from strlen::@2 to strlen::@1 [phi:strlen::@2->strlen::@1]
// [321] phi strlen::len#2 = strlen::len#1 [phi:strlen::@2->strlen::@1#0] -- register_copy
// [321] phi strlen::str#2 = strlen::str#0 [phi:strlen::@2->strlen::@1#1] -- register_copy
jmp __b1
}
// printf_padding
// Print a padding char a number of times
// void printf_padding(__zp(6) void (*putc)(char), __zp($11) char pad, __zp($24) char length)
printf_padding: {
.label i = $12
.label putc = 6
.label length = $24
.label pad = $11
// [327] phi from printf_padding to printf_padding::@1 [phi:printf_padding->printf_padding::@1]
// [327] phi printf_padding::i#2 = 0 [phi:printf_padding->printf_padding::@1#0] -- vbuz1=vbuc1
lda #0
sta.z i
// printf_padding::@1
__b1:
// for(char i=0;i<length; i++)
// [328] if(printf_padding::i#2<printf_padding::length#4) goto printf_padding::@2 -- vbuz1_lt_vbuz2_then_la1
lda.z i
cmp.z length
bcc __b2
// printf_padding::@return
// }
// [329] return
rts
// printf_padding::@2
__b2:
// putc(pad)
// [330] stackpush(char) = printf_padding::pad#5 -- _stackpushbyte_=vbuz1
lda.z pad
pha
// [331] callexecute *printf_padding::putc#5 -- call__deref_pprz1
jsr icall5
// sideeffect stackpullbytes(1) -- _stackpullbyte_1
pla
// printf_padding::@3
// for(char i=0;i<length; i++)
// [333] printf_padding::i#1 = ++ printf_padding::i#2 -- vbuz1=_inc_vbuz1
inc.z i
// [327] phi from printf_padding::@3 to printf_padding::@1 [phi:printf_padding::@3->printf_padding::@1]
// [327] phi printf_padding::i#2 = printf_padding::i#1 [phi:printf_padding::@3->printf_padding::@1#0] -- register_copy
jmp __b1
// Outside Flow
icall5:
jmp (putc)
}
// strupr
// Converts a string to uppercase.
// char * strupr(char *str)
strupr: {
.label str = printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
.label src = $13
// [335] phi from strupr to strupr::@1 [phi:strupr->strupr::@1]
// [335] phi strupr::src#2 = strupr::str#0 [phi:strupr->strupr::@1#0] -- pbuz1=pbuc1
lda #<str
sta.z src
lda #>str
sta.z src+1
// strupr::@1
__b1:
// while(*src)
// [336] if(0!=*strupr::src#2) goto strupr::@2 -- 0_neq__deref_pbuz1_then_la1
ldy #0
lda (src),y
cmp #0
bne __b2
// strupr::@return
// }
// [337] return
rts
// strupr::@2
__b2:
// toupper(*src)
// [338] toupper::ch#0 = *strupr::src#2 -- vbuaa=_deref_pbuz1
ldy #0
lda (src),y
// [339] call toupper
jsr toupper
// [340] toupper::return#3 = toupper::return#2
// strupr::@3
// [341] strupr::$0 = toupper::return#3
// *src = toupper(*src)
// [342] *strupr::src#2 = strupr::$0 -- _deref_pbuz1=vbuaa
ldy #0
sta (src),y
// src++;
// [343] strupr::src#1 = ++ strupr::src#2 -- pbuz1=_inc_pbuz1
inc.z src
bne !+
inc.z src+1
!:
// [335] phi from strupr::@3 to strupr::@1 [phi:strupr::@3->strupr::@1]
// [335] phi strupr::src#2 = strupr::src#1 [phi:strupr::@3->strupr::@1#0] -- register_copy
jmp __b1
}
// uctoa_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.
// __register(X) char uctoa_append(__zp(6) char *buffer, __register(X) char value, __zp($24) char sub)
uctoa_append: {
.label buffer = 6
.label sub = $24
// [345] phi from uctoa_append to uctoa_append::@1 [phi:uctoa_append->uctoa_append::@1]
// [345] phi uctoa_append::digit#2 = 0 [phi:uctoa_append->uctoa_append::@1#0] -- vbuyy=vbuc1
ldy #0
// [345] phi uctoa_append::value#2 = uctoa_append::value#0 [phi:uctoa_append->uctoa_append::@1#1] -- register_copy
// uctoa_append::@1
__b1:
// while (value >= sub)
// [346] if(uctoa_append::value#2>=uctoa_append::sub#0) goto uctoa_append::@2 -- vbuxx_ge_vbuz1_then_la1
cpx.z sub
bcs __b2
// uctoa_append::@3
// *buffer = DIGITS[digit]
// [347] *uctoa_append::buffer#0 = DIGITS[uctoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuyy
lda DIGITS,y
ldy #0
sta (buffer),y
// uctoa_append::@return
// }
// [348] return
rts
// uctoa_append::@2
__b2:
// digit++;
// [349] uctoa_append::digit#1 = ++ uctoa_append::digit#2 -- vbuyy=_inc_vbuyy
iny
// value -= sub
// [350] uctoa_append::value#1 = uctoa_append::value#2 - uctoa_append::sub#0 -- vbuxx=vbuxx_minus_vbuz1
txa
sec
sbc.z sub
tax
// [345] phi from uctoa_append::@2 to uctoa_append::@1 [phi:uctoa_append::@2->uctoa_append::@1]
// [345] phi uctoa_append::digit#2 = uctoa_append::digit#1 [phi:uctoa_append::@2->uctoa_append::@1#0] -- register_copy
// [345] phi uctoa_append::value#2 = uctoa_append::value#1 [phi:uctoa_append::@2->uctoa_append::@1#1] -- register_copy
jmp __b1
}
// ultoa_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(9) unsigned long ultoa_append(__zp($d) char *buffer, __zp(9) unsigned long value, __zp($25) unsigned long sub)
ultoa_append: {
.label buffer = $d
.label value = 9
.label sub = $25
.label return = 9
// [352] phi from ultoa_append to ultoa_append::@1 [phi:ultoa_append->ultoa_append::@1]
// [352] phi ultoa_append::digit#2 = 0 [phi:ultoa_append->ultoa_append::@1#0] -- vbuxx=vbuc1
ldx #0
// [352] phi ultoa_append::value#2 = ultoa_append::value#0 [phi:ultoa_append->ultoa_append::@1#1] -- register_copy
// ultoa_append::@1
__b1:
// while (value >= sub)
// [353] if(ultoa_append::value#2>=ultoa_append::sub#0) goto ultoa_append::@2 -- vduz1_ge_vduz2_then_la1
lda.z value+3
cmp.z sub+3
bcc !+
bne __b2
lda.z value+2
cmp.z sub+2
bcc !+
bne __b2
lda.z value+1
cmp.z sub+1
bcc !+
bne __b2
lda.z value
cmp.z sub
bcs __b2
!:
// ultoa_append::@3
// *buffer = DIGITS[digit]
// [354] *ultoa_append::buffer#0 = DIGITS[ultoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuxx
lda DIGITS,x
ldy #0
sta (buffer),y
// ultoa_append::@return
// }
// [355] return
rts
// ultoa_append::@2
__b2:
// digit++;
// [356] ultoa_append::digit#1 = ++ ultoa_append::digit#2 -- vbuxx=_inc_vbuxx
inx
// value -= sub
// [357] ultoa_append::value#1 = ultoa_append::value#2 - ultoa_append::sub#0 -- vduz1=vduz1_minus_vduz2
lda.z value
sec
sbc.z sub
sta.z value
lda.z value+1
sbc.z sub+1
sta.z value+1
lda.z value+2
sbc.z sub+2
sta.z value+2
lda.z value+3
sbc.z sub+3
sta.z value+3
// [352] phi from ultoa_append::@2 to ultoa_append::@1 [phi:ultoa_append::@2->ultoa_append::@1]
// [352] phi ultoa_append::digit#2 = ultoa_append::digit#1 [phi:ultoa_append::@2->ultoa_append::@1#0] -- register_copy
// [352] phi ultoa_append::value#2 = ultoa_append::value#1 [phi:ultoa_append::@2->ultoa_append::@1#1] -- register_copy
jmp __b1
}
// toupper
// Convert lowercase alphabet to uppercase
// Returns uppercase equivalent to c, if such value exists, else c remains unchanged
// __register(A) char toupper(__register(A) char ch)
toupper: {
// if(ch>='a' && ch<='z')
// [358] if(toupper::ch#0<'a') goto toupper::@return -- vbuaa_lt_vbuc1_then_la1
cmp #'a'
bcc __breturn
// toupper::@2
// [359] if(toupper::ch#0<='z') goto toupper::@1 -- vbuaa_le_vbuc1_then_la1
cmp #'z'
bcc __b1
beq __b1
// [361] phi from toupper toupper::@1 toupper::@2 to toupper::@return [phi:toupper/toupper::@1/toupper::@2->toupper::@return]
// [361] phi toupper::return#2 = toupper::ch#0 [phi:toupper/toupper::@1/toupper::@2->toupper::@return#0] -- register_copy
rts
// toupper::@1
__b1:
// return ch + ('A'-'a');
// [360] toupper::return#0 = toupper::ch#0 + 'A'-'a' -- vbuaa=vbuaa_plus_vbuc1
clc
adc #'A'-'a'
// toupper::@return
__breturn:
// }
// [362] return
rts
}
// File Data
.segment Data
// The digits used for numbers
DIGITS: .text "0123456789abcdef"
// Values of decimal digits
RADIX_DECIMAL_VALUES_CHAR: .byte $64, $a
// Values of binary digits
RADIX_BINARY_VALUES: .word $8000, $4000, $2000, $1000, $800, $400, $200, $100, $80, $40, $20, $10, 8, 4, 2
// Values of octal digits
RADIX_OCTAL_VALUES: .word $8000, $1000, $200, $40, 8
// Values of decimal digits
RADIX_DECIMAL_VALUES: .word $2710, $3e8, $64, $a
// Values of hexadecimal digits
RADIX_HEXADECIMAL_VALUES: .word $1000, $100, $10
// Values of decimal digits
RADIX_DECIMAL_VALUES_LONG: .dword $3b9aca00, $5f5e100, $989680, $f4240, $186a0, $2710, $3e8, $64, $a
// Buffer used for stringified number being printed
printf_buffer: .fill SIZEOF_STRUCT_PRINTF_BUFFER_NUMBER, 0