Resolved forward reference rawmap to rawmap
Fixing struct type size struct ATARI_GTIA_READ to 32
Fixing struct type size struct ATARI_POKEY_READ to 16
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 ATARI_GTIA_READ to 32
Fixing struct type SIZE_OF struct ATARI_POKEY_READ to 16
Fixing struct type SIZE_OF struct printf_buffer_number to 12
Fixing struct type SIZE_OF struct ATARI_GTIA_READ to 32
Fixing struct type SIZE_OF struct ATARI_POKEY_READ to 16
Fixing struct type SIZE_OF struct printf_buffer_number to 12
Setting inferred volatile on symbol affected by address-of cputc::$4 = call convertToScreenCode(&cputc::c)
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(volatile char c) caused by statement call printf_str(&cputc, "Hello, "at)
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(volatile char c) caused by statement call printf_string(&cputc, main::name, { 0, 0 })
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(volatile char c) caused by statement call printf_str(&cputc, " - press a key!
"at)
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(volatile char c) caused by statement call printf_str(&cputc, "Scrolling lines ... "at)
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(volatile char c) caused by statement call printf_sint(&cputc, main::i, { 0, 0, 0, 0, 0, DECIMAL })
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(volatile char c) caused by statement call printf_str(&cputc, "
"at)
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(volatile char c) caused by statement call printf_str(&cputc, "Some wrapping lines ... "at)
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(volatile char c) caused by statement call printf_sint(&cputc, main::i1, { 0, 0, 0, 0, 0, DECIMAL })
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(volatile char c) caused by statement call printf_str(&cputc, "
"at)
Adding parameter assignment in __stackcall procedure cputc::c = param(cputc::c)
Added struct type cast to parameter value list call printf_string(&cputc, main::name, (struct printf_format_string){ 0, 0 })
Added struct type cast to parameter value list call printf_sint(&cputc, main::i, (struct printf_format_number){ 0, 0, 0, 0, 0, DECIMAL })
Added struct type cast to parameter value list call printf_sint(&cputc, main::i1, (struct printf_format_number){ 0, 0, 0, 0, 0, DECIMAL })
Inlined call cputc::$4 = call convertToScreenCode(&cputc::c)
Inlined call call clrkb
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 putchar::$0
Eliminating unused variable with no statement putchar::$1
Eliminating unused variable with no statement setcursor::$0
Eliminating unused variable with no statement main::$7
Eliminating unused variable with no statement main::$14
Eliminating unused variable with no statement main::$16
Calling convention __stackcall adding prepare/execute/finalize for call cputc(cputs::c)
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 STACK_CALL replacing param(cputc::c) with stackidx(char,cputc::OFFSET_STACK_C)
Calling convention STACK_CALL adding stack push stackpush(char) = cputs::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

CONTROL FLOW GRAPH SSA

void * memcpy(void *destination , void *source , unsigned int num)
memcpy: scope:[memcpy]  from newline::@5
  memcpy::num#1 = phi( newline::@5/memcpy::num#0 )
  memcpy::destination#1 = phi( newline::@5/memcpy::destination#0 )
  memcpy::source#1 = phi( newline::@5/memcpy::source#0 )
  memcpy::src#0 = ((char *)) memcpy::source#1
  memcpy::dst#0 = ((char *)) memcpy::destination#1
  memcpy::$2 = (char *)memcpy::source#1
  memcpy::src_end#0 = memcpy::$2 + memcpy::num#1
  to:memcpy::@1
memcpy::@1: scope:[memcpy]  from memcpy memcpy::@2
  memcpy::destination#3 = phi( memcpy/memcpy::destination#1, memcpy::@2/memcpy::destination#4 )
  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#4 = phi( memcpy::@1/memcpy::destination#3 )
  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#2 = phi( memcpy::@1/memcpy::destination#3 )
  memcpy::return#0 = memcpy::destination#2
  to:memcpy::@return
memcpy::@return: scope:[memcpy]  from memcpy::@3
  memcpy::return#3 = phi( memcpy::@3/memcpy::return#0 )
  memcpy::return#1 = memcpy::return#3
  return 
  to:@return

void * memset(void *str , char c , unsigned int num)
memset: scope:[memset]  from clrscr newline::@9
  memset::c#5 = phi( clrscr/memset::c#0, newline::@9/memset::c#1 )
  memset::str#4 = phi( clrscr/memset::str#0, newline::@9/memset::str#1 )
  memset::num#2 = phi( clrscr/memset::num#0, newline::@9/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 printf_string::@3
  strlen::str#5 = phi( printf_number_buffer::@6/strlen::str#1, printf_string::@3/strlen::str#2 )
  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#3 = phi( strlen/strlen::str#5, strlen::@2/strlen::str#0 )
  strlen::$0 = 0 != *strlen::str#3
  if(strlen::$0) goto strlen::@2
  to:strlen::@3
strlen::@2: scope:[strlen]  from strlen::@1
  strlen::str#4 = phi( strlen::@1/strlen::str#3 )
  strlen::len#2 = phi( strlen::@1/strlen::len#4 )
  strlen::len#1 = ++ strlen::len#2
  strlen::str#0 = ++ strlen::str#4
  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#4 = phi( strlen::@3/strlen::return#0 )
  strlen::return#1 = strlen::return#4
  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'at
  toupper::$1 = toupper::ch#1 <= 'z'at
  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'at-'a'at
  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
  utoa::buffer#21 = phi( printf_sint::@2/utoa::buffer#5 )
  utoa::value#12 = phi( printf_sint::@2/utoa::value#1 )
  utoa::radix#1 = phi( printf_sint::@2/utoa::radix#0 )
  utoa::max_digits#0 = 0
  utoa::digit_values#0 = (unsigned int *) 0
  utoa::$0 = utoa::radix#1 == DECIMAL
  if(utoa::$0) goto utoa::@1
  to:utoa::@6
utoa::@1: scope:[utoa]  from utoa
  utoa::buffer#17 = phi( utoa/utoa::buffer#21 )
  utoa::value#8 = phi( utoa/utoa::value#12 )
  utoa::max_digits#1 = 5
  utoa::digit_values#1 = RADIX_DECIMAL_VALUES
  to:utoa::@5
utoa::@6: scope:[utoa]  from utoa
  utoa::value#13 = phi( utoa/utoa::value#12 )
  utoa::buffer#16 = phi( utoa/utoa::buffer#21 )
  utoa::radix#2 = phi( utoa/utoa::radix#1 )
  utoa::$1 = utoa::radix#2 == HEXADECIMAL
  if(utoa::$1) goto utoa::@2
  to:utoa::@7
utoa::@2: scope:[utoa]  from utoa::@6
  utoa::buffer#18 = phi( utoa::@6/utoa::buffer#16 )
  utoa::value#9 = phi( utoa::@6/utoa::value#13 )
  utoa::max_digits#2 = 4
  utoa::digit_values#2 = RADIX_HEXADECIMAL_VALUES
  to:utoa::@5
utoa::@7: scope:[utoa]  from utoa::@6
  utoa::value#14 = phi( utoa::@6/utoa::value#13 )
  utoa::buffer#13 = phi( utoa::@6/utoa::buffer#16 )
  utoa::radix#3 = phi( utoa::@6/utoa::radix#2 )
  utoa::$2 = utoa::radix#3 == OCTAL
  if(utoa::$2) goto utoa::@3
  to:utoa::@8
utoa::@3: scope:[utoa]  from utoa::@7
  utoa::buffer#19 = phi( utoa::@7/utoa::buffer#13 )
  utoa::value#10 = phi( utoa::@7/utoa::value#14 )
  utoa::max_digits#3 = 6
  utoa::digit_values#3 = RADIX_OCTAL_VALUES
  to:utoa::@5
utoa::@8: scope:[utoa]  from utoa::@7
  utoa::value#15 = phi( utoa::@7/utoa::value#14 )
  utoa::buffer#10 = phi( utoa::@7/utoa::buffer#13 )
  utoa::radix#4 = phi( utoa::@7/utoa::radix#3 )
  utoa::$3 = utoa::radix#4 == BINARY
  if(utoa::$3) goto utoa::@4
  to:utoa::@9
utoa::@4: scope:[utoa]  from utoa::@8
  utoa::buffer#20 = phi( utoa::@8/utoa::buffer#10 )
  utoa::value#11 = phi( utoa::@8/utoa::value#15 )
  utoa::max_digits#4 = $10
  utoa::digit_values#4 = RADIX_BINARY_VALUES
  to:utoa::@5
utoa::@9: scope:[utoa]  from utoa::@8
  utoa::buffer#6 = phi( utoa::@8/utoa::buffer#10 )
  *utoa::buffer#6 = 'e'at
  utoa::buffer#0 = ++ utoa::buffer#6
  *utoa::buffer#0 = 'r'at
  utoa::buffer#1 = ++ utoa::buffer#0
  *utoa::buffer#1 = 'r'at
  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#15 = phi( utoa::@1/utoa::buffer#17, utoa::@2/utoa::buffer#18, utoa::@3/utoa::buffer#19, utoa::@4/utoa::buffer#20 )
  utoa::value#7 = phi( utoa::@1/utoa::value#8, utoa::@2/utoa::value#9, utoa::@3/utoa::value#10, utoa::@4/utoa::value#11 )
  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#11 = phi( utoa::@13/utoa::buffer#14, utoa::@5/utoa::buffer#15 )
  utoa::started#3 = phi( utoa::@13/utoa::started#4, utoa::@5/utoa::started#0 )
  utoa::value#5 = phi( utoa::@13/utoa::value#6, utoa::@5/utoa::value#7 )
  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#12 = phi( utoa::@10/utoa::buffer#11 )
  utoa::started#2 = phi( utoa::@10/utoa::started#3 )
  utoa::value#2 = phi( utoa::@10/utoa::value#5 )
  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#2 >= 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#7 = phi( utoa::@10/utoa::buffer#11 )
  utoa::value#3 = phi( utoa::@10/utoa::value#5 )
  utoa::$11 = (char)utoa::value#3
  *utoa::buffer#7 = DIGITS[utoa::$11]
  utoa::buffer#3 = ++ utoa::buffer#7
  *utoa::buffer#3 = 0
  to:utoa::@return
utoa::@13: scope:[utoa]  from utoa::@11 utoa::@15
  utoa::buffer#14 = phi( utoa::@11/utoa::buffer#12, utoa::@15/utoa::buffer#4 )
  utoa::started#4 = phi( utoa::@11/utoa::started#2, utoa::@15/utoa::started#1 )
  utoa::value#6 = phi( utoa::@11/utoa::value#2, 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#4 = phi( utoa::@11/utoa::value#2 )
  utoa::buffer#8 = phi( utoa::@11/utoa::buffer#12 )
  utoa_append::buffer#0 = utoa::buffer#8
  utoa_append::value#0 = utoa::value#4
  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#9 = phi( utoa::@14/utoa::buffer#8 )
  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#9
  utoa::started#1 = 1
  to:utoa::@13

unsigned int utoa_append(char *buffer , unsigned int value , unsigned int sub)
utoa_append: scope:[utoa_append]  from utoa::@14
  utoa_append::buffer#3 = phi( utoa::@14/utoa_append::buffer#0 )
  utoa_append::sub#3 = phi( utoa::@14/utoa_append::sub#0 )
  utoa_append::value#5 = phi( utoa::@14/utoa_append::value#0 )
  utoa_append::digit#0 = 0
  to:utoa_append::@1
utoa_append::@1: scope:[utoa_append]  from utoa_append utoa_append::@2
  utoa_append::buffer#2 = phi( utoa_append/utoa_append::buffer#3, utoa_append::@2/utoa_append::buffer#4 )
  utoa_append::digit#4 = phi( utoa_append/utoa_append::digit#0, utoa_append::@2/utoa_append::digit#1 )
  utoa_append::sub#1 = phi( utoa_append/utoa_append::sub#3, utoa_append::@2/utoa_append::sub#2 )
  utoa_append::value#2 = phi( utoa_append/utoa_append::value#5, utoa_append::@2/utoa_append::value#1 )
  utoa_append::$0 = utoa_append::value#2 >= utoa_append::sub#1
  if(utoa_append::$0) goto utoa_append::@2
  to:utoa_append::@3
utoa_append::@2: scope:[utoa_append]  from utoa_append::@1
  utoa_append::buffer#4 = phi( utoa_append::@1/utoa_append::buffer#2 )
  utoa_append::sub#2 = phi( utoa_append::@1/utoa_append::sub#1 )
  utoa_append::value#3 = phi( utoa_append::@1/utoa_append::value#2 )
  utoa_append::digit#2 = phi( utoa_append::@1/utoa_append::digit#4 )
  utoa_append::digit#1 = ++ utoa_append::digit#2
  utoa_append::value#1 = utoa_append::value#3 - utoa_append::sub#2
  to:utoa_append::@1
utoa_append::@3: scope:[utoa_append]  from utoa_append::@1
  utoa_append::value#4 = phi( utoa_append::@1/utoa_append::value#2 )
  utoa_append::buffer#1 = phi( utoa_append::@1/utoa_append::buffer#2 )
  utoa_append::digit#3 = phi( utoa_append::@1/utoa_append::digit#4 )
  *utoa_append::buffer#1 = DIGITS[utoa_append::digit#3]
  utoa_append::return#1 = utoa_append::value#4
  to:utoa_append::@return
utoa_append::@return: scope:[utoa_append]  from utoa_append::@3
  utoa_append::return#4 = phi( utoa_append::@3/utoa_append::return#1 )
  utoa_append::return#2 = utoa_append::return#4
  return 
  to:@return

void clrscr()
clrscr: scope:[clrscr]  from main::@15
  memset::str#0 = (void *)*SAVMSC
  memset::c#0 = 0
  memset::num#0 = $28*$18
  call memset
  memset::return#2 = memset::return#1
  to:clrscr::@1
clrscr::@1: scope:[clrscr]  from clrscr
  *OLDCHR = 0
  gotoxy::x#0 = 0
  gotoxy::y#0 = 0
  call gotoxy
  to:clrscr::@2
clrscr::@2: scope:[clrscr]  from clrscr::@1
  to:clrscr::@return
clrscr::@return: scope:[clrscr]  from clrscr::@2
  return 
  to:@return

void gotoxy(char x , char y)
gotoxy: scope:[gotoxy]  from clrscr::@1 cputsxy main::@9 newline::@3
  gotoxy::y#4 = phi( clrscr::@1/gotoxy::y#0, cputsxy/gotoxy::y#1, main::@9/gotoxy::y#3, newline::@3/gotoxy::y#2 )
  gotoxy::x#4 = phi( clrscr::@1/gotoxy::x#0, cputsxy/gotoxy::x#1, main::@9/gotoxy::x#3, newline::@3/gotoxy::x#2 )
  *COLCRS = gotoxy::x#4
  *ROWCRS = gotoxy::y#4
  call setcursor
  to:gotoxy::@1
gotoxy::@1: scope:[gotoxy]  from gotoxy
  to:gotoxy::@return
gotoxy::@return: scope:[gotoxy]  from gotoxy::@1
  return 
  to:@return

__stackcall void cputc(volatile char c)
cputc: scope:[cputc]  from
  cputc::c = stackidx(char,cputc::OFFSET_STACK_C)
  cputc::$0 = cputc::c == '
'at
  if(cputc::$0) goto cputc::@1
  to:cputc::@3
cputc::@1: scope:[cputc]  from cputc
  *COLCRS = 0
  call setcursor
  to:cputc::@8
cputc::@8: scope:[cputc]  from cputc::@1
  to:cputc::@return
cputc::@3: scope:[cputc]  from cputc
  cputc::$1 = cputc::c == '
'at
  cputc::$2 = cputc::c == $9b
  cputc::$3 = cputc::$1 || cputc::$2
  if(cputc::$3) goto cputc::@2
  to:cputc::@4
cputc::@2: scope:[cputc]  from cputc::@3
  *COLCRS = 0
  call newline
  to:cputc::@9
cputc::@9: scope:[cputc]  from cputc::@2
  to:cputc::@return
cputc::@4: scope:[cputc]  from cputc::@3
  cputc::convertToScreenCode1_v#0 = &cputc::c
  to:cputc::convertToScreenCode1
cputc::convertToScreenCode1: scope:[cputc]  from cputc::@4
  cputc::convertToScreenCode1_v#1 = phi( cputc::@4/cputc::convertToScreenCode1_v#0 )
  cputc::convertToScreenCode1_return#0 = rawmap[*cputc::convertToScreenCode1_v#1]
  to:cputc::convertToScreenCode1_@return
cputc::convertToScreenCode1_@return: scope:[cputc]  from cputc::convertToScreenCode1
  cputc::convertToScreenCode1_return#2 = phi( cputc::convertToScreenCode1/cputc::convertToScreenCode1_return#0 )
  cputc::convertToScreenCode1_return#1 = cputc::convertToScreenCode1_return#2
  to:cputc::@7
cputc::@7: scope:[cputc]  from cputc::convertToScreenCode1_@return
  cputc::convertToScreenCode1_return#3 = phi( cputc::convertToScreenCode1_@return/cputc::convertToScreenCode1_return#1 )
  cputc::$4 = cputc::convertToScreenCode1_return#3
  putchar::code#0 = cputc::$4
  call putchar
  to:cputc::@10
cputc::@10: scope:[cputc]  from cputc::@7
  *COLCRS = ++ *COLCRS
  cputc::$7 = *COLCRS == $28
  if(cputc::$7) goto cputc::@6
  to:cputc::@5
cputc::@6: scope:[cputc]  from cputc::@10
  *COLCRS = 0
  call newline
  to:cputc::@11
cputc::@11: scope:[cputc]  from cputc::@6
  to:cputc::@return
cputc::@5: scope:[cputc]  from cputc::@10
  call setcursor
  to:cputc::@12
cputc::@12: scope:[cputc]  from cputc::@5
  to:cputc::@return
cputc::@return: scope:[cputc]  from cputc::@11 cputc::@12 cputc::@8 cputc::@9
  return 
  to:@return

void cputs(const char *s)
cputs: scope:[cputs]  from cputsxy::@1
  cputs::s#3 = phi( cputsxy::@1/cputs::s#1 )
  cputs::c#0 = 0
  to:cputs::@1
cputs::@1: scope:[cputs]  from cputs cputs::@2
  cputs::s#2 = phi( cputs/cputs::s#3, cputs::@2/cputs::s#4 )
  cputs::c#1 = *cputs::s#2
  cputs::$0 = cputs::c#1
  cputs::s#0 = ++ cputs::s#2
  cputs::$2 = 0 != cputs::$0
  if(cputs::$2) goto cputs::@2
  to:cputs::@return
cputs::@2: scope:[cputs]  from cputs::@1
  cputs::s#4 = phi( cputs::@1/cputs::s#0 )
  cputs::c#2 = phi( cputs::@1/cputs::c#1 )
  stackpush(char) = cputs::c#2
  callexecute cputc 
  sideeffect stackpullbytes(1)
  to:cputs::@1
cputs::@return: scope:[cputs]  from cputs::@1
  return 
  to:@return

void cputsxy(char x , char y , const char *s)
cputsxy: scope:[cputsxy]  from main::@8
  cputsxy::s#2 = phi( main::@8/cputsxy::s#0 )
  cputsxy::y#1 = phi( main::@8/cputsxy::y#0 )
  cputsxy::x#1 = phi( main::@8/cputsxy::x#0 )
  gotoxy::x#1 = cputsxy::x#1
  gotoxy::y#1 = cputsxy::y#1
  call gotoxy
  to:cputsxy::@1
cputsxy::@1: scope:[cputsxy]  from cputsxy
  cputsxy::s#1 = phi( cputsxy/cputsxy::s#2 )
  cputs::s#1 = cputsxy::s#1
  call cputs
  to:cputsxy::@2
cputsxy::@2: scope:[cputsxy]  from cputsxy::@1
  to:cputsxy::@return
cputsxy::@return: scope:[cputsxy]  from cputsxy::@2
  return 
  to:@return

char textcolor(char color)
textcolor: scope:[textcolor]  from main::@7
  textcolor::color#1 = phi( main::@7/textcolor::color#0 )
  textcolor::old#0 = *COLOR1
  *COLOR1 = textcolor::color#1
  textcolor::return#0 = textcolor::old#0
  to:textcolor::@return
textcolor::@return: scope:[textcolor]  from textcolor
  textcolor::return#3 = phi( textcolor/textcolor::return#0 )
  textcolor::return#1 = textcolor::return#3
  return 
  to:@return

char bgcolor(char color)
bgcolor: scope:[bgcolor]  from main::@5
  bgcolor::color#1 = phi( main::@5/bgcolor::color#0 )
  bgcolor::old#0 = *COLOR2
  *COLOR2 = bgcolor::color#1
  bgcolor::return#0 = bgcolor::old#0
  to:bgcolor::@return
bgcolor::@return: scope:[bgcolor]  from bgcolor
  bgcolor::return#3 = phi( bgcolor/bgcolor::return#0 )
  bgcolor::return#1 = bgcolor::return#3
  return 
  to:@return

char bordercolor(char color)
bordercolor: scope:[bordercolor]  from main::@6
  bordercolor::color#1 = phi( main::@6/bordercolor::color#0 )
  bordercolor::old#0 = *COLOR4
  *COLOR4 = bordercolor::color#1
  bordercolor::return#0 = bordercolor::old#0
  to:bordercolor::@return
bordercolor::@return: scope:[bordercolor]  from bordercolor
  bordercolor::return#3 = phi( bordercolor/bordercolor::return#0 )
  bordercolor::return#1 = bordercolor::return#3
  return 
  to:@return

char kbhit()
kbhit: scope:[kbhit]  from waitkey::@1
  kbhit::$0 = *CH == $ff
  if(kbhit::$0) goto kbhit::@1
  to:kbhit::@2
kbhit::@1: scope:[kbhit]  from kbhit
  kbhit::return#0 = 0
  to:kbhit::@return
kbhit::@2: scope:[kbhit]  from kbhit
  kbhit::return#1 = 1
  to:kbhit::@return
kbhit::@return: scope:[kbhit]  from kbhit::@1 kbhit::@2
  kbhit::return#4 = phi( kbhit::@1/kbhit::return#0, kbhit::@2/kbhit::return#1 )
  kbhit::return#2 = kbhit::return#4
  return 
  to:@return

char cursor(char onoff)
cursor: scope:[cursor]  from main
  cursor::onoff#1 = phi( main/cursor::onoff#0 )
  cursor::oldValue#0 = conio_display_cursor
  conio_display_cursor = cursor::onoff#1
  cursor::return#0 = cursor::oldValue#0
  to:cursor::@return
cursor::@return: scope:[cursor]  from cursor
  cursor::return#3 = phi( cursor/cursor::return#0 )
  cursor::return#1 = cursor::return#3
  return 
  to:@return

char scroll(char onoff)
scroll: scope:[scroll]  from main::@21
  scroll::onoff#1 = phi( main::@21/scroll::onoff#0 )
  scroll::old#0 = conio_scroll_enable
  conio_scroll_enable = scroll::onoff#1
  scroll::return#0 = scroll::old#0
  to:scroll::@return
scroll::@return: scope:[scroll]  from scroll
  scroll::return#3 = phi( scroll/scroll::return#0 )
  scroll::return#1 = scroll::return#3
  return 
  to:@return

void putchar(char code)
putchar: scope:[putchar]  from cputc::@7
  putchar::code#2 = phi( cputc::@7/putchar::code#0 )
  *(*OLDADR) = *OLDCHR
  call cursorLocation
  cursorLocation::return#0 = cursorLocation::return#2
  to:putchar::@1
putchar::@1: scope:[putchar]  from putchar
  putchar::code#1 = phi( putchar/putchar::code#2 )
  cursorLocation::return#4 = phi( putchar/cursorLocation::return#0 )
  putchar::loc#0 = cursorLocation::return#4
  putchar::newChar#0 = putchar::code#1 | conio_reverse_value
  *putchar::loc#0 = putchar::newChar#0
  *OLDCHR = putchar::newChar#0
  call setcursor
  to:putchar::@2
putchar::@2: scope:[putchar]  from putchar::@1
  to:putchar::@return
putchar::@return: scope:[putchar]  from putchar::@2
  return 
  to:@return

char * cursorLocation()
cursorLocation: scope:[cursorLocation]  from putchar setcursor
  cursorLocation::$3 = (unsigned int)*ROWCRS
  cursorLocation::$0 = cursorLocation::$3 * $28
  cursorLocation::$1 = *SAVMSC + cursorLocation::$0
  cursorLocation::$2 = cursorLocation::$1 + *COLCRS
  cursorLocation::return#1 = cursorLocation::$2
  to:cursorLocation::@return
cursorLocation::@return: scope:[cursorLocation]  from cursorLocation
  cursorLocation::return#5 = phi( cursorLocation/cursorLocation::return#1 )
  cursorLocation::return#2 = cursorLocation::return#5
  return 
  to:@return

void newline()
newline: scope:[newline]  from cputc::@2 cputc::@6
  newline::$0 = *ROWCRS == $18
  *ROWCRS = ++ *ROWCRS
  newline::$1 = ! newline::$0
  if(newline::$1) goto newline::@1
  to:newline::@2
newline::@1: scope:[newline]  from newline newline::@10 newline::@8
  call setcursor
  to:newline::@7
newline::@7: scope:[newline]  from newline::@1
  to:newline::@return
newline::@2: scope:[newline]  from newline
  newline::$3 = conio_scroll_enable == 1
  if(newline::$3) goto newline::@4
  to:newline::@3
newline::@4: scope:[newline]  from newline::@2
  newline::$5 = conio_display_cursor == 1
  newline::$6 = ! newline::$5
  if(newline::$6) goto newline::@5
  to:newline::@6
newline::@3: scope:[newline]  from newline::@2
  gotoxy::x#2 = 0
  gotoxy::y#2 = 0
  call gotoxy
  to:newline::@8
newline::@8: scope:[newline]  from newline::@3
  to:newline::@1
newline::@5: scope:[newline]  from newline::@4 newline::@6
  newline::start#0 = *SAVMSC
  newline::$7 = newline::start#0 + $28
  memcpy::destination#0 = (void *)newline::start#0
  memcpy::source#0 = (void *)newline::$7
  memcpy::num#0 = $28*$17
  call memcpy
  memcpy::return#2 = memcpy::return#1
  to:newline::@9
newline::@9: scope:[newline]  from newline::@5
  newline::start#1 = phi( newline::@5/newline::start#0 )
  newline::$9 = newline::start#1 + $28*$17
  memset::str#1 = (void *)newline::$9
  memset::c#1 = 0
  memset::num#1 = $28
  call memset
  memset::return#3 = memset::return#1
  to:newline::@10
newline::@10: scope:[newline]  from newline::@9
  *ROWCRS = $18-1
  to:newline::@1
newline::@6: scope:[newline]  from newline::@4
  *(*OLDADR) = *(*OLDADR) ^ $80
  to:newline::@5
newline::@return: scope:[newline]  from newline::@7
  return 
  to:@return

void setcursor()
setcursor: scope:[setcursor]  from cputc::@1 cputc::@5 gotoxy newline::@1 putchar::@1
  *(*OLDADR) = *OLDCHR
  call cursorLocation
  cursorLocation::return#3 = cursorLocation::return#2
  to:setcursor::@4
setcursor::@4: scope:[setcursor]  from setcursor
  cursorLocation::return#6 = phi( setcursor/cursorLocation::return#3 )
  setcursor::loc#0 = cursorLocation::return#6
  setcursor::c#0 = *setcursor::loc#0
  *OLDCHR = setcursor::c#0
  *OLDADR = setcursor::loc#0
  setcursor::$1 = conio_display_cursor == 0
  if(setcursor::$1) goto setcursor::@1
  to:setcursor::@3
setcursor::@1: scope:[setcursor]  from setcursor::@4
  setcursor::c#4 = phi( setcursor::@4/setcursor::c#0 )
  *CRSINH = 1
  to:setcursor::@2
setcursor::@3: scope:[setcursor]  from setcursor::@4
  setcursor::c#2 = phi( setcursor::@4/setcursor::c#0 )
  *CRSINH = 0
  setcursor::$2 = setcursor::c#2 ^ $80
  setcursor::c#1 = setcursor::$2
  to:setcursor::@2
setcursor::@2: scope:[setcursor]  from setcursor::@1 setcursor::@3
  setcursor::c#3 = phi( setcursor::@1/setcursor::c#4, setcursor::@3/setcursor::c#1 )
  *(*OLDADR) = setcursor::c#3
  to:setcursor::@return
setcursor::@return: scope:[setcursor]  from setcursor::@2
  return 
  to:@return

char revers(char onoff)
revers: scope:[revers]  from main::@10 main::@16
  revers::onoff#2 = phi( main::@10/revers::onoff#0, main::@16/revers::onoff#1 )
  revers::old#0 = conio_reverse_value
  revers::$0 = revers::onoff#2 == 0
  if(revers::$0) goto revers::@1
  to:revers::@3
revers::@1: scope:[revers]  from revers
  revers::old#2 = phi( revers/revers::old#0 )
  conio_reverse_value = 0
  to:revers::@2
revers::@3: scope:[revers]  from revers
  revers::old#3 = phi( revers/revers::old#0 )
  conio_reverse_value = $80
  to:revers::@2
revers::@2: scope:[revers]  from revers::@1 revers::@3
  revers::old#1 = phi( revers::@1/revers::old#2, revers::@3/revers::old#3 )
  revers::return#0 = revers::old#1
  to:revers::@return
revers::@return: scope:[revers]  from revers::@2
  revers::return#4 = phi( revers::@2/revers::return#0 )
  revers::return#1 = revers::return#4
  return 
  to:@return

void printf_str(void (*putc)(char) , const char *s)
printf_str: scope:[printf_str]  from main::@1 main::@11 main::@13 main::@19 main::@24 main::@3 printf_number_buffer::@5 printf_string::@2
  printf_str::putc#10 = phi( main::@1/printf_str::putc#4, main::@11/printf_str::putc#2, main::@13/printf_str::putc#3, main::@19/printf_str::putc#5, main::@24/printf_str::putc#7, main::@3/printf_str::putc#6, printf_number_buffer::@5/printf_str::putc#0, printf_string::@2/printf_str::putc#1 )
  printf_str::s#10 = phi( main::@1/printf_str::s#5, main::@11/printf_str::s#3, main::@13/printf_str::s#4, main::@19/printf_str::s#6, main::@24/printf_str::s#8, main::@3/printf_str::s#7, printf_number_buffer::@5/printf_str::s#1, printf_string::@2/printf_str::s#2 )
  printf_str::c#0 = 0
  to:printf_str::@1
printf_str::@1: scope:[printf_str]  from printf_str printf_str::@2
  printf_str::putc#9 = phi( printf_str/printf_str::putc#10, printf_str::@2/printf_str::putc#8 )
  printf_str::s#9 = phi( printf_str/printf_str::s#10, printf_str::@2/printf_str::s#11 )
  printf_str::c#1 = *printf_str::s#9
  printf_str::$0 = printf_str::c#1
  printf_str::s#0 = ++ printf_str::s#9
  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#11 = phi( printf_str::@1/printf_str::s#0 )
  printf_str::putc#8 = phi( printf_str::@1/printf_str::putc#9 )
  printf_str::c#2 = phi( printf_str::@1/printf_str::c#1 )
  stackpush(char) = printf_str::c#2
  callexecute *printf_str::putc#8 
  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_string::@5 printf_string::@6
  printf_padding::putc#7 = 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_string::@5/printf_padding::putc#3, printf_string::@6/printf_padding::putc#4 )
  printf_padding::pad#7 = 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_string::@5/printf_padding::pad#3, printf_string::@6/printf_padding::pad#4 )
  printf_padding::length#6 = 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_string::@5/printf_padding::length#3, printf_string::@6/printf_padding::length#4 )
  printf_padding::i#0 = 0
  to:printf_padding::@1
printf_padding::@1: scope:[printf_padding]  from printf_padding printf_padding::@3
  printf_padding::putc#6 = phi( printf_padding/printf_padding::putc#7, printf_padding::@3/printf_padding::putc#8 )
  printf_padding::pad#6 = phi( printf_padding/printf_padding::pad#7, printf_padding::@3/printf_padding::pad#8 )
  printf_padding::length#5 = phi( printf_padding/printf_padding::length#6, printf_padding::@3/printf_padding::length#7 )
  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#5
  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#8 = phi( printf_padding::@1/printf_padding::length#5 )
  printf_padding::i#4 = phi( printf_padding::@1/printf_padding::i#2 )
  printf_padding::putc#5 = phi( printf_padding::@1/printf_padding::putc#6 )
  printf_padding::pad#5 = phi( printf_padding::@1/printf_padding::pad#6 )
  stackpush(char) = printf_padding::pad#5
  callexecute *printf_padding::putc#5 
  sideeffect stackpullbytes(1)
  to:printf_padding::@3
printf_padding::@3: scope:[printf_padding]  from printf_padding::@2
  printf_padding::putc#8 = phi( printf_padding::@2/printf_padding::putc#5 )
  printf_padding::pad#8 = phi( printf_padding::@2/printf_padding::pad#5 )
  printf_padding::length#7 = phi( printf_padding::@2/printf_padding::length#8 )
  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_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::@18 main::@23
  printf_sint::format_upper_case#7 = phi( main::@18/printf_sint::format_upper_case#0, main::@23/printf_sint::format_upper_case#1 )
  printf_sint::format_zero_padding#7 = phi( main::@18/printf_sint::format_zero_padding#0, main::@23/printf_sint::format_zero_padding#1 )
  printf_sint::format_justify_left#7 = phi( main::@18/printf_sint::format_justify_left#0, main::@23/printf_sint::format_justify_left#1 )
  printf_sint::format_min_length#7 = phi( main::@18/printf_sint::format_min_length#0, main::@23/printf_sint::format_min_length#1 )
  printf_sint::putc#7 = phi( main::@18/printf_sint::putc#0, main::@23/printf_sint::putc#1 )
  printf_sint::format_radix#7 = phi( main::@18/printf_sint::format_radix#0, main::@23/printf_sint::format_radix#1 )
  printf_sint::format_sign_always#4 = phi( main::@18/printf_sint::format_sign_always#0, main::@23/printf_sint::format_sign_always#1 )
  printf_sint::value#3 = phi( main::@18/printf_sint::value#1, main::@23/printf_sint::value#2 )
  *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = 0
  printf_sint::$0 = printf_sint::value#3 < 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#4 = phi( printf_sint/printf_sint::format_upper_case#7 )
  printf_sint::format_zero_padding#4 = phi( printf_sint/printf_sint::format_zero_padding#7 )
  printf_sint::format_sign_always#6 = phi( printf_sint/printf_sint::format_sign_always#4 )
  printf_sint::format_justify_left#4 = phi( printf_sint/printf_sint::format_justify_left#7 )
  printf_sint::format_min_length#4 = phi( printf_sint/printf_sint::format_min_length#7 )
  printf_sint::putc#4 = phi( printf_sint/printf_sint::putc#7 )
  printf_sint::format_radix#4 = phi( printf_sint/printf_sint::format_radix#7 )
  printf_sint::value#4 = phi( printf_sint/printf_sint::value#3 )
  printf_sint::$4 = - printf_sint::value#4
  printf_sint::value#0 = printf_sint::$4
  *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = '-'at
  to:printf_sint::@2
printf_sint::@3: scope:[printf_sint]  from printf_sint
  printf_sint::format_upper_case#5 = phi( printf_sint/printf_sint::format_upper_case#7 )
  printf_sint::format_zero_padding#5 = phi( printf_sint/printf_sint::format_zero_padding#7 )
  printf_sint::format_justify_left#5 = phi( printf_sint/printf_sint::format_justify_left#7 )
  printf_sint::format_min_length#5 = phi( printf_sint/printf_sint::format_min_length#7 )
  printf_sint::putc#5 = phi( printf_sint/printf_sint::putc#7 )
  printf_sint::format_radix#5 = phi( printf_sint/printf_sint::format_radix#7 )
  printf_sint::value#6 = phi( printf_sint/printf_sint::value#3 )
  printf_sint::format_sign_always#2 = phi( printf_sint/printf_sint::format_sign_always#4 )
  printf_sint::$5 = 0 != printf_sint::format_sign_always#2
  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#6 = phi( printf_sint::@3/printf_sint::format_upper_case#5 )
  printf_sint::format_zero_padding#6 = phi( printf_sint::@3/printf_sint::format_zero_padding#5 )
  printf_sint::format_sign_always#7 = phi( printf_sint::@3/printf_sint::format_sign_always#2 )
  printf_sint::format_justify_left#6 = phi( printf_sint::@3/printf_sint::format_justify_left#5 )
  printf_sint::format_min_length#6 = phi( printf_sint::@3/printf_sint::format_min_length#5 )
  printf_sint::putc#6 = phi( printf_sint::@3/printf_sint::putc#5 )
  printf_sint::format_radix#6 = phi( printf_sint::@3/printf_sint::format_radix#5 )
  printf_sint::value#7 = phi( printf_sint::@3/printf_sint::value#6 )
  *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = '+'at
  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#3 = phi( printf_sint::@1/printf_sint::format_upper_case#4, printf_sint::@3/printf_sint::format_upper_case#5, printf_sint::@4/printf_sint::format_upper_case#6 )
  printf_sint::format_zero_padding#3 = phi( printf_sint::@1/printf_sint::format_zero_padding#4, printf_sint::@3/printf_sint::format_zero_padding#5, printf_sint::@4/printf_sint::format_zero_padding#6 )
  printf_sint::format_sign_always#5 = phi( printf_sint::@1/printf_sint::format_sign_always#6, printf_sint::@3/printf_sint::format_sign_always#2, printf_sint::@4/printf_sint::format_sign_always#7 )
  printf_sint::format_justify_left#3 = phi( printf_sint::@1/printf_sint::format_justify_left#4, printf_sint::@3/printf_sint::format_justify_left#5, printf_sint::@4/printf_sint::format_justify_left#6 )
  printf_sint::format_min_length#3 = phi( printf_sint::@1/printf_sint::format_min_length#4, printf_sint::@3/printf_sint::format_min_length#5, printf_sint::@4/printf_sint::format_min_length#6 )
  printf_sint::putc#3 = phi( printf_sint::@1/printf_sint::putc#4, printf_sint::@3/printf_sint::putc#5, printf_sint::@4/printf_sint::putc#6 )
  printf_sint::format_radix#2 = phi( printf_sint::@1/printf_sint::format_radix#4, printf_sint::@3/printf_sint::format_radix#5, printf_sint::@4/printf_sint::format_radix#6 )
  printf_sint::value#5 = phi( printf_sint::@1/printf_sint::value#0, printf_sint::@3/printf_sint::value#6, printf_sint::@4/printf_sint::value#7 )
  printf_sint::uvalue#0 = (unsigned int)printf_sint::value#5
  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#2
  call utoa
  to:printf_sint::@5
printf_sint::@5: scope:[printf_sint]  from printf_sint::@2
  printf_sint::format_radix#3 = phi( printf_sint::@2/printf_sint::format_radix#2 )
  printf_sint::format_upper_case#2 = phi( printf_sint::@2/printf_sint::format_upper_case#3 )
  printf_sint::format_zero_padding#2 = phi( printf_sint::@2/printf_sint::format_zero_padding#3 )
  printf_sint::format_sign_always#3 = phi( printf_sint::@2/printf_sint::format_sign_always#5 )
  printf_sint::format_justify_left#2 = phi( printf_sint::@2/printf_sint::format_justify_left#3 )
  printf_sint::format_min_length#2 = phi( printf_sint::@2/printf_sint::format_min_length#3 )
  printf_sint::putc#2 = phi( printf_sint::@2/printf_sint::putc#3 )
  printf_number_buffer::putc#0 = printf_sint::putc#2
  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_sint::format_min_length#2
  printf_number_buffer::format_justify_left#0 = printf_sint::format_justify_left#2
  printf_number_buffer::format_sign_always#0 = printf_sint::format_sign_always#3
  printf_number_buffer::format_zero_padding#0 = printf_sint::format_zero_padding#2
  printf_number_buffer::format_upper_case#0 = printf_sint::format_upper_case#2
  printf_number_buffer::format_radix#0 = printf_sint::format_radix#3
  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_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_sint::@5
  printf_number_buffer::format_upper_case#9 = phi( printf_sint::@5/printf_number_buffer::format_upper_case#0 )
  printf_number_buffer::putc#12 = phi( printf_sint::@5/printf_number_buffer::putc#0 )
  printf_number_buffer::buffer_sign#7 = phi( printf_sint::@5/printf_number_buffer::buffer_sign#0 )
  printf_number_buffer::buffer_digits#4 = phi( printf_sint::@5/printf_number_buffer::buffer_digits#0 )
  printf_number_buffer::format_zero_padding#4 = phi( printf_sint::@5/printf_number_buffer::format_zero_padding#0 )
  printf_number_buffer::format_justify_left#3 = phi( printf_sint::@5/printf_number_buffer::format_justify_left#0 )
  printf_number_buffer::format_min_length#1 = phi( printf_sint::@5/printf_number_buffer::format_min_length#0 )
  printf_number_buffer::padding#0 = 0
  printf_number_buffer::$26 = 0 != printf_number_buffer::format_min_length#1
  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#12 = phi( printf_number_buffer/printf_number_buffer::buffer_digits#4, printf_number_buffer::@13/printf_number_buffer::buffer_digits#14, printf_number_buffer::@14/printf_number_buffer::buffer_digits#15 )
  printf_number_buffer::format_upper_case#7 = phi( printf_number_buffer/printf_number_buffer::format_upper_case#9, printf_number_buffer::@13/printf_number_buffer::format_upper_case#10, printf_number_buffer::@14/printf_number_buffer::format_upper_case#11 )
  printf_number_buffer::putc#6 = phi( printf_number_buffer/printf_number_buffer::putc#12, printf_number_buffer::@13/printf_number_buffer::putc#13, printf_number_buffer::@14/printf_number_buffer::putc#14 )
  printf_number_buffer::buffer_sign#5 = phi( printf_number_buffer/printf_number_buffer::buffer_sign#7, printf_number_buffer::@13/printf_number_buffer::buffer_sign#8, printf_number_buffer::@14/printf_number_buffer::buffer_sign#9 )
  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#1 = phi( printf_number_buffer/printf_number_buffer::format_zero_padding#4, printf_number_buffer::@13/printf_number_buffer::format_zero_padding#5, printf_number_buffer::@14/printf_number_buffer::format_zero_padding#6 )
  printf_number_buffer::format_justify_left#1 = phi( printf_number_buffer/printf_number_buffer::format_justify_left#3, printf_number_buffer::@13/printf_number_buffer::format_justify_left#4, printf_number_buffer::@14/printf_number_buffer::format_justify_left#5 )
  printf_number_buffer::$27 = 0 != printf_number_buffer::format_justify_left#1
  printf_number_buffer::$1 = ! printf_number_buffer::$27
  printf_number_buffer::$28 = 0 != printf_number_buffer::format_zero_padding#1
  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#15 = phi( printf_number_buffer/printf_number_buffer::format_upper_case#9 )
  printf_number_buffer::putc#20 = phi( printf_number_buffer/printf_number_buffer::putc#12 )
  printf_number_buffer::format_zero_padding#15 = phi( printf_number_buffer/printf_number_buffer::format_zero_padding#4 )
  printf_number_buffer::format_justify_left#11 = phi( printf_number_buffer/printf_number_buffer::format_justify_left#3 )
  printf_number_buffer::format_min_length#5 = phi( printf_number_buffer/printf_number_buffer::format_min_length#1 )
  printf_number_buffer::buffer_sign#4 = phi( printf_number_buffer/printf_number_buffer::buffer_sign#7 )
  printf_number_buffer::buffer_digits#1 = phi( printf_number_buffer/printf_number_buffer::buffer_digits#4 )
  strlen::str#1 = printf_number_buffer::buffer_digits#1
  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#17 = phi( printf_number_buffer::@6/printf_number_buffer::buffer_digits#1 )
  printf_number_buffer::format_upper_case#13 = phi( printf_number_buffer::@6/printf_number_buffer::format_upper_case#15 )
  printf_number_buffer::putc#18 = phi( printf_number_buffer::@6/printf_number_buffer::putc#20 )
  printf_number_buffer::format_zero_padding#10 = phi( printf_number_buffer::@6/printf_number_buffer::format_zero_padding#15 )
  printf_number_buffer::format_justify_left#7 = phi( printf_number_buffer::@6/printf_number_buffer::format_justify_left#11 )
  printf_number_buffer::format_min_length#3 = phi( printf_number_buffer::@6/printf_number_buffer::format_min_length#5 )
  printf_number_buffer::buffer_sign#1 = phi( printf_number_buffer::@6/printf_number_buffer::buffer_sign#4 )
  strlen::return#5 = phi( printf_number_buffer::@6/strlen::return#2 )
  printf_number_buffer::$19 = strlen::return#5
  printf_number_buffer::len#0 = (signed char)printf_number_buffer::$19
  printf_number_buffer::$29 = 0 != printf_number_buffer::buffer_sign#1
  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#14 = phi( printf_number_buffer::@15/printf_number_buffer::buffer_digits#17, printf_number_buffer::@7/printf_number_buffer::buffer_digits#18 )
  printf_number_buffer::format_upper_case#10 = phi( printf_number_buffer::@15/printf_number_buffer::format_upper_case#13, printf_number_buffer::@7/printf_number_buffer::format_upper_case#14 )
  printf_number_buffer::putc#13 = phi( printf_number_buffer::@15/printf_number_buffer::putc#18, printf_number_buffer::@7/printf_number_buffer::putc#19 )
  printf_number_buffer::buffer_sign#8 = phi( printf_number_buffer::@15/printf_number_buffer::buffer_sign#1, printf_number_buffer::@7/printf_number_buffer::buffer_sign#11 )
  printf_number_buffer::format_zero_padding#5 = phi( printf_number_buffer::@15/printf_number_buffer::format_zero_padding#10, printf_number_buffer::@7/printf_number_buffer::format_zero_padding#11 )
  printf_number_buffer::format_justify_left#4 = phi( printf_number_buffer::@15/printf_number_buffer::format_justify_left#7, printf_number_buffer::@7/printf_number_buffer::format_justify_left#8 )
  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#2 = phi( printf_number_buffer::@15/printf_number_buffer::format_min_length#3, printf_number_buffer::@7/printf_number_buffer::format_min_length#4 )
  printf_number_buffer::$25 = (signed char)printf_number_buffer::format_min_length#2
  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#18 = phi( printf_number_buffer::@15/printf_number_buffer::buffer_digits#17 )
  printf_number_buffer::format_upper_case#14 = phi( printf_number_buffer::@15/printf_number_buffer::format_upper_case#13 )
  printf_number_buffer::putc#19 = phi( printf_number_buffer::@15/printf_number_buffer::putc#18 )
  printf_number_buffer::buffer_sign#11 = phi( printf_number_buffer::@15/printf_number_buffer::buffer_sign#1 )
  printf_number_buffer::format_zero_padding#11 = phi( printf_number_buffer::@15/printf_number_buffer::format_zero_padding#10 )
  printf_number_buffer::format_justify_left#8 = phi( printf_number_buffer::@15/printf_number_buffer::format_justify_left#7 )
  printf_number_buffer::format_min_length#4 = phi( printf_number_buffer::@15/printf_number_buffer::format_min_length#3 )
  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#15 = phi( printf_number_buffer::@13/printf_number_buffer::buffer_digits#14 )
  printf_number_buffer::format_upper_case#11 = phi( printf_number_buffer::@13/printf_number_buffer::format_upper_case#10 )
  printf_number_buffer::putc#14 = phi( printf_number_buffer::@13/printf_number_buffer::putc#13 )
  printf_number_buffer::buffer_sign#9 = phi( printf_number_buffer::@13/printf_number_buffer::buffer_sign#8 )
  printf_number_buffer::format_zero_padding#6 = phi( printf_number_buffer::@13/printf_number_buffer::format_zero_padding#5 )
  printf_number_buffer::format_justify_left#5 = phi( printf_number_buffer::@13/printf_number_buffer::format_justify_left#4 )
  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#15 = phi( printf_number_buffer::@1/printf_number_buffer::format_justify_left#1, printf_number_buffer::@16/printf_number_buffer::format_justify_left#18 )
  printf_number_buffer::buffer_digits#9 = phi( printf_number_buffer::@1/printf_number_buffer::buffer_digits#12, printf_number_buffer::@16/printf_number_buffer::buffer_digits#13 )
  printf_number_buffer::format_upper_case#4 = phi( printf_number_buffer::@1/printf_number_buffer::format_upper_case#7, printf_number_buffer::@16/printf_number_buffer::format_upper_case#8 )
  printf_number_buffer::putc#7 = phi( printf_number_buffer::@1/printf_number_buffer::putc#6, printf_number_buffer::@16/printf_number_buffer::putc#15 )
  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#7 = phi( printf_number_buffer::@1/printf_number_buffer::format_zero_padding#1, printf_number_buffer::@16/printf_number_buffer::format_zero_padding#12 )
  printf_number_buffer::buffer_sign#2 = phi( printf_number_buffer::@1/printf_number_buffer::buffer_sign#5, printf_number_buffer::@16/printf_number_buffer::buffer_sign#6 )
  printf_number_buffer::$30 = 0 != printf_number_buffer::buffer_sign#2
  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#19 = phi( printf_number_buffer::@1/printf_number_buffer::format_justify_left#1 )
  printf_number_buffer::buffer_digits#16 = phi( printf_number_buffer::@1/printf_number_buffer::buffer_digits#12 )
  printf_number_buffer::format_upper_case#12 = phi( printf_number_buffer::@1/printf_number_buffer::format_upper_case#7 )
  printf_number_buffer::format_zero_padding#16 = phi( printf_number_buffer::@1/printf_number_buffer::format_zero_padding#1 )
  printf_number_buffer::buffer_sign#10 = phi( printf_number_buffer::@1/printf_number_buffer::buffer_sign#5 )
  printf_number_buffer::padding#4 = phi( printf_number_buffer::@1/printf_number_buffer::padding#3 )
  printf_number_buffer::putc#1 = phi( printf_number_buffer::@1/printf_number_buffer::putc#6 )
  printf_padding::putc#0 = printf_number_buffer::putc#1
  printf_padding::pad#0 = ' 'at
  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#18 = phi( printf_number_buffer::@8/printf_number_buffer::format_justify_left#19 )
  printf_number_buffer::buffer_digits#13 = phi( printf_number_buffer::@8/printf_number_buffer::buffer_digits#16 )
  printf_number_buffer::format_upper_case#8 = phi( printf_number_buffer::@8/printf_number_buffer::format_upper_case#12 )
  printf_number_buffer::putc#15 = phi( printf_number_buffer::@8/printf_number_buffer::putc#1 )
  printf_number_buffer::padding#12 = phi( printf_number_buffer::@8/printf_number_buffer::padding#4 )
  printf_number_buffer::format_zero_padding#12 = phi( printf_number_buffer::@8/printf_number_buffer::format_zero_padding#16 )
  printf_number_buffer::buffer_sign#6 = phi( printf_number_buffer::@8/printf_number_buffer::buffer_sign#10 )
  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#13 = phi( printf_number_buffer::@2/printf_number_buffer::format_justify_left#15, printf_number_buffer::@9/printf_number_buffer::format_justify_left#16 )
  printf_number_buffer::buffer_digits#8 = phi( printf_number_buffer::@2/printf_number_buffer::buffer_digits#9, printf_number_buffer::@9/printf_number_buffer::buffer_digits#10 )
  printf_number_buffer::putc#8 = phi( printf_number_buffer::@2/printf_number_buffer::putc#7, printf_number_buffer::@9/printf_number_buffer::putc#2 )
  printf_number_buffer::format_upper_case#3 = phi( printf_number_buffer::@2/printf_number_buffer::format_upper_case#4, printf_number_buffer::@9/printf_number_buffer::format_upper_case#5 )
  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#2 = phi( printf_number_buffer::@2/printf_number_buffer::format_zero_padding#7, printf_number_buffer::@9/printf_number_buffer::format_zero_padding#8 )
  printf_number_buffer::$9 = printf_number_buffer::format_zero_padding#2 && 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#16 = phi( printf_number_buffer::@2/printf_number_buffer::format_justify_left#15 )
  printf_number_buffer::buffer_digits#10 = phi( printf_number_buffer::@2/printf_number_buffer::buffer_digits#9 )
  printf_number_buffer::format_upper_case#5 = phi( printf_number_buffer::@2/printf_number_buffer::format_upper_case#4 )
  printf_number_buffer::padding#10 = phi( printf_number_buffer::@2/printf_number_buffer::padding#9 )
  printf_number_buffer::format_zero_padding#8 = phi( printf_number_buffer::@2/printf_number_buffer::format_zero_padding#7 )
  printf_number_buffer::putc#2 = phi( printf_number_buffer::@2/printf_number_buffer::putc#7 )
  printf_number_buffer::buffer_sign#3 = phi( printf_number_buffer::@2/printf_number_buffer::buffer_sign#2 )
  stackpush(char) = printf_number_buffer::buffer_sign#3
  callexecute *printf_number_buffer::putc#2 
  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#10 = phi( printf_number_buffer::@17/printf_number_buffer::format_justify_left#12, printf_number_buffer::@3/printf_number_buffer::format_justify_left#13 )
  printf_number_buffer::format_zero_padding#14 = phi( printf_number_buffer::@17/printf_number_buffer::format_zero_padding#17, printf_number_buffer::@3/printf_number_buffer::format_zero_padding#2 )
  printf_number_buffer::buffer_digits#6 = phi( printf_number_buffer::@17/printf_number_buffer::buffer_digits#7, printf_number_buffer::@3/printf_number_buffer::buffer_digits#8 )
  printf_number_buffer::putc#10 = phi( printf_number_buffer::@17/printf_number_buffer::putc#16, printf_number_buffer::@3/printf_number_buffer::putc#8 )
  printf_number_buffer::format_upper_case#1 = phi( printf_number_buffer::@17/printf_number_buffer::format_upper_case#2, printf_number_buffer::@3/printf_number_buffer::format_upper_case#3 )
  printf_number_buffer::$31 = 0 != printf_number_buffer::format_upper_case#1
  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#17 = phi( printf_number_buffer::@3/printf_number_buffer::format_justify_left#13 )
  printf_number_buffer::format_zero_padding#19 = phi( printf_number_buffer::@3/printf_number_buffer::format_zero_padding#2 )
  printf_number_buffer::buffer_digits#11 = phi( printf_number_buffer::@3/printf_number_buffer::buffer_digits#8 )
  printf_number_buffer::format_upper_case#6 = phi( printf_number_buffer::@3/printf_number_buffer::format_upper_case#3 )
  printf_number_buffer::padding#6 = phi( printf_number_buffer::@3/printf_number_buffer::padding#5 )
  printf_number_buffer::putc#3 = phi( printf_number_buffer::@3/printf_number_buffer::putc#8 )
  printf_padding::putc#1 = printf_number_buffer::putc#3
  printf_padding::pad#1 = '0'at
  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#12 = phi( printf_number_buffer::@10/printf_number_buffer::format_justify_left#17 )
  printf_number_buffer::format_zero_padding#17 = phi( printf_number_buffer::@10/printf_number_buffer::format_zero_padding#19 )
  printf_number_buffer::buffer_digits#7 = phi( printf_number_buffer::@10/printf_number_buffer::buffer_digits#11 )
  printf_number_buffer::putc#16 = phi( printf_number_buffer::@10/printf_number_buffer::putc#3 )
  printf_number_buffer::format_upper_case#2 = phi( printf_number_buffer::@10/printf_number_buffer::format_upper_case#6 )
  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#6 = phi( printf_number_buffer::@19/printf_number_buffer::format_justify_left#9, printf_number_buffer::@4/printf_number_buffer::format_justify_left#10 )
  printf_number_buffer::format_zero_padding#9 = phi( printf_number_buffer::@19/printf_number_buffer::format_zero_padding#13, printf_number_buffer::@4/printf_number_buffer::format_zero_padding#14 )
  printf_number_buffer::buffer_digits#2 = phi( printf_number_buffer::@19/printf_number_buffer::buffer_digits#5, printf_number_buffer::@4/printf_number_buffer::buffer_digits#6 )
  printf_number_buffer::putc#4 = phi( printf_number_buffer::@19/printf_number_buffer::putc#9, printf_number_buffer::@4/printf_number_buffer::putc#10 )
  printf_str::putc#0 = printf_number_buffer::putc#4
  printf_str::s#1 = printf_number_buffer::buffer_digits#2
  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#11 = phi( printf_number_buffer::@5/printf_number_buffer::putc#4 )
  printf_number_buffer::padding#7 = phi( printf_number_buffer::@5/printf_number_buffer::padding#11 )
  printf_number_buffer::format_justify_left#2 = phi( printf_number_buffer::@5/printf_number_buffer::format_justify_left#6 )
  printf_number_buffer::format_zero_padding#3 = phi( printf_number_buffer::@5/printf_number_buffer::format_zero_padding#9 )
  printf_number_buffer::$32 = 0 != printf_number_buffer::format_zero_padding#3
  printf_number_buffer::$14 = ! printf_number_buffer::$32
  printf_number_buffer::$15 = printf_number_buffer::format_justify_left#2 && 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#14 = phi( printf_number_buffer::@4/printf_number_buffer::format_justify_left#10 )
  printf_number_buffer::format_zero_padding#18 = phi( printf_number_buffer::@4/printf_number_buffer::format_zero_padding#14 )
  printf_number_buffer::putc#17 = phi( printf_number_buffer::@4/printf_number_buffer::putc#10 )
  printf_number_buffer::buffer_digits#3 = phi( printf_number_buffer::@4/printf_number_buffer::buffer_digits#6 )
  strupr::str#0 = printf_number_buffer::buffer_digits#3
  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#9 = phi( printf_number_buffer::@11/printf_number_buffer::format_justify_left#14 )
  printf_number_buffer::format_zero_padding#13 = phi( printf_number_buffer::@11/printf_number_buffer::format_zero_padding#18 )
  printf_number_buffer::buffer_digits#5 = phi( printf_number_buffer::@11/printf_number_buffer::buffer_digits#3 )
  printf_number_buffer::putc#9 = phi( printf_number_buffer::@11/printf_number_buffer::putc#17 )
  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#5 = phi( printf_number_buffer::@18/printf_number_buffer::putc#11 )
  printf_padding::putc#2 = printf_number_buffer::putc#5
  printf_padding::pad#2 = ' 'at
  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 printf_string(void (*putc)(char) , char *str , char format_min_length , char format_justify_left)
printf_string: scope:[printf_string]  from main::@12
  printf_string::putc#7 = phi( main::@12/printf_string::putc#0 )
  printf_string::str#3 = phi( main::@12/printf_string::str#0 )
  printf_string::format_justify_left#3 = phi( main::@12/printf_string::format_justify_left#0 )
  printf_string::format_min_length#1 = phi( main::@12/printf_string::format_min_length#0 )
  printf_string::padding#0 = 0
  printf_string::$14 = 0 != printf_string::format_min_length#1
  printf_string::$0 = ! printf_string::$14
  if(printf_string::$0) goto printf_string::@1
  to:printf_string::@3
printf_string::@1: scope:[printf_string]  from printf_string printf_string::@4 printf_string::@7
  printf_string::str#4 = phi( printf_string/printf_string::str#3, printf_string::@4/printf_string::str#6, printf_string::@7/printf_string::str#7 )
  printf_string::putc#4 = phi( printf_string/printf_string::putc#7, printf_string::@4/printf_string::putc#8, printf_string::@7/printf_string::putc#9 )
  printf_string::padding#3 = phi( printf_string/printf_string::padding#0, printf_string::@4/printf_string::padding#2, printf_string::@7/printf_string::padding#1 )
  printf_string::format_justify_left#1 = phi( printf_string/printf_string::format_justify_left#3, printf_string::@4/printf_string::format_justify_left#4, printf_string::@7/printf_string::format_justify_left#5 )
  printf_string::$15 = 0 != printf_string::format_justify_left#1
  printf_string::$1 = ! printf_string::$15
  printf_string::$2 = printf_string::$1 && printf_string::padding#3
  printf_string::$3 = ! printf_string::$2
  if(printf_string::$3) goto printf_string::@2
  to:printf_string::@5
printf_string::@3: scope:[printf_string]  from printf_string
  printf_string::putc#10 = phi( printf_string/printf_string::putc#7 )
  printf_string::format_justify_left#7 = phi( printf_string/printf_string::format_justify_left#3 )
  printf_string::format_min_length#3 = phi( printf_string/printf_string::format_min_length#1 )
  printf_string::str#1 = phi( printf_string/printf_string::str#3 )
  strlen::str#2 = printf_string::str#1
  call strlen
  strlen::return#3 = strlen::return#1
  to:printf_string::@7
printf_string::@7: scope:[printf_string]  from printf_string::@3
  printf_string::str#7 = phi( printf_string::@3/printf_string::str#1 )
  printf_string::putc#9 = phi( printf_string::@3/printf_string::putc#10 )
  printf_string::format_justify_left#5 = phi( printf_string::@3/printf_string::format_justify_left#7 )
  printf_string::format_min_length#2 = phi( printf_string::@3/printf_string::format_min_length#3 )
  strlen::return#6 = phi( printf_string::@3/strlen::return#3 )
  printf_string::$9 = strlen::return#6
  printf_string::len#0 = (signed char)printf_string::$9
  printf_string::$13 = (signed char)printf_string::format_min_length#2
  printf_string::$10 = printf_string::$13 - printf_string::len#0
  printf_string::padding#1 = printf_string::$10
  printf_string::$11 = printf_string::padding#1 < 0
  printf_string::$12 = ! printf_string::$11
  if(printf_string::$12) goto printf_string::@1
  to:printf_string::@4
printf_string::@4: scope:[printf_string]  from printf_string::@7
  printf_string::str#6 = phi( printf_string::@7/printf_string::str#7 )
  printf_string::putc#8 = phi( printf_string::@7/printf_string::putc#9 )
  printf_string::format_justify_left#4 = phi( printf_string::@7/printf_string::format_justify_left#5 )
  printf_string::padding#2 = 0
  to:printf_string::@1
printf_string::@2: scope:[printf_string]  from printf_string::@1 printf_string::@9
  printf_string::padding#7 = phi( printf_string::@1/printf_string::padding#3, printf_string::@9/printf_string::padding#8 )
  printf_string::format_justify_left#6 = phi( printf_string::@1/printf_string::format_justify_left#1, printf_string::@9/printf_string::format_justify_left#8 )
  printf_string::str#2 = phi( printf_string::@1/printf_string::str#4, printf_string::@9/printf_string::str#5 )
  printf_string::putc#1 = phi( printf_string::@1/printf_string::putc#4, printf_string::@9/printf_string::putc#5 )
  printf_str::putc#1 = printf_string::putc#1
  printf_str::s#2 = printf_string::str#2
  call printf_str
  to:printf_string::@8
printf_string::@8: scope:[printf_string]  from printf_string::@2
  printf_string::putc#6 = phi( printf_string::@2/printf_string::putc#1 )
  printf_string::padding#4 = phi( printf_string::@2/printf_string::padding#7 )
  printf_string::format_justify_left#2 = phi( printf_string::@2/printf_string::format_justify_left#6 )
  printf_string::$6 = printf_string::format_justify_left#2 && printf_string::padding#4
  printf_string::$7 = ! printf_string::$6
  if(printf_string::$7) goto printf_string::@return
  to:printf_string::@6
printf_string::@5: scope:[printf_string]  from printf_string::@1
  printf_string::format_justify_left#9 = phi( printf_string::@1/printf_string::format_justify_left#1 )
  printf_string::str#8 = phi( printf_string::@1/printf_string::str#4 )
  printf_string::padding#5 = phi( printf_string::@1/printf_string::padding#3 )
  printf_string::putc#2 = phi( printf_string::@1/printf_string::putc#4 )
  printf_padding::putc#3 = printf_string::putc#2
  printf_padding::pad#3 = ' 'at
  printf_padding::length#3 = (char)printf_string::padding#5
  call printf_padding
  to:printf_string::@9
printf_string::@9: scope:[printf_string]  from printf_string::@5
  printf_string::padding#8 = phi( printf_string::@5/printf_string::padding#5 )
  printf_string::format_justify_left#8 = phi( printf_string::@5/printf_string::format_justify_left#9 )
  printf_string::str#5 = phi( printf_string::@5/printf_string::str#8 )
  printf_string::putc#5 = phi( printf_string::@5/printf_string::putc#2 )
  to:printf_string::@2
printf_string::@6: scope:[printf_string]  from printf_string::@8
  printf_string::padding#6 = phi( printf_string::@8/printf_string::padding#4 )
  printf_string::putc#3 = phi( printf_string::@8/printf_string::putc#6 )
  printf_padding::putc#4 = printf_string::putc#3
  printf_padding::pad#4 = ' 'at
  printf_padding::length#4 = (char)printf_string::padding#6
  call printf_padding
  to:printf_string::@10
printf_string::@10: scope:[printf_string]  from printf_string::@6
  to:printf_string::@return
printf_string::@return: scope:[printf_string]  from printf_string::@10 printf_string::@8
  return 
  to:@return

void main()
main: scope:[main]  from __start::@1
  cursor::onoff#0 = 0
  call cursor
  cursor::return#2 = cursor::return#1
  to:main::@5
main::@5: scope:[main]  from main
  bgcolor::color#0 = DARK_ORANGE
  call bgcolor
  bgcolor::return#2 = bgcolor::return#1
  to:main::@6
main::@6: scope:[main]  from main::@5
  bordercolor::color#0 = MEDIUM_BLUE
  call bordercolor
  bordercolor::return#2 = bordercolor::return#1
  to:main::@7
main::@7: scope:[main]  from main::@6
  textcolor::color#0 = WHITE
  call textcolor
  textcolor::return#2 = textcolor::return#1
  to:main::@8
main::@8: scope:[main]  from main::@7
  cputsxy::x#0 = 0
  cputsxy::y#0 = 1
  cputsxy::s#0 = main::s
  call cputsxy
  to:main::@9
main::@9: scope:[main]  from main::@8
  gotoxy::x#3 = 0
  gotoxy::y#3 = 3
  call gotoxy
  to:main::@10
main::@10: scope:[main]  from main::@9
  revers::onoff#0 = 1
  call revers
  revers::return#2 = revers::return#1
  to:main::@11
main::@11: scope:[main]  from main::@10
  printf_str::putc#2 = &cputc
  printf_str::s#3 = main::s1
  call printf_str
  to:main::@12
main::@12: scope:[main]  from main::@11
  printf_string::putc#0 = &cputc
  printf_string::str#0 = main::name
  printf_string::format_min_length#0 = 0
  printf_string::format_justify_left#0 = 0
  call printf_string
  to:main::@13
main::@13: scope:[main]  from main::@12
  printf_str::putc#3 = &cputc
  printf_str::s#4 = main::s2
  call printf_str
  to:main::@14
main::@14: scope:[main]  from main::@13
  call waitkey
  to:main::@15
main::@15: scope:[main]  from main::@14
  call clrscr
  to:main::@16
main::@16: scope:[main]  from main::@15
  revers::onoff#1 = 0
  call revers
  revers::return#3 = revers::return#1
  to:main::@17
main::@17: scope:[main]  from main::@16
  main::i#0 = 0
  to:main::@1
main::@1: scope:[main]  from main::@17 main::@20
  main::i#4 = phi( main::@17/main::i#0, main::@20/main::i#1 )
  printf_str::putc#4 = &cputc
  printf_str::s#5 = main::s3
  call printf_str
  to:main::@18
main::@18: scope:[main]  from main::@1
  main::i#2 = phi( main::@1/main::i#4 )
  printf_sint::putc#0 = &cputc
  printf_sint::value#1 = main::i#2
  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::@19
main::@19: scope:[main]  from main::@18
  main::i#5 = phi( main::@18/main::i#2 )
  printf_str::putc#5 = &cputc
  printf_str::s#6 = main::s4
  call printf_str
  to:main::@20
main::@20: scope:[main]  from main::@19
  main::i#3 = phi( main::@19/main::i#5 )
  main::i#1 = main::i#3 + rangenext(0,$32)
  main::$15 = main::i#1 != rangelast(0,$32)
  if(main::$15) goto main::@1
  to:main::@2
main::@2: scope:[main]  from main::@20
  call waitkey
  to:main::@21
main::@21: scope:[main]  from main::@2
  scroll::onoff#0 = 0
  call scroll
  scroll::return#2 = scroll::return#1
  to:main::@22
main::@22: scope:[main]  from main::@21
  main::i1#0 = $33
  to:main::@3
main::@3: scope:[main]  from main::@22 main::@25
  main::i1#4 = phi( main::@22/main::i1#0, main::@25/main::i1#1 )
  printf_str::putc#6 = &cputc
  printf_str::s#7 = main::s5
  call printf_str
  to:main::@23
main::@23: scope:[main]  from main::@3
  main::i1#2 = phi( main::@3/main::i1#4 )
  printf_sint::putc#1 = &cputc
  printf_sint::value#2 = main::i1#2
  printf_sint::format_min_length#1 = 0
  printf_sint::format_justify_left#1 = 0
  printf_sint::format_sign_always#1 = 0
  printf_sint::format_zero_padding#1 = 0
  printf_sint::format_upper_case#1 = 0
  printf_sint::format_radix#1 = DECIMAL
  call printf_sint
  to:main::@24
main::@24: scope:[main]  from main::@23
  main::i1#5 = phi( main::@23/main::i1#2 )
  printf_str::putc#7 = &cputc
  printf_str::s#8 = main::s6
  call printf_str
  to:main::@25
main::@25: scope:[main]  from main::@24
  main::i1#3 = phi( main::@24/main::i1#5 )
  main::i1#1 = main::i1#3 + rangenext($33,$c8)
  main::$17 = main::i1#1 != rangelast($33,$c8)
  if(main::$17) goto main::@3
  to:main::@4
main::@4: scope:[main]  from main::@25
  call waitkey
  to:main::@26
main::@26: scope:[main]  from main::@4
  to:main::@return
main::@return: scope:[main]  from main::@26
  return 
  to:@return

void waitkey()
waitkey: scope:[waitkey]  from main::@14 main::@2 main::@4
  to:waitkey::@1
waitkey::@1: scope:[waitkey]  from waitkey waitkey::@2
  call kbhit
  kbhit::return#3 = kbhit::return#2
  to:waitkey::@2
waitkey::@2: scope:[waitkey]  from waitkey::@1
  kbhit::return#5 = phi( waitkey::@1/kbhit::return#3 )
  waitkey::$1 = kbhit::return#5
  waitkey::$3 = 0 != waitkey::$1
  waitkey::$2 = ! waitkey::$3
  if(waitkey::$2) goto waitkey::@1
  to:waitkey::clrkb1
waitkey::clrkb1: scope:[waitkey]  from waitkey::@2
  *CH = $ff
  to:waitkey::@return
waitkey::@return: scope:[waitkey]  from waitkey::clrkb1
  return 
  to:@return

void __start()
__start: scope:[__start]  from
  to:__start::__init1
__start::__init1: scope:[__start]  from __start
  conio_reverse_value = 0
  conio_display_cursor = 1
  conio_scroll_enable = 1
  to:__start::@1
__start::@1: scope:[__start]  from __start::__init1
  call main
  to:__start::@2
__start::@2: scope:[__start]  from __start::@1
  to:__start::@return
__start::@return: scope:[__start]  from __start::@2
  return 
  to:@return

SYMBOL TABLE SSA
__constant char BINARY = 2
__constant char * const CH = (char *)$2fc
__constant unsigned int *COLCRS = (unsigned int *)$55
__constant char * const COLOR1 = (char *)$2c5
__constant char * const COLOR2 = (char *)$2c6
__constant char * const COLOR4 = (char *)$2c8
__constant char * const CRSINH = (char *)$2f0
__constant const char DARK_ORANGE = $30
__constant char DECIMAL = $a
__constant char DIGITS[] = "0123456789abcdef"atz
__constant char HEXADECIMAL = $10
__constant const char MEDIUM_BLUE = $80
__constant char OCTAL = 8
__constant char OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS = 1
__constant char OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN = 0
__constant char ** const OLDADR = (char **)$5e
__constant char * const OLDCHR = (char *)$5d
__constant char RADIX::BINARY = 2
__constant char RADIX::DECIMAL = $a
__constant char RADIX::HEXADECIMAL = $10
__constant char RADIX::OCTAL = 8
__constant unsigned int RADIX_BINARY_VALUES[] = { $8000, $4000, $2000, $1000, $800, $400, $200, $100, $80, $40, $20, $10, 8, 4, 2 }
__constant unsigned int RADIX_DECIMAL_VALUES[] = { $2710, $3e8, $64, $a }
__constant unsigned int RADIX_HEXADECIMAL_VALUES[] = { $1000, $100, $10 }
__constant unsigned int RADIX_OCTAL_VALUES[] = { $8000, $1000, $200, $40, 8 }
__constant char *ROWCRS = (char *)$54
__constant char ** const SAVMSC = (char **)$58
__constant char SIZEOF_UNSIGNED_INT = 2
__constant unsigned int STACK_BASE = $103
__constant const char WHITE = $fe
void __start()
char bgcolor(char color)
char bgcolor::color
char bgcolor::color#0
char bgcolor::color#1
char bgcolor::old
char bgcolor::old#0
char bgcolor::return
char bgcolor::return#0
char bgcolor::return#1
char bgcolor::return#2
char bgcolor::return#3
char bordercolor(char color)
char bordercolor::color
char bordercolor::color#0
char bordercolor::color#1
char bordercolor::old
char bordercolor::old#0
char bordercolor::return
char bordercolor::return#0
char bordercolor::return#1
char bordercolor::return#2
char bordercolor::return#3
void clrscr()
__loadstore char conio_display_cursor
__loadstore char conio_reverse_value
__loadstore char conio_scroll_enable
__stackcall void cputc(volatile char c)
bool cputc::$0
bool cputc::$1
bool cputc::$2
bool cputc::$3
char cputc::$4
bool cputc::$7
__constant char cputc::OFFSET_STACK_C = 0
__loadstore volatile char cputc::c
char cputc::convertToScreenCode1_return
char cputc::convertToScreenCode1_return#0
char cputc::convertToScreenCode1_return#1
char cputc::convertToScreenCode1_return#2
char cputc::convertToScreenCode1_return#3
char *cputc::convertToScreenCode1_v
char *cputc::convertToScreenCode1_v#0
char *cputc::convertToScreenCode1_v#1
void cputs(const char *s)
char cputs::$0
bool cputs::$2
char cputs::c
char cputs::c#0
char cputs::c#1
char cputs::c#2
const char *cputs::s
const char *cputs::s#0
const char *cputs::s#1
const char *cputs::s#2
const char *cputs::s#3
const char *cputs::s#4
void cputsxy(char x , char y , const char *s)
const char *cputsxy::s
const char *cputsxy::s#0
const char *cputsxy::s#1
const char *cputsxy::s#2
char cputsxy::x
char cputsxy::x#0
char cputsxy::x#1
char cputsxy::y
char cputsxy::y#0
char cputsxy::y#1
char cursor(char onoff)
char cursor::oldValue
char cursor::oldValue#0
char cursor::onoff
char cursor::onoff#0
char cursor::onoff#1
char cursor::return
char cursor::return#0
char cursor::return#1
char cursor::return#2
char cursor::return#3
char * cursorLocation()
number cursorLocation::$0
char *cursorLocation::$1
char *cursorLocation::$2
unsigned int cursorLocation::$3
char *cursorLocation::return
char *cursorLocation::return#0
char *cursorLocation::return#1
char *cursorLocation::return#2
char *cursorLocation::return#3
char *cursorLocation::return#4
char *cursorLocation::return#5
char *cursorLocation::return#6
void gotoxy(char x , char y)
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::y
char gotoxy::y#0
char gotoxy::y#1
char gotoxy::y#2
char gotoxy::y#3
char gotoxy::y#4
char kbhit()
bool kbhit::$0
char kbhit::return
char kbhit::return#0
char kbhit::return#1
char kbhit::return#2
char kbhit::return#3
char kbhit::return#4
char kbhit::return#5
void main()
bool main::$15
bool main::$17
int main::i
int main::i#0
int main::i#1
int main::i#2
int main::i#3
int main::i#4
int main::i#5
int main::i1
int main::i1#0
int main::i1#1
int main::i1#2
int main::i1#3
int main::i1#4
int main::i1#5
__constant char *main::name = "Mark"at
__constant char main::s[$f] = "Hello, World!
"at
__constant char main::s1[8] = "Hello, "at
__constant char main::s2[$11] = " - press a key!
"at
__constant char main::s3[$15] = "Scrolling lines ... "at
__constant char main::s4[2] = "
"at
__constant char main::s5[$19] = "Some wrapping lines ... "at
__constant char main::s6[2] = "
"at
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
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
void *memcpy::return
void *memcpy::return#0
void *memcpy::return#1
void *memcpy::return#2
void *memcpy::return#3
void *memcpy::source
void *memcpy::source#0
void *memcpy::source#1
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
void newline()
bool newline::$0
bool newline::$1
bool newline::$3
bool newline::$5
bool newline::$6
char *newline::$7
char *newline::$9
char *newline::start
char *newline::start#0
char *newline::start#1
__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#2
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#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#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#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_radix
char printf_number_buffer::format_radix#0
char printf_number_buffer::format_sign_always
char printf_number_buffer::format_sign_always#0
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#2
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#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#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::length#7
char printf_padding::length#8
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
char printf_padding::pad#7
char printf_padding::pad#8
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_padding::putc#7)(char)
void (*printf_padding::putc#8)(char)
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_justify_left#7
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_min_length#7
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_radix#7
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_sign_always#7
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_upper_case#7
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
char printf_sint::format_zero_padding#7
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)
void (*printf_sint::putc#7)(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
int printf_sint::value#7
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#2)(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#2
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_string(void (*putc)(char) , char *str , char format_min_length , char format_justify_left)
bool printf_string::$0
bool printf_string::$1
signed char printf_string::$10
bool printf_string::$11
bool printf_string::$12
signed char printf_string::$13
bool printf_string::$14
bool printf_string::$15
bool printf_string::$2
bool printf_string::$3
bool printf_string::$6
bool printf_string::$7
unsigned int printf_string::$9
struct printf_format_string printf_string::format
char printf_string::format_justify_left
char printf_string::format_justify_left#0
char printf_string::format_justify_left#1
char printf_string::format_justify_left#2
char printf_string::format_justify_left#3
char printf_string::format_justify_left#4
char printf_string::format_justify_left#5
char printf_string::format_justify_left#6
char printf_string::format_justify_left#7
char printf_string::format_justify_left#8
char printf_string::format_justify_left#9
char printf_string::format_min_length
char printf_string::format_min_length#0
char printf_string::format_min_length#1
char printf_string::format_min_length#2
char printf_string::format_min_length#3
signed char printf_string::len
signed char printf_string::len#0
signed char printf_string::padding
signed char printf_string::padding#0
signed char printf_string::padding#1
signed char printf_string::padding#2
signed char printf_string::padding#3
signed char printf_string::padding#4
signed char printf_string::padding#5
signed char printf_string::padding#6
signed char printf_string::padding#7
signed char printf_string::padding#8
void (*printf_string::putc)(char)
void (*printf_string::putc#0)(char)
void (*printf_string::putc#1)(char)
void (*printf_string::putc#10)(char)
void (*printf_string::putc#2)(char)
void (*printf_string::putc#3)(char)
void (*printf_string::putc#4)(char)
void (*printf_string::putc#5)(char)
void (*printf_string::putc#6)(char)
void (*printf_string::putc#7)(char)
void (*printf_string::putc#8)(char)
void (*printf_string::putc#9)(char)
char *printf_string::str
char *printf_string::str#0
char *printf_string::str#1
char *printf_string::str#2
char *printf_string::str#3
char *printf_string::str#4
char *printf_string::str#5
char *printf_string::str#6
char *printf_string::str#7
char *printf_string::str#8
void putchar(char code)
char putchar::code
char putchar::code#0
char putchar::code#1
char putchar::code#2
char *putchar::loc
char *putchar::loc#0
char putchar::newChar
char putchar::newChar#0
__constant char rawmap[$100] = kickasm {{ .var ht = Hashtable().put(0,64, 1,0, 2,32, 3,96) // the table for converting bit 6,7 into ora value
	.for(var i=0; i<256; i++) {
		.var idx = (i & $60) / 32
		.var mask = i & $9f
		.byte mask | ht.get(idx)
	}
 }}
char revers(char onoff)
bool revers::$0
char revers::old
char revers::old#0
char revers::old#1
char revers::old#2
char revers::old#3
char revers::onoff
char revers::onoff#0
char revers::onoff#1
char revers::onoff#2
char revers::return
char revers::return#0
char revers::return#1
char revers::return#2
char revers::return#3
char revers::return#4
char scroll(char onoff)
char scroll::old
char scroll::old#0
char scroll::onoff
char scroll::onoff#0
char scroll::onoff#1
char scroll::return
char scroll::return#0
char scroll::return#1
char scroll::return#2
char scroll::return#3
void setcursor()
bool setcursor::$1
number setcursor::$2
char setcursor::c
char setcursor::c#0
char setcursor::c#1
char setcursor::c#2
char setcursor::c#3
char setcursor::c#4
char *setcursor::loc
char *setcursor::loc#0
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
unsigned int strlen::return#5
unsigned int strlen::return#6
char *strlen::str
char *strlen::str#0
char *strlen::str#1
char *strlen::str#2
char *strlen::str#3
char *strlen::str#4
char *strlen::str#5
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 textcolor(char color)
char textcolor::color
char textcolor::color#0
char textcolor::color#1
char textcolor::old
char textcolor::old#0
char textcolor::return
char textcolor::return#0
char textcolor::return#1
char textcolor::return#2
char textcolor::return#3
char 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 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#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::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#2
unsigned int utoa::value#3
unsigned int utoa::value#4
unsigned int utoa::value#5
unsigned int utoa::value#6
unsigned int utoa::value#7
unsigned int utoa::value#8
unsigned int utoa::value#9
unsigned int utoa_append(char *buffer , unsigned int value , unsigned int sub)
bool utoa_append::$0
char *utoa_append::buffer
char *utoa_append::buffer#0
char *utoa_append::buffer#1
char *utoa_append::buffer#2
char *utoa_append::buffer#3
char *utoa_append::buffer#4
char utoa_append::digit
char utoa_append::digit#0
char utoa_append::digit#1
char utoa_append::digit#2
char utoa_append::digit#3
char utoa_append::digit#4
unsigned int utoa_append::return
unsigned int utoa_append::return#0
unsigned int utoa_append::return#1
unsigned int utoa_append::return#2
unsigned int utoa_append::return#3
unsigned int utoa_append::return#4
unsigned int utoa_append::sub
unsigned int utoa_append::sub#0
unsigned int utoa_append::sub#1
unsigned int utoa_append::sub#2
unsigned int utoa_append::sub#3
unsigned int utoa_append::value
unsigned int utoa_append::value#0
unsigned int utoa_append::value#1
unsigned int utoa_append::value#2
unsigned int utoa_append::value#3
unsigned int utoa_append::value#4
unsigned int utoa_append::value#5
void waitkey()
char waitkey::$1
bool waitkey::$2
bool waitkey::$3

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#3
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) 0 in memset::c#0 = 0
Adding number conversion cast (unumber) $28*$18 in memset::num#0 = $28*$18
Adding number conversion cast (unumber) 0 in *OLDCHR = 0
Adding number conversion cast (unumber) 0 in gotoxy::x#0 = 0
Adding number conversion cast (unumber) 0 in gotoxy::y#0 = 0
Adding number conversion cast (unumber) 0 in *COLCRS = 0
Adding number conversion cast (unumber) $9b in cputc::$2 = cputc::c == $9b
Adding number conversion cast (unumber) 0 in *COLCRS = 0
Adding number conversion cast (unumber) $28 in cputc::$7 = *COLCRS == $28
Adding number conversion cast (unumber) 0 in *COLCRS = 0
Adding number conversion cast (unumber) 0 in cputs::$2 = 0 != cputs::$0
Adding number conversion cast (unumber) $ff in kbhit::$0 = *CH == $ff
Adding number conversion cast (unumber) 0 in kbhit::return#0 = 0
Adding number conversion cast (unumber) 1 in kbhit::return#1 = 1
Adding number conversion cast (unumber) $28 in cursorLocation::$0 = cursorLocation::$3 * $28
Adding number conversion cast (unumber) cursorLocation::$0 in cursorLocation::$0 = cursorLocation::$3 * (unumber)$28
Adding number conversion cast (unumber) $18 in newline::$0 = *ROWCRS == $18
Adding number conversion cast (unumber) 1 in newline::$3 = conio_scroll_enable == 1
Adding number conversion cast (unumber) 1 in newline::$5 = conio_display_cursor == 1
Adding number conversion cast (unumber) 0 in gotoxy::x#2 = 0
Adding number conversion cast (unumber) 0 in gotoxy::y#2 = 0
Adding number conversion cast (unumber) $28 in newline::$7 = newline::start#0 + $28
Adding number conversion cast (unumber) $28*$17 in memcpy::num#0 = $28*$17
Adding number conversion cast (unumber) $28*$17 in newline::$9 = newline::start#1 + $28*$17
Adding number conversion cast (unumber) 0 in memset::c#1 = 0
Adding number conversion cast (unumber) $28 in memset::num#1 = $28
Adding number conversion cast (unumber) $18-1 in *ROWCRS = $18-1
Adding number conversion cast (unumber) $80 in *(*OLDADR) = *(*OLDADR) ^ $80
Adding number conversion cast (unumber) 0 in setcursor::$1 = conio_display_cursor == 0
Adding number conversion cast (unumber) 1 in *CRSINH = 1
Adding number conversion cast (unumber) 0 in *CRSINH = 0
Adding number conversion cast (unumber) $80 in setcursor::$2 = setcursor::c#2 ^ $80
Adding number conversion cast (unumber) setcursor::$2 in setcursor::$2 = setcursor::c#2 ^ (unumber)$80
Adding number conversion cast (unumber) 0 in revers::$0 = revers::onoff#2 == 0
Adding number conversion cast (unumber) 0 in conio_reverse_value = 0
Adding number conversion cast (unumber) $80 in conio_reverse_value = $80
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_sint::$0 = printf_sint::value#3 < 0
Adding number conversion cast (unumber) 0 in printf_sint::$5 = 0 != printf_sint::format_sign_always#2
Adding number conversion cast (unumber) 0 in printf_number_buffer::$26 = 0 != printf_number_buffer::format_min_length#1
Adding number conversion cast (unumber) 0 in printf_number_buffer::$27 = 0 != printf_number_buffer::format_justify_left#1
Adding number conversion cast (unumber) 0 in printf_number_buffer::$28 = 0 != printf_number_buffer::format_zero_padding#1
Adding number conversion cast (unumber) 0 in printf_number_buffer::$29 = 0 != printf_number_buffer::buffer_sign#1
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#2
Adding number conversion cast (unumber) 0 in printf_number_buffer::$31 = 0 != printf_number_buffer::format_upper_case#1
Adding number conversion cast (unumber) 0 in printf_number_buffer::$32 = 0 != printf_number_buffer::format_zero_padding#3
Adding number conversion cast (unumber) 0 in printf_string::$14 = 0 != printf_string::format_min_length#1
Adding number conversion cast (unumber) 0 in printf_string::$15 = 0 != printf_string::format_justify_left#1
Adding number conversion cast (snumber) 0 in printf_string::$11 = printf_string::padding#1 < 0
Adding number conversion cast (snumber) 0 in printf_string::padding#2 = 0
Adding number conversion cast (unumber) 0 in cursor::onoff#0 = 0
Adding number conversion cast (unumber) 0 in cputsxy::x#0 = 0
Adding number conversion cast (unumber) 1 in cputsxy::y#0 = 1
Adding number conversion cast (unumber) 0 in gotoxy::x#3 = 0
Adding number conversion cast (unumber) 3 in gotoxy::y#3 = 3
Adding number conversion cast (unumber) 1 in revers::onoff#0 = 1
Adding number conversion cast (unumber) 0 in revers::onoff#1 = 0
Adding number conversion cast (unumber) 0 in scroll::onoff#0 = 0
Adding number conversion cast (unumber) 0 in waitkey::$3 = 0 != waitkey::$1
Adding number conversion cast (unumber) $ff in *CH = $ff
Successful SSA optimization PassNAddNumberTypeConversions
Inlining cast memcpy::src#0 = (char *)memcpy::source#1
Inlining cast memcpy::dst#0 = (char *)memcpy::destination#1
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 memset::c#0 = (unumber)0
Inlining cast memset::num#0 = (unumber)$28*$18
Inlining cast *OLDCHR = (unumber)0
Inlining cast gotoxy::x#0 = (unumber)0
Inlining cast gotoxy::y#0 = (unumber)0
Inlining cast *COLCRS = (unumber)0
Inlining cast *COLCRS = (unumber)0
Inlining cast *COLCRS = (unumber)0
Inlining cast kbhit::return#0 = (unumber)0
Inlining cast kbhit::return#1 = (unumber)1
Inlining cast gotoxy::x#2 = (unumber)0
Inlining cast gotoxy::y#2 = (unumber)0
Inlining cast memcpy::num#0 = (unumber)$28*$17
Inlining cast memset::c#1 = (unumber)0
Inlining cast memset::num#1 = (unumber)$28
Inlining cast *ROWCRS = (unumber)$18-1
Inlining cast *CRSINH = (unumber)1
Inlining cast *CRSINH = (unumber)0
Inlining cast conio_reverse_value = (unumber)0
Inlining cast conio_reverse_value = (unumber)$80
Inlining cast *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = (unumber)0
Inlining cast printf_number_buffer::padding#2 = (snumber)0
Inlining cast printf_string::padding#2 = (snumber)0
Inlining cast cursor::onoff#0 = (unumber)0
Inlining cast cputsxy::x#0 = (unumber)0
Inlining cast cputsxy::y#0 = (unumber)1
Inlining cast gotoxy::x#3 = (unumber)0
Inlining cast gotoxy::y#3 = (unumber)3
Inlining cast revers::onoff#0 = (unumber)1
Inlining cast revers::onoff#1 = (unumber)0
Inlining cast scroll::onoff#0 = (unumber)0
Inlining cast *CH = (unumber)$ff
Successful SSA optimization Pass2InlineCast
Simplifying constant pointer cast (char **) 88
Simplifying constant pointer cast (char *) 93
Simplifying constant pointer cast (char **) 94
Simplifying constant pointer cast (char *) 709
Simplifying constant pointer cast (char *) 710
Simplifying constant pointer cast (char *) 712
Simplifying constant pointer cast (char *) 752
Simplifying constant pointer cast (char *) 764
Simplifying constant pointer cast (char *) 84
Simplifying constant pointer cast (unsigned int *) 85
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 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 $9b
Simplifying constant integer cast 0
Simplifying constant integer cast $28
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast $ff
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast $28
Simplifying constant integer cast $18
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast $28
Simplifying constant integer cast 0
Simplifying constant integer cast $28
Simplifying constant integer cast $80
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast $80
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast $80
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 1
Simplifying constant integer cast 0
Simplifying constant integer cast 3
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast $ff
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) 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) $9b
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $ff
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $18
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $80
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $80
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $80
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 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
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) 1
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 3
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $ff
Successful SSA optimization PassNFinalizeNumberTypeConversions
Inferred type updated to char in utoa::$4 = utoa::max_digits#5 - 1
Inferred type updated to unsigned int in cursorLocation::$0 = cursorLocation::$3 * $28
Inferred type updated to char in setcursor::$2 = setcursor::c#2 ^ $80
Inversing boolean not [19] memset::$1 = memset::num#2 <= 0 from [18] memset::$0 = memset::num#2 > 0
Inversing boolean not [287] newline::$1 = *ROWCRS != $18 from [285] newline::$0 = *ROWCRS == $18
Inversing boolean not [293] newline::$6 = conio_display_cursor != 1 from [292] newline::$5 = conio_display_cursor == 1
Inversing boolean not [382] printf_sint::$3 = 0 == printf_sint::format_sign_always#2 from [381] printf_sint::$5 = 0 != printf_sint::format_sign_always#2
Inversing boolean not [407] printf_number_buffer::$0 = 0 == printf_number_buffer::format_min_length#1 from [406] printf_number_buffer::$26 = 0 != printf_number_buffer::format_min_length#1
Inversing boolean not [411] printf_number_buffer::$1 = 0 == printf_number_buffer::format_justify_left#1 from [410] printf_number_buffer::$27 = 0 != printf_number_buffer::format_justify_left#1
Inversing boolean not [413] printf_number_buffer::$2 = 0 == printf_number_buffer::format_zero_padding#1 from [412] printf_number_buffer::$28 = 0 != printf_number_buffer::format_zero_padding#1
Inversing boolean not [426] printf_number_buffer::$20 = 0 == printf_number_buffer::buffer_sign#1 from [425] printf_number_buffer::$29 = 0 != printf_number_buffer::buffer_sign#1
Inversing boolean not [433] printf_number_buffer::$23 = printf_number_buffer::padding#1 >= 0 from [432] printf_number_buffer::$22 = printf_number_buffer::padding#1 < 0
Inversing boolean not [441] printf_number_buffer::$7 = 0 == printf_number_buffer::buffer_sign#2 from [440] printf_number_buffer::$30 = 0 != printf_number_buffer::buffer_sign#2
Inversing boolean not [459] printf_number_buffer::$12 = 0 == printf_number_buffer::format_upper_case#1 from [458] printf_number_buffer::$31 = 0 != printf_number_buffer::format_upper_case#1
Inversing boolean not [473] printf_number_buffer::$14 = 0 == printf_number_buffer::format_zero_padding#3 from [472] printf_number_buffer::$32 = 0 != printf_number_buffer::format_zero_padding#3
Inversing boolean not [492] printf_string::$0 = 0 == printf_string::format_min_length#1 from [491] printf_string::$14 = 0 != printf_string::format_min_length#1
Inversing boolean not [496] printf_string::$1 = 0 == printf_string::format_justify_left#1 from [495] printf_string::$15 = 0 != printf_string::format_justify_left#1
Inversing boolean not [511] printf_string::$12 = printf_string::padding#1 >= 0 from [510] printf_string::$11 = printf_string::padding#1 < 0
Inversing boolean not [630] waitkey::$2 = 0 == waitkey::$1 from [629] waitkey::$3 = 0 != waitkey::$1
Successful SSA optimization Pass2UnaryNotSimplification
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#2 = memcpy::destination#4 memcpy::destination#3 memcpy::return#0 memcpy::return#3 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#4 strlen::return#1 
Alias strlen::str#3 = strlen::str#4 
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#8 utoa::value#12 utoa::value#13 utoa::value#9 utoa::value#14 utoa::value#15 utoa::value#11 
Alias utoa::buffer#10 = utoa::buffer#17 utoa::buffer#21 utoa::buffer#16 utoa::buffer#18 utoa::buffer#13 utoa::buffer#19 utoa::buffer#20 utoa::buffer#6 
Alias utoa::radix#1 = utoa::radix#2 utoa::radix#3 utoa::radix#4 
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#2 = utoa::value#5 utoa::value#3 utoa::value#4 
Alias utoa::started#2 = utoa::started#3 
Alias utoa::buffer#11 = utoa::buffer#12 utoa::buffer#7 utoa::buffer#8 utoa::buffer#9 
Alias utoa::max_digits#10 = utoa::max_digits#8 utoa::max_digits#5 utoa::max_digits#9 
Alias utoa::digit_value#0 = utoa::digit_value#1 
Alias utoa_append::return#0 = utoa_append::return#3 
Alias utoa::value#0 = utoa::$9 
Alias utoa_append::digit#2 = utoa_append::digit#4 utoa_append::digit#3 
Alias utoa_append::value#2 = utoa_append::value#3 utoa_append::value#4 utoa_append::return#1 utoa_append::return#4 utoa_append::return#2 
Alias utoa_append::sub#1 = utoa_append::sub#2 
Alias utoa_append::buffer#1 = utoa_append::buffer#4 utoa_append::buffer#2 
Alias cputc::convertToScreenCode1_v#0 = cputc::convertToScreenCode1_v#1 
Alias cputc::convertToScreenCode1_return#0 = cputc::convertToScreenCode1_return#2 cputc::convertToScreenCode1_return#1 cputc::convertToScreenCode1_return#3 cputc::$4 putchar::code#0 
Alias cputs::c#1 = cputs::$0 cputs::c#2 
Alias cputs::s#0 = cputs::s#4 
Alias cputsxy::s#1 = cputsxy::s#2 
Alias textcolor::return#0 = textcolor::old#0 textcolor::return#3 textcolor::return#1 
Alias bgcolor::return#0 = bgcolor::old#0 bgcolor::return#3 bgcolor::return#1 
Alias bordercolor::return#0 = bordercolor::old#0 bordercolor::return#3 bordercolor::return#1 
Alias kbhit::return#2 = kbhit::return#4 
Alias cursor::return#0 = cursor::oldValue#0 cursor::return#3 cursor::return#1 
Alias scroll::return#0 = scroll::old#0 scroll::return#3 scroll::return#1 
Alias cursorLocation::return#0 = cursorLocation::return#4 
Alias putchar::code#1 = putchar::code#2 
Alias cursorLocation::return#1 = cursorLocation::$2 cursorLocation::return#5 cursorLocation::return#2 
Alias newline::start#0 = newline::start#1 
Alias cursorLocation::return#3 = cursorLocation::return#6 
Alias setcursor::c#0 = setcursor::c#4 setcursor::c#2 
Alias setcursor::c#1 = setcursor::$2 
Alias revers::old#0 = revers::old#2 revers::old#3 
Alias revers::return#0 = revers::old#1 revers::return#4 revers::return#1 
Alias printf_str::c#1 = printf_str::$0 printf_str::c#2 
Alias printf_str::putc#8 = printf_str::putc#9 
Alias printf_str::s#0 = printf_str::s#11 
Alias printf_padding::pad#5 = printf_padding::pad#6 printf_padding::pad#8 
Alias printf_padding::putc#5 = printf_padding::putc#6 printf_padding::putc#8 
Alias printf_padding::i#2 = printf_padding::i#4 printf_padding::i#3 
Alias printf_padding::length#5 = printf_padding::length#8 printf_padding::length#7 
Alias printf_sint::value#3 = printf_sint::value#4 printf_sint::value#6 printf_sint::value#7 
Alias printf_sint::format_radix#4 = printf_sint::format_radix#7 printf_sint::format_radix#5 printf_sint::format_radix#6 
Alias printf_sint::putc#4 = printf_sint::putc#7 printf_sint::putc#5 printf_sint::putc#6 
Alias printf_sint::format_min_length#4 = printf_sint::format_min_length#7 printf_sint::format_min_length#5 printf_sint::format_min_length#6 
Alias printf_sint::format_justify_left#4 = printf_sint::format_justify_left#7 printf_sint::format_justify_left#5 printf_sint::format_justify_left#6 
Alias printf_sint::format_sign_always#2 = printf_sint::format_sign_always#6 printf_sint::format_sign_always#4 printf_sint::format_sign_always#7 
Alias printf_sint::format_zero_padding#4 = printf_sint::format_zero_padding#7 printf_sint::format_zero_padding#5 printf_sint::format_zero_padding#6 
Alias printf_sint::format_upper_case#4 = printf_sint::format_upper_case#7 printf_sint::format_upper_case#5 printf_sint::format_upper_case#6 
Alias printf_sint::value#0 = printf_sint::$4 
Alias printf_sint::putc#2 = printf_sint::putc#3 
Alias printf_sint::format_min_length#2 = printf_sint::format_min_length#3 
Alias printf_sint::format_justify_left#2 = printf_sint::format_justify_left#3 
Alias printf_sint::format_sign_always#3 = printf_sint::format_sign_always#5 
Alias printf_sint::format_zero_padding#2 = printf_sint::format_zero_padding#3 
Alias printf_sint::format_upper_case#2 = printf_sint::format_upper_case#3 
Alias printf_sint::format_radix#2 = printf_sint::format_radix#3 
Alias printf_number_buffer::buffer_digits#1 = printf_number_buffer::buffer_digits#4 printf_number_buffer::buffer_digits#17 printf_number_buffer::buffer_digits#18 
Alias printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#4 printf_number_buffer::buffer_sign#7 printf_number_buffer::buffer_sign#11 
Alias printf_number_buffer::format_min_length#1 = printf_number_buffer::format_min_length#5 printf_number_buffer::format_min_length#3 printf_number_buffer::format_min_length#4 
Alias printf_number_buffer::format_justify_left#11 = printf_number_buffer::format_justify_left#3 printf_number_buffer::format_justify_left#7 printf_number_buffer::format_justify_left#8 
Alias printf_number_buffer::format_zero_padding#10 = printf_number_buffer::format_zero_padding#15 printf_number_buffer::format_zero_padding#4 printf_number_buffer::format_zero_padding#11 
Alias printf_number_buffer::putc#12 = printf_number_buffer::putc#20 printf_number_buffer::putc#18 printf_number_buffer::putc#19 
Alias printf_number_buffer::format_upper_case#13 = printf_number_buffer::format_upper_case#15 printf_number_buffer::format_upper_case#9 printf_number_buffer::format_upper_case#14 
Alias strlen::return#2 = strlen::return#5 
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#4 = printf_number_buffer::format_justify_left#5 
Alias printf_number_buffer::format_zero_padding#5 = printf_number_buffer::format_zero_padding#6 
Alias printf_number_buffer::buffer_sign#8 = printf_number_buffer::buffer_sign#9 
Alias printf_number_buffer::putc#13 = printf_number_buffer::putc#14 
Alias printf_number_buffer::format_upper_case#10 = printf_number_buffer::format_upper_case#11 
Alias printf_number_buffer::buffer_digits#14 = printf_number_buffer::buffer_digits#15 
Alias printf_number_buffer::putc#1 = printf_number_buffer::putc#6 printf_number_buffer::putc#15 
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#5 printf_number_buffer::buffer_sign#6 
Alias printf_number_buffer::format_zero_padding#1 = printf_number_buffer::format_zero_padding#16 printf_number_buffer::format_zero_padding#12 
Alias printf_number_buffer::format_upper_case#12 = printf_number_buffer::format_upper_case#7 printf_number_buffer::format_upper_case#8 
Alias printf_number_buffer::buffer_digits#12 = printf_number_buffer::buffer_digits#16 printf_number_buffer::buffer_digits#13 
Alias printf_number_buffer::format_justify_left#1 = printf_number_buffer::format_justify_left#19 printf_number_buffer::format_justify_left#18 
Alias printf_number_buffer::buffer_sign#2 = printf_number_buffer::buffer_sign#3 
Alias printf_number_buffer::putc#2 = printf_number_buffer::putc#7 
Alias printf_number_buffer::format_zero_padding#7 = printf_number_buffer::format_zero_padding#8 
Alias printf_number_buffer::padding#10 = printf_number_buffer::padding#9 
Alias printf_number_buffer::format_upper_case#4 = printf_number_buffer::format_upper_case#5 
Alias printf_number_buffer::buffer_digits#10 = printf_number_buffer::buffer_digits#9 
Alias printf_number_buffer::format_justify_left#15 = printf_number_buffer::format_justify_left#16 
Alias printf_number_buffer::putc#16 = printf_number_buffer::putc#3 printf_number_buffer::putc#8 
Alias printf_number_buffer::padding#15 = printf_number_buffer::padding#6 printf_number_buffer::padding#5 
Alias printf_number_buffer::format_upper_case#2 = printf_number_buffer::format_upper_case#6 printf_number_buffer::format_upper_case#3 
Alias printf_number_buffer::buffer_digits#11 = printf_number_buffer::buffer_digits#8 printf_number_buffer::buffer_digits#7 
Alias printf_number_buffer::format_zero_padding#17 = printf_number_buffer::format_zero_padding#19 printf_number_buffer::format_zero_padding#2 
Alias printf_number_buffer::format_justify_left#12 = printf_number_buffer::format_justify_left#17 printf_number_buffer::format_justify_left#13 
Alias printf_number_buffer::format_zero_padding#3 = printf_number_buffer::format_zero_padding#9 
Alias printf_number_buffer::format_justify_left#2 = printf_number_buffer::format_justify_left#6 
Alias printf_number_buffer::padding#11 = printf_number_buffer::padding#7 printf_number_buffer::padding#8 
Alias printf_number_buffer::putc#11 = printf_number_buffer::putc#4 printf_number_buffer::putc#5 
Alias printf_number_buffer::buffer_digits#3 = printf_number_buffer::buffer_digits#6 printf_number_buffer::buffer_digits#5 
Alias printf_number_buffer::putc#10 = printf_number_buffer::putc#17 printf_number_buffer::putc#9 
Alias printf_number_buffer::format_zero_padding#13 = printf_number_buffer::format_zero_padding#18 printf_number_buffer::format_zero_padding#14 
Alias printf_number_buffer::format_justify_left#10 = printf_number_buffer::format_justify_left#14 printf_number_buffer::format_justify_left#9 
Alias printf_number_buffer::padding#13 = printf_number_buffer::padding#16 printf_number_buffer::padding#14 
Alias printf_string::str#1 = printf_string::str#3 printf_string::str#7 printf_string::str#6 
Alias printf_string::format_min_length#1 = printf_string::format_min_length#3 printf_string::format_min_length#2 
Alias printf_string::format_justify_left#3 = printf_string::format_justify_left#7 printf_string::format_justify_left#5 printf_string::format_justify_left#4 
Alias printf_string::putc#10 = printf_string::putc#7 printf_string::putc#9 printf_string::putc#8 
Alias strlen::return#3 = strlen::return#6 
Alias printf_string::padding#1 = printf_string::$10 
Alias printf_string::format_justify_left#2 = printf_string::format_justify_left#6 
Alias printf_string::padding#4 = printf_string::padding#7 printf_string::padding#6 
Alias printf_string::putc#1 = printf_string::putc#6 printf_string::putc#3 
Alias printf_string::putc#2 = printf_string::putc#4 printf_string::putc#5 
Alias printf_string::padding#3 = printf_string::padding#5 printf_string::padding#8 
Alias printf_string::str#4 = printf_string::str#8 printf_string::str#5 
Alias printf_string::format_justify_left#1 = printf_string::format_justify_left#9 printf_string::format_justify_left#8 
Alias main::i#2 = main::i#4 main::i#5 main::i#3 
Alias main::i1#2 = main::i1#4 main::i1#5 main::i1#3 
Alias kbhit::return#3 = kbhit::return#5 
Successful SSA optimization Pass2AliasElimination
Alias utoa::value#10 = utoa::value#7 
Alias utoa::buffer#10 = utoa::buffer#15 
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 revers::return#0 = revers::old#0 
Alias printf_sint::format_radix#2 = printf_sint::format_radix#4 
Alias printf_sint::putc#2 = printf_sint::putc#4 
Alias printf_sint::format_min_length#2 = printf_sint::format_min_length#4 
Alias printf_sint::format_justify_left#2 = printf_sint::format_justify_left#4 
Alias printf_sint::format_sign_always#2 = printf_sint::format_sign_always#3 
Alias printf_sint::format_zero_padding#2 = printf_sint::format_zero_padding#4 
Alias printf_sint::format_upper_case#2 = printf_sint::format_upper_case#4 
Alias printf_number_buffer::format_min_length#1 = printf_number_buffer::format_min_length#2 
Alias printf_number_buffer::format_justify_left#11 = printf_number_buffer::format_justify_left#4 
Alias printf_number_buffer::format_zero_padding#10 = printf_number_buffer::format_zero_padding#5 
Alias printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#8 
Alias printf_number_buffer::putc#12 = printf_number_buffer::putc#13 
Alias printf_number_buffer::format_upper_case#10 = printf_number_buffer::format_upper_case#13 
Alias printf_number_buffer::buffer_digits#1 = printf_number_buffer::buffer_digits#14 
Alias printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 
Alias printf_number_buffer::format_zero_padding#1 = printf_number_buffer::format_zero_padding#7 printf_number_buffer::format_zero_padding#17 printf_number_buffer::format_zero_padding#13 printf_number_buffer::format_zero_padding#3 
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#1 = printf_number_buffer::putc#2 printf_number_buffer::putc#16 printf_number_buffer::putc#10 printf_number_buffer::putc#11 
Alias printf_number_buffer::format_upper_case#1 = printf_number_buffer::format_upper_case#4 printf_number_buffer::format_upper_case#12 printf_number_buffer::format_upper_case#2 
Alias printf_number_buffer::buffer_digits#10 = printf_number_buffer::buffer_digits#12 printf_number_buffer::buffer_digits#11 printf_number_buffer::buffer_digits#3 printf_number_buffer::buffer_digits#2 
Alias printf_number_buffer::format_justify_left#1 = printf_number_buffer::format_justify_left#15 printf_number_buffer::format_justify_left#12 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_justify_left#2 
Alias printf_string::format_justify_left#1 = printf_string::format_justify_left#3 printf_string::format_justify_left#2 
Alias printf_string::putc#1 = printf_string::putc#2 printf_string::putc#10 
Alias printf_string::str#1 = printf_string::str#4 printf_string::str#2 
Alias printf_string::padding#3 = printf_string::padding#4 
Successful SSA optimization Pass2AliasElimination
Alias printf_number_buffer::format_justify_left#1 = printf_number_buffer::format_justify_left#11 
Alias printf_number_buffer::format_zero_padding#1 = printf_number_buffer::format_zero_padding#10 
Alias printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 
Alias printf_number_buffer::putc#1 = printf_number_buffer::putc#12 
Alias printf_number_buffer::format_upper_case#1 = printf_number_buffer::format_upper_case#10 
Alias printf_number_buffer::buffer_digits#1 = printf_number_buffer::buffer_digits#10 
Successful SSA optimization Pass2AliasElimination
Identical Phi Values memcpy::source#1 memcpy::source#0
Identical Phi Values memcpy::destination#1 memcpy::destination#0
Identical Phi Values memcpy::num#1 memcpy::num#0
Identical Phi Values memcpy::src_end#1 memcpy::src_end#0
Identical Phi Values memcpy::destination#2 memcpy::destination#1
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 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::radix#1 utoa::radix#0
Identical Phi Values utoa::value#10 utoa::value#1
Identical Phi Values utoa::buffer#10 utoa::buffer#5
Identical Phi Values utoa::max_digits#10 utoa::max_digits#7
Identical Phi Values utoa::digit_values#10 utoa::digit_values#8
Identical Phi Values utoa_append::value#5 utoa_append::value#0
Identical Phi Values utoa_append::sub#3 utoa_append::sub#0
Identical Phi Values utoa_append::buffer#3 utoa_append::buffer#0
Identical Phi Values utoa_append::sub#1 utoa_append::sub#3
Identical Phi Values utoa_append::buffer#1 utoa_append::buffer#3
Identical Phi Values cputs::s#3 cputs::s#1
Identical Phi Values cputsxy::x#1 cputsxy::x#0
Identical Phi Values cputsxy::y#1 cputsxy::y#0
Identical Phi Values cputsxy::s#1 cputsxy::s#0
Identical Phi Values textcolor::color#1 textcolor::color#0
Identical Phi Values bgcolor::color#1 bgcolor::color#0
Identical Phi Values bordercolor::color#1 bordercolor::color#0
Identical Phi Values cursor::onoff#1 cursor::onoff#0
Identical Phi Values scroll::onoff#1 scroll::onoff#0
Identical Phi Values putchar::code#1 cputc::convertToScreenCode1_return#0
Identical Phi Values printf_str::putc#8 printf_str::putc#10
Identical Phi Values printf_padding::length#5 printf_padding::length#6
Identical Phi Values printf_padding::pad#5 printf_padding::pad#7
Identical Phi Values printf_padding::putc#5 printf_padding::putc#7
Identical Phi Values printf_number_buffer::format_min_length#1 printf_number_buffer::format_min_length#0
Identical Phi Values printf_number_buffer::format_justify_left#1 printf_number_buffer::format_justify_left#0
Identical Phi Values printf_number_buffer::format_zero_padding#1 printf_number_buffer::format_zero_padding#0
Identical Phi Values printf_number_buffer::buffer_digits#1 printf_number_buffer::buffer_digits#0
Identical Phi Values printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0
Identical Phi Values printf_number_buffer::putc#1 printf_number_buffer::putc#0
Identical Phi Values printf_number_buffer::format_upper_case#1 printf_number_buffer::format_upper_case#0
Identical Phi Values printf_string::format_min_length#1 printf_string::format_min_length#0
Identical Phi Values printf_string::format_justify_left#1 printf_string::format_justify_left#0
Identical Phi Values printf_string::str#1 printf_string::str#0
Identical Phi Values printf_string::putc#1 printf_string::putc#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#3) goto strlen::@2
Simple Condition strupr::$1 [44] if(0!=*strupr::src#2) goto strupr::@2
Simple Condition utoa::$0 [56] if(utoa::radix#0==DECIMAL) goto utoa::@1
Simple Condition utoa::$1 [60] if(utoa::radix#0==HEXADECIMAL) goto utoa::@2
Simple Condition utoa::$2 [64] if(utoa::radix#0==OCTAL) goto utoa::@3
Simple Condition utoa::$3 [68] if(utoa::radix#0==BINARY) goto utoa::@4
Simple Condition utoa::$5 [85] if(utoa::digit#2<utoa::$4) goto utoa::@11
Simple Condition utoa_append::$0 [110] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2
Simple Condition cputc::$0 [132] if(cputc::c=='
'at) goto cputc::@1
Simple Condition cputc::$7 [146] if(*COLCRS==$28) goto cputc::@6
Simple Condition cputs::$2 [157] if(0!=cputs::c#1) goto cputs::@2
Simple Condition kbhit::$0 [182] if(*CH==$ff) goto kbhit::@1
Simple Condition newline::$1 [212] if(*ROWCRS!=$18) goto newline::@1
Simple Condition newline::$3 [215] if(conio_scroll_enable==1) goto newline::@4
Simple Condition newline::$6 [217] if(conio_display_cursor!=1) goto newline::@5
Simple Condition setcursor::$1 [245] if(conio_display_cursor==0) goto setcursor::@1
Simple Condition revers::$0 [255] if(revers::onoff#2==0) goto revers::@1
Simple Condition printf_str::$2 [265] if(0!=printf_str::c#1) goto printf_str::@2
Simple Condition printf_padding::$0 [274] if(printf_padding::i#2<printf_padding::length#6) goto printf_padding::@2
Simple Condition printf_sint::$0 [283] if(printf_sint::value#3<0) goto printf_sint::@1
Simple Condition printf_sint::$3 [287] if(0==printf_sint::format_sign_always#2) goto printf_sint::@2
Simple Condition printf_number_buffer::$0 [309] if(0==printf_number_buffer::format_min_length#0) goto printf_number_buffer::@1
Simple Condition printf_number_buffer::$20 [323] if(0==printf_number_buffer::buffer_sign#0) goto printf_number_buffer::@13
Simple Condition printf_number_buffer::$23 [328] if(printf_number_buffer::padding#1>=0) goto printf_number_buffer::@1
Simple Condition printf_number_buffer::$7 [332] if(0==printf_number_buffer::buffer_sign#0) goto printf_number_buffer::@3
Simple Condition printf_number_buffer::$12 [344] if(0==printf_number_buffer::format_upper_case#0) goto printf_number_buffer::@5
Simple Condition printf_string::$0 [368] if(0==printf_string::format_min_length#0) goto printf_string::@1
Simple Condition printf_string::$12 [382] if(printf_string::padding#1>=0) goto printf_string::@1
Simple Condition main::$15 [456] if(main::i#1!=rangelast(0,$32)) goto main::@1
Simple Condition main::$17 [480] if(main::i1#1!=rangelast($33,$c8)) goto main::@3
Simple Condition waitkey::$2 [487] if(0==waitkey::$1) goto waitkey::@1
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 two if()s [137] cputc::$3 = cputc::$1 || cputc::$2
Rewriting ! if()-condition to reversed if() [315] printf_number_buffer::$5 = ! printf_number_buffer::$4
Rewriting && if()-condition to two if()s [314] printf_number_buffer::$4 = printf_number_buffer::$3 && printf_number_buffer::padding#10
Rewriting && if()-condition to two if()s [313] printf_number_buffer::$3 = printf_number_buffer::$1 && printf_number_buffer::$2
Rewriting ! if()-condition to reversed if() [338] printf_number_buffer::$10 = ! printf_number_buffer::$9
Rewriting && if()-condition to two if()s [337] printf_number_buffer::$9 = printf_number_buffer::format_zero_padding#0 && printf_number_buffer::padding#10
Rewriting ! if()-condition to reversed if() [355] printf_number_buffer::$17 = ! printf_number_buffer::$16
Rewriting && if()-condition to two if()s [354] printf_number_buffer::$16 = printf_number_buffer::$15 && printf_number_buffer::padding#10
Rewriting && if()-condition to two if()s [353] printf_number_buffer::$15 = printf_number_buffer::format_justify_left#0 && printf_number_buffer::$14
Rewriting ! if()-condition to reversed if() [372] printf_string::$3 = ! printf_string::$2
Rewriting && if()-condition to two if()s [371] printf_string::$2 = printf_string::$1 && printf_string::padding#3
Rewriting ! if()-condition to reversed if() [388] printf_string::$7 = ! printf_string::$6
Rewriting && if()-condition to two if()s [387] printf_string::$6 = printf_string::format_justify_left#0 && printf_string::padding#3
Successful SSA optimization Pass2ConditionalAndOrRewriting
Warning! Adding boolean cast to non-boolean condition utoa::started#2
Warning! Adding boolean cast to non-boolean condition printf_number_buffer::format_zero_padding#0
Warning! Adding boolean cast to non-boolean condition printf_number_buffer::format_justify_left#0
Warning! Adding boolean cast to non-boolean condition printf_string::format_justify_left#0
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
Warning! Adding boolean cast to non-boolean condition printf_string::padding#3
Warning! Adding boolean cast to non-boolean condition printf_string::padding#3
Constant right-side identified [117] memset::num#0 = (unumber)$28*$18
Constant right-side identified [225] memcpy::num#0 = (unumber)$28*$17
Constant right-side identified [234] *ROWCRS = (unumber)$18-1
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 utoa_append::digit#0 = 0
Constant memset::c#0 = 0
Constant memset::num#0 = (unumber)$28*$18
Constant gotoxy::x#0 = 0
Constant gotoxy::y#0 = 0
Constant cputc::convertToScreenCode1_v#0 = &cputc::c
Constant cputs::c#0 = 0
Constant kbhit::return#0 = 0
Constant kbhit::return#1 = 1
Constant gotoxy::x#2 = 0
Constant gotoxy::y#2 = 0
Constant memcpy::num#0 = (unumber)$28*$17
Constant memset::c#1 = 0
Constant memset::num#1 = $28
Constant printf_str::c#0 = 0
Constant printf_padding::i#0 = 0
Constant utoa::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_number_buffer::padding#0 = 0
Constant printf_number_buffer::padding#2 = 0
Constant printf_padding::pad#0 = ' 'at
Constant printf_padding::pad#1 = '0'at
Constant printf_padding::pad#2 = ' 'at
Constant printf_string::padding#0 = 0
Constant printf_string::padding#2 = 0
Constant printf_padding::pad#3 = ' 'at
Constant printf_padding::pad#4 = ' 'at
Constant cursor::onoff#0 = 0
Constant bgcolor::color#0 = DARK_ORANGE
Constant bordercolor::color#0 = MEDIUM_BLUE
Constant textcolor::color#0 = WHITE
Constant cputsxy::x#0 = 0
Constant cputsxy::y#0 = 1
Constant cputsxy::s#0 = main::s
Constant gotoxy::x#3 = 0
Constant gotoxy::y#3 = 3
Constant revers::onoff#0 = 1
Constant printf_str::putc#2 = &cputc
Constant printf_str::s#3 = main::s1
Constant printf_string::putc#0 = &cputc
Constant printf_string::str#0 = main::name
Constant printf_string::format_min_length#0 = 0
Constant printf_string::format_justify_left#0 = 0
Constant printf_str::putc#3 = &cputc
Constant printf_str::s#4 = main::s2
Constant revers::onoff#1 = 0
Constant main::i#0 = 0
Constant printf_str::putc#4 = &cputc
Constant printf_str::s#5 = main::s3
Constant printf_sint::putc#0 = &cputc
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#5 = &cputc
Constant printf_str::s#6 = main::s4
Constant scroll::onoff#0 = 0
Constant main::i1#0 = $33
Constant printf_str::putc#6 = &cputc
Constant printf_str::s#7 = main::s5
Constant printf_sint::putc#1 = &cputc
Constant printf_sint::format_min_length#1 = 0
Constant printf_sint::format_justify_left#1 = 0
Constant printf_sint::format_sign_always#1 = 0
Constant printf_sint::format_zero_padding#1 = 0
Constant printf_sint::format_upper_case#1 = 0
Constant printf_sint::format_radix#1 = DECIMAL
Constant printf_str::putc#7 = &cputc
Constant printf_str::s#8 = main::s6
Successful SSA optimization Pass2ConstantIdentification
Constant gotoxy::x#1 = cputsxy::x#0
Constant gotoxy::y#1 = cputsxy::y#0
Constant cputs::s#1 = cputsxy::s#0
Constant strlen::str#1 = printf_number_buffer::buffer_digits#0
Constant printf_str::s#1 = printf_number_buffer::buffer_digits#0
Constant strupr::str#0 = printf_number_buffer::buffer_digits#0
Constant strlen::str#2 = printf_string::str#0
Constant printf_string::$13 = (signed char)printf_string::format_min_length#0
Constant printf_str::putc#1 = printf_string::putc#0
Constant printf_str::s#2 = printf_string::str#0
Constant printf_padding::putc#3 = printf_string::putc#0
Constant printf_padding::putc#4 = printf_string::putc#0
Successful SSA optimization Pass2ConstantIdentification
Constant strupr::return#2 = strupr::str#0
Successful SSA optimization Pass2ConstantIdentification
if() condition always true - replacing block destination [368] if(0==printf_string::format_min_length#0) goto printf_string::@1
Successful SSA optimization Pass2ConstantIfs
Consolidated constant strings into main::s4
Successful SSA optimization Pass2ConstantStringConsolidation
Resolved ranged next value [454] main::i#1 = ++ main::i#2 to ++
Resolved ranged comparison value [456] if(main::i#1!=rangelast(0,$32)) goto main::@1 to $33
Resolved ranged next value [478] main::i1#1 = ++ main::i1#2 to ++
Resolved ranged comparison value [480] if(main::i1#1!=rangelast($33,$c8)) goto main::@3 to $c9
Simplifying constant evaluating to zero (signed char)printf_string::format_min_length#0 in 
Successful SSA optimization PassNSimplifyConstantZero
Simplifying expression containing zero (char *)&printf_buffer in [281] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = 0
Simplifying expression containing zero (char *)&printf_buffer in [285] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = '-'at
Simplifying expression containing zero (char *)&printf_buffer in [288] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = '+'at
Simplifying expression containing zero (char *)&printf_buffer in [296] printf_number_buffer::buffer_sign#0 = *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN)
Simplifying expression containing zero printf_string::len#0 in [380] printf_string::padding#1 = printf_string::$13 - printf_string::len#0
Successful SSA optimization PassNSimplifyExpressionWithZero
Eliminating variable strlen::return#3 from unused block printf_string::@3
Eliminating variable printf_string::$9 from unused block printf_string::@7
Eliminating variable printf_string::len#0 from unused block printf_string::@7
Eliminating variable printf_string::padding#1 from unused block printf_string::@7
Removing PHI-reference to removed block (printf_string::@3) in block strlen
Removing unused block printf_string::@3
Removing PHI-reference to removed block (printf_string::@7) in block printf_string::@1
Removing unused block printf_string::@7
Removing PHI-reference to removed block (printf_string::@4) in block printf_string::@1
Removing unused block printf_string::@4
Successful SSA optimization Pass2EliminateUnusedBlocks
Eliminating unused variable memset::return#2 and assignment [83] memset::return#2 = memset::str#3
Eliminating unused variable memcpy::return#2 and assignment [163] memcpy::return#2 = memcpy::destination#0
Eliminating unused variable memset::return#3 and assignment [167] memset::return#3 = memset::str#3
Eliminating unused variable printf_number_buffer::format_sign_always#0 and assignment [224] printf_number_buffer::format_sign_always#0 = printf_sint::format_sign_always#2
Eliminating unused variable printf_number_buffer::format_radix#0 and assignment [227] printf_number_buffer::format_radix#0 = printf_sint::format_radix#2
Eliminating unused variable cursor::return#2 and assignment [280] cursor::return#2 = cursor::return#0
Eliminating unused variable bgcolor::return#2 and assignment [282] bgcolor::return#2 = bgcolor::return#0
Eliminating unused variable bordercolor::return#2 and assignment [284] bordercolor::return#2 = bordercolor::return#0
Eliminating unused variable textcolor::return#2 and assignment [286] textcolor::return#2 = textcolor::return#0
Eliminating unused variable revers::return#2 and assignment [290] revers::return#2 = revers::return#0
Eliminating unused variable revers::return#3 and assignment [297] revers::return#3 = revers::return#0
Eliminating unused variable scroll::return#2 and assignment [307] scroll::return#2 = scroll::return#0
Eliminating unused constant strlen::str#2
Eliminating unused constant strupr::return#2
Eliminating unused constant utoa::max_digits#0
Eliminating unused constant utoa::digit_values#0
Eliminating unused constant cputs::c#0
Eliminating unused constant printf_str::c#0
Eliminating unused constant printf_string::padding#2
Eliminating unused constant printf_string::format_min_length#0
Eliminating unused constant printf_string::$13
Eliminating unused constant OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN
Successful SSA optimization PassNEliminateUnusedVars
Eliminating unused variable textcolor::return#0 and assignment [119] textcolor::return#0 = *COLOR1
Eliminating unused variable bgcolor::return#0 and assignment [122] bgcolor::return#0 = *COLOR2
Eliminating unused variable bordercolor::return#0 and assignment [125] bordercolor::return#0 = *COLOR4
Eliminating unused variable cursor::return#0 and assignment [131] cursor::return#0 = conio_display_cursor
Eliminating unused variable scroll::return#0 and assignment [134] scroll::return#0 = conio_scroll_enable
Eliminating unused variable revers::return#0 and assignment [183] revers::return#0 = conio_reverse_value
Successful SSA optimization PassNEliminateUnusedVars
Adding number conversion cast (unumber) 0 in utoa::$12 = 0 != utoa::started#2
Adding number conversion cast (unumber) 0 in printf_number_buffer::$33 = 0 != printf_number_buffer::format_zero_padding#0
Adding number conversion cast (unumber) 0 in printf_number_buffer::$34 = 0 != printf_number_buffer::format_justify_left#0
Adding number conversion cast (unumber) 0 in printf_string::$16 = 0 != printf_string::format_justify_left#0
Adding number conversion cast (snumber) $33 in if(main::i#1!=$33) goto main::@1
Adding number conversion cast (snumber) $c9 in if(main::i1#1!=$c9) goto main::@3
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
Adding number conversion cast (snumber) 0 in printf_string::$17 = 0 != printf_string::padding#3
Adding number conversion cast (snumber) 0 in printf_string::$18 = 0 != printf_string::padding#3
Successful SSA optimization PassNAddNumberTypeConversions
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast $33
Simplifying constant integer cast $c9
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) 0
Finalized signed number type (signed char) $33
Finalized signed number type (int) $c9
Finalized signed number type (signed char) 0
Finalized signed number type (signed 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
Identical Phi Values strlen::str#5 strlen::str#1
Identical Phi Values printf_string::padding#3 printf_string::padding#0
Successful SSA optimization Pass2IdenticalPhiElimination
Simple Condition toupper::$0 [28] if(toupper::ch#0>='a'at) goto toupper::@3
Simple Condition utoa::$12 [61] if(0!=utoa::started#2) goto utoa::@14
Simple Condition cputc::$1 [97] if(cputc::c=='
'at) goto cputc::@2
Simple Condition printf_number_buffer::$1 [223] if(0==printf_number_buffer::format_justify_left#0) goto printf_number_buffer::@22
Simple Condition printf_number_buffer::$33 [239] if(0!=printf_number_buffer::format_zero_padding#0) goto printf_number_buffer::@23
Simple Condition printf_number_buffer::$34 [251] if(0!=printf_number_buffer::format_justify_left#0) goto printf_number_buffer::@25
Simple Condition printf_string::$1 [259] if(0==printf_string::format_justify_left#0) goto printf_string::@11
Simple Condition printf_string::$16 [262] if(0!=printf_string::format_justify_left#0) goto printf_string::@12
Simple Condition toupper::$1 [310] if(toupper::ch#0<='z'at) goto toupper::@1
Simple Condition utoa::$6 [311] if(utoa::value#2>=utoa::digit_value#0) goto utoa::@14
Simple Condition cputc::$2 [312] if(cputc::c==$9b) goto cputc::@2
Simple Condition printf_number_buffer::$35 [314] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@8
Simple Condition printf_number_buffer::$2 [315] if(0==printf_number_buffer::format_zero_padding#0) goto printf_number_buffer::@21
Simple Condition printf_number_buffer::$36 [317] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@10
Simple Condition printf_number_buffer::$37 [319] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@12
Simple Condition printf_number_buffer::$14 [320] if(0==printf_number_buffer::format_zero_padding#0) goto printf_number_buffer::@24
Simple Condition printf_string::$17 [322] if(0!=printf_string::padding#0) goto printf_string::@5
Simple Condition printf_string::$18 [324] if(0!=printf_string::padding#0) goto printf_string::@6
Successful SSA optimization Pass2ConditionalJumpSimplification
Negating conditional jump and destination [28] if(toupper::ch#0<'a'at) goto toupper::@2
Negating conditional jump and destination [223] if(0!=printf_number_buffer::format_justify_left#0) goto printf_number_buffer::@2
Negating conditional jump and destination [239] if(0==printf_number_buffer::format_zero_padding#0) goto printf_number_buffer::@4
Negating conditional jump and destination [251] if(0==printf_number_buffer::format_justify_left#0) goto printf_number_buffer::@return
Negating conditional jump and destination [259] if(0!=printf_string::format_justify_left#0) goto printf_string::@2
Negating conditional jump and destination [262] if(0==printf_string::format_justify_left#0) goto printf_string::@return
Negating conditional jump and destination [315] if(0!=printf_number_buffer::format_zero_padding#0) goto printf_number_buffer::@2
Negating conditional jump and destination [320] if(0!=printf_number_buffer::format_zero_padding#0) goto printf_number_buffer::@return
Successful SSA optimization Pass2ConditionalJumpSequenceImprovement
Constant right-side identified [46] utoa::buffer#0 = ++ utoa::buffer#5
Constant right-side identified [263] printf_padding::length#3 = (char)printf_string::padding#0
Constant right-side identified [265] printf_padding::length#4 = (char)printf_string::padding#0
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant utoa::buffer#0 = ++utoa::buffer#5
Constant printf_padding::length#3 = (char)printf_string::padding#0
Constant printf_padding::length#4 = (char)printf_string::padding#0
Successful SSA optimization Pass2ConstantIdentification
if() condition always false - eliminating [259] if(0!=printf_string::format_justify_left#0) goto printf_string::@2
if() condition always true - replacing block destination [262] if(0==printf_string::format_justify_left#0) goto printf_string::@return
if() condition always false - eliminating [322] if(0!=printf_string::padding#0) goto printf_string::@5
if() condition always false - eliminating [324] if(0!=printf_string::padding#0) goto printf_string::@6
Successful SSA optimization Pass2ConstantIfs
Simplifying constant evaluating to zero (char)printf_string::padding#0 in 
Simplifying constant evaluating to zero (char)printf_string::padding#0 in 
Successful SSA optimization PassNSimplifyConstantZero
Removing PHI-reference to removed block (printf_string::@5) in block printf_padding
Removing PHI-reference to removed block (printf_string::@5) in block printf_padding
Removing PHI-reference to removed block (printf_string::@5) in block printf_padding
Removing unused block printf_string::@5
Removing unused block printf_string::@9
Removing PHI-reference to removed block (printf_string::@6) in block printf_padding
Removing PHI-reference to removed block (printf_string::@6) in block printf_padding
Removing PHI-reference to removed block (printf_string::@6) in block printf_padding
Removing unused block printf_string::@6
Removing unused block printf_string::@10
Removing unused block printf_string::@12
Successful SSA optimization Pass2EliminateUnusedBlocks
Eliminating unused constant printf_padding::pad#3
Eliminating unused constant printf_padding::pad#4
Eliminating unused constant printf_padding::putc#3
Eliminating unused constant printf_padding::putc#4
Eliminating unused constant printf_padding::length#3
Eliminating unused constant printf_padding::length#4
Eliminating unused constant printf_string::padding#0
Eliminating unused constant printf_string::format_justify_left#0
Successful SSA optimization PassNEliminateUnusedVars
Constant right-side identified [44] utoa::buffer#1 = ++ utoa::buffer#0
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant utoa::buffer#1 = ++utoa::buffer#0
Successful SSA optimization Pass2ConstantIdentification
Constant right-side identified [45] utoa::buffer#2 = ++ utoa::buffer#1
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant utoa::buffer#2 = ++utoa::buffer#1
Successful SSA optimization Pass2ConstantIdentification
Inlining Noop Cast [0] memcpy::src#0 = (char *)memcpy::source#0 keeping memcpy::source#0
Inlining Noop Cast [1] memcpy::dst#0 = (char *)memcpy::destination#0 keeping memcpy::destination#0
Inlining Noop Cast [2] memcpy::$2 = (char *)memcpy::source#0 keeping memcpy::source#0
Inlining Noop Cast [12] memset::$4 = (char *)memset::str#3 keeping memset::str#3
Inlining Noop Cast [14] memset::dst#0 = (char *)memset::str#3 keeping memset::str#3
Inlining Noop Cast [73] memset::str#0 = (void *)*SAVMSC keeping *SAVMSC
Inlining Noop Cast [197] printf_sint::uvalue#0 = (unsigned int)printf_sint::value#5 keeping printf_sint::value#5
Inlining Noop Cast [218] printf_number_buffer::$25 = (signed char)printf_number_buffer::format_min_length#0 keeping printf_number_buffer::format_min_length#0
Successful SSA optimization Pass2NopCastInlining
Inlining Noop Cast [145] memcpy::source#0 = (void *)newline::$7 keeping memcpy::source#0
Inlining Noop Cast [148] memset::str#1 = (void *)newline::$9 keeping memset::str#1
Successful SSA optimization Pass2NopCastInlining
Rewriting multiplication to use shift [51] utoa::$10 = utoa::digit#2 * SIZEOF_UNSIGNED_INT
Rewriting multiplication to use shift and addition[132] cursorLocation::$0 = cursorLocation::$3 * $28
Successful SSA optimization Pass2MultiplyToShiftRewriting
Inlining constant with var siblings memset::c#0
Inlining constant with var siblings memset::num#0
Inlining constant with var siblings memset::c#1
Inlining constant with var siblings memset::num#1
Inlining constant with var siblings strlen::len#0
Inlining constant with var siblings strlen::str#1
Inlining constant with var siblings utoa::max_digits#1
Inlining constant with var siblings utoa::digit_values#1
Inlining constant with var siblings utoa::max_digits#2
Inlining constant with var siblings utoa::digit_values#2
Inlining constant with var siblings utoa::max_digits#3
Inlining constant with var siblings utoa::digit_values#3
Inlining constant with var siblings utoa::max_digits#4
Inlining constant with var siblings utoa::digit_values#4
Inlining constant with var siblings utoa::started#0
Inlining constant with var siblings utoa::digit#0
Inlining constant with var siblings utoa::started#1
Inlining constant with var siblings utoa::buffer#5
Inlining constant with var siblings utoa::buffer#0
Inlining constant with var siblings utoa::buffer#1
Inlining constant with var siblings utoa::buffer#2
Inlining constant with var siblings utoa_append::digit#0
Inlining constant with var siblings gotoxy::x#0
Inlining constant with var siblings gotoxy::y#0
Inlining constant with var siblings gotoxy::x#2
Inlining constant with var siblings gotoxy::y#2
Inlining constant with var siblings gotoxy::x#3
Inlining constant with var siblings gotoxy::y#3
Inlining constant with var siblings gotoxy::x#1
Inlining constant with var siblings gotoxy::y#1
Inlining constant with var siblings cputs::s#1
Inlining constant with var siblings kbhit::return#0
Inlining constant with var siblings kbhit::return#1
Inlining constant with var siblings revers::onoff#0
Inlining constant with var siblings revers::onoff#1
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::s#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_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 var siblings printf_sint::putc#0
Inlining constant with var siblings printf_sint::format_min_length#0
Inlining constant with var siblings printf_sint::format_justify_left#0
Inlining constant with var siblings printf_sint::format_sign_always#0
Inlining constant with var siblings printf_sint::format_zero_padding#0
Inlining constant with var siblings printf_sint::format_upper_case#0
Inlining constant with var siblings printf_sint::format_radix#0
Inlining constant with var siblings printf_sint::putc#1
Inlining constant with var siblings printf_sint::format_min_length#1
Inlining constant with var siblings printf_sint::format_justify_left#1
Inlining constant with var siblings printf_sint::format_sign_always#1
Inlining constant with var siblings printf_sint::format_zero_padding#1
Inlining constant with var siblings printf_sint::format_upper_case#1
Inlining constant with var siblings printf_sint::format_radix#1
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 main::i#0
Inlining constant with var siblings main::i1#0
Constant inlined utoa::digit_values#1 = RADIX_DECIMAL_VALUES
Constant inlined utoa::digit_values#4 = RADIX_BINARY_VALUES
Constant inlined cputs::s#1 = main::s
Constant inlined utoa::digit_values#2 = RADIX_HEXADECIMAL_VALUES
Constant inlined utoa::digit_values#3 = RADIX_OCTAL_VALUES
Constant inlined utoa::buffer#0 = ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined printf_str::putc#1 = printf_string::putc#0
Constant inlined utoa::buffer#1 = ++++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined memset::num#1 = $28
Constant inlined printf_str::putc#2 = &cputc
Constant inlined memset::num#0 = (unsigned int)$28*$18
Constant inlined printf_str::putc#3 = &cputc
Constant inlined strlen::len#0 = 0
Constant inlined printf_str::s#7 = main::s5
Constant inlined bordercolor::color#0 = MEDIUM_BLUE
Constant inlined printf_str::s#8 = main::s4
Constant inlined printf_str::s#5 = main::s3
Constant inlined kbhit::return#0 = 0
Constant inlined printf_str::putc#4 = &cputc
Constant inlined printf_str::s#6 = main::s4
Constant inlined printf_str::putc#5 = &cputc
Constant inlined printf_str::s#3 = main::s1
Constant inlined printf_str::putc#6 = &cputc
Constant inlined printf_str::s#4 = main::s2
Constant inlined kbhit::return#1 = 1
Constant inlined printf_str::putc#7 = &cputc
Constant inlined printf_str::s#1 = printf_number_buffer::buffer_digits#0
Constant inlined printf_str::s#2 = main::name
Constant inlined printf_sint::format_radix#1 = DECIMAL
Constant inlined printf_number_buffer::padding#2 = 0
Constant inlined printf_sint::format_radix#0 = DECIMAL
Constant inlined printf_sint::format_justify_left#1 = 0
Constant inlined printf_sint::format_justify_left#0 = 0
Constant inlined gotoxy::x#3 = 0
Constant inlined printf_sint::format_sign_always#1 = 0
Constant inlined utoa::buffer#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined gotoxy::x#0 = 0
Constant inlined printf_sint::format_sign_always#0 = 0
Constant inlined gotoxy::x#1 = cputsxy::x#0
Constant inlined utoa::buffer#2 = ++++++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined gotoxy::x#2 = 0
Constant inlined utoa::max_digits#1 = 5
Constant inlined utoa::max_digits#2 = 4
Constant inlined utoa::max_digits#3 = 6
Constant inlined revers::onoff#0 = 1
Constant inlined printf_sint::format_min_length#0 = 0
Constant inlined memset::c#0 = 0
Constant inlined utoa::max_digits#4 = $10
Constant inlined revers::onoff#1 = 0
Constant inlined printf_sint::format_min_length#1 = 0
Constant inlined memset::c#1 = 0
Constant inlined printf_sint::format_upper_case#1 = 0
Constant inlined printf_number_buffer::padding#0 = 0
Constant inlined printf_sint::format_upper_case#0 = 0
Constant inlined utoa_append::digit#0 = 0
Constant inlined printf_sint::putc#0 = &cputc
Constant inlined strlen::str#1 = printf_number_buffer::buffer_digits#0
Constant inlined printf_sint::putc#1 = &cputc
Constant inlined printf_string::str#0 = main::name
Constant inlined utoa::digit#0 = 0
Constant inlined cputsxy::s#0 = main::s
Constant inlined textcolor::color#0 = WHITE
Constant inlined main::i#0 = 0
Constant inlined main::i1#0 = $33
Constant inlined printf_sint::format_zero_padding#0 = 0
Constant inlined printf_sint::format_zero_padding#1 = 0
Constant inlined strupr::str#0 = printf_number_buffer::buffer_digits#0
Constant inlined printf_padding::pad#0 = ' 'at
Constant inlined printf_padding::i#0 = 0
Constant inlined printf_padding::pad#1 = '0'at
Constant inlined printf_padding::pad#2 = ' 'at
Constant inlined utoa::started#1 = 1
Constant inlined utoa::started#0 = 0
Constant inlined main::s6 = main::s4
Constant inlined gotoxy::y#2 = 0
Constant inlined gotoxy::y#3 = 3
Constant inlined bgcolor::color#0 = DARK_ORANGE
Constant inlined gotoxy::y#0 = 0
Constant inlined gotoxy::y#1 = cputsxy::y#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
Simplifying constant integer increment ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1
Successful SSA optimization Pass2ConstantSimplification
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+2
Successful SSA optimization Pass2ConstantSimplification
Adding number conversion cast (unumber) 1 in [43] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1) = 'r'at
Adding number conversion cast (unumber) 2 in [44] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2) = 'r'at
Adding number conversion cast (unumber) 3 in [45] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3) = 0
Successful SSA optimization PassNAddNumberTypeConversions
Simplifying constant integer cast 1
Simplifying constant integer cast 2
Simplifying constant integer cast 3
Successful SSA optimization PassNCastSimplification
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) 3
Successful SSA optimization PassNFinalizeNumberTypeConversions
Alias cursorLocation::$0 = cursorLocation::$6 
Successful SSA optimization Pass2AliasElimination
Identical Phi Values memset::c#4 0
Identical Phi Values printf_sint::format_sign_always#2 0
Identical Phi Values printf_sint::format_radix#2 DECIMAL
Identical Phi Values printf_sint::putc#2 &cputc
Identical Phi Values printf_sint::format_min_length#2 0
Identical Phi Values printf_sint::format_justify_left#2 0
Identical Phi Values printf_sint::format_zero_padding#2 0
Identical Phi Values printf_sint::format_upper_case#2 0
Successful SSA optimization Pass2IdenticalPhiElimination
Constant utoa::radix#0 = DECIMAL
Constant printf_number_buffer::putc#0 = &cputc
Constant printf_number_buffer::format_min_length#0 = 0
Constant printf_number_buffer::format_justify_left#0 = 0
Constant printf_number_buffer::format_zero_padding#0 = 0
Constant printf_number_buffer::format_upper_case#0 = 0
Successful SSA optimization Pass2ConstantIdentification
Constant printf_padding::putc#0 = printf_number_buffer::putc#0
Constant printf_padding::putc#1 = printf_number_buffer::putc#0
Constant printf_str::putc#0 = printf_number_buffer::putc#0
Constant printf_padding::putc#2 = printf_number_buffer::putc#0
Successful SSA optimization Pass2ConstantIdentification
Constant value identified (signed char)printf_number_buffer::format_min_length#0 in [211] printf_number_buffer::padding#1 = (signed char)printf_number_buffer::format_min_length#0 - printf_number_buffer::len#2
Successful SSA optimization Pass2ConstantValues
Replacing constant pointer function [220] callexecute cputc 
Successful SSA optimization Pass2ConstantCallPointerIdentification
if() condition always true - replacing block destination [33] if(utoa::radix#0==DECIMAL) goto utoa::@1
if() condition always false - eliminating [34] if(utoa::radix#0==HEXADECIMAL) goto utoa::@2
if() condition always false - eliminating [35] if(utoa::radix#0==OCTAL) goto utoa::@3
if() condition always false - eliminating [36] if(utoa::radix#0==BINARY) goto utoa::@4
if() condition always true - replacing block destination [188] if(0==0) goto printf_sint::@2
if() condition always true - replacing block destination [202] if(0==printf_number_buffer::format_min_length#0) goto printf_number_buffer::@1
if() condition always false - eliminating [204] if(0!=printf_number_buffer::format_justify_left#0) goto printf_number_buffer::@2
if() condition always true - replacing block destination [218] if(0==printf_number_buffer::format_zero_padding#0) goto printf_number_buffer::@4
if() condition always true - replacing block destination [222] if(0==printf_number_buffer::format_upper_case#0) goto printf_number_buffer::@5
if() condition always true - replacing block destination [228] if(0==printf_number_buffer::format_justify_left#0) goto printf_number_buffer::@return
if() condition always false - eliminating [282] if(0!=printf_number_buffer::format_zero_padding#0) goto printf_number_buffer::@2
if() condition always false - eliminating [285] if(0!=printf_number_buffer::format_zero_padding#0) goto printf_number_buffer::@return
Successful SSA optimization Pass2ConstantIfs
Simplifying constant evaluating to zero (signed char)printf_number_buffer::format_min_length#0 in [211] printf_number_buffer::padding#1 = (signed char)printf_number_buffer::format_min_length#0 - printf_number_buffer::len#2
Successful SSA optimization PassNSimplifyConstantZero
Simplifying expression containing zero printf_number_buffer::len#2 in [211] printf_number_buffer::padding#1 = 0 - printf_number_buffer::len#2
Successful SSA optimization PassNSimplifyExpressionWithZero
Eliminating variable strlen::str#3 from unused block strlen::@1
Eliminating variable strlen::len#2 from unused block strlen::@1
Eliminating variable strlen::len#1 from unused block strlen::@2
Eliminating variable strlen::str#0 from unused block strlen::@2
Eliminating variable toupper::return#0 from unused block toupper::@1
Eliminating variable toupper::return#2 from unused block toupper::@return
Eliminating variable strupr::src#2 from unused block strupr::@1
Eliminating variable toupper::ch#0 from unused block strupr::@2
Eliminating variable toupper::return#3 from unused block strupr::@2
Eliminating variable strupr::$0 from unused block strupr::@4
Eliminating variable strupr::src#1 from unused block strupr::@4
Eliminating variable strlen::return#2 from unused block printf_number_buffer::@6
Eliminating variable printf_number_buffer::$19 from unused block printf_number_buffer::@15
Eliminating variable printf_number_buffer::len#0 from unused block printf_number_buffer::@15
Eliminating variable printf_number_buffer::len#2 from unused block printf_number_buffer::@13
Eliminating variable printf_number_buffer::padding#1 from unused block printf_number_buffer::@13
Eliminating variable printf_number_buffer::len#1 from unused block printf_number_buffer::@7
Eliminating variable printf_padding::length#1 from unused block printf_number_buffer::@10
Eliminating variable printf_padding::length#2 from unused block printf_number_buffer::@12
Removing unused procedure strlen
Removing unused procedure block strlen
Removing PHI-reference to removed block (strlen) in block strlen::@1
Removing PHI-reference to removed block (strlen) in block strlen::@1
Removing unused procedure block strlen::@1
Removing unused procedure block strlen::@2
Removing unused procedure block strlen::@3
Removing unused procedure block strlen::@return
Removing unused procedure toupper
Removing unused procedure block toupper
Removing unused procedure block toupper::@1
Removing PHI-reference to removed block (toupper::@1) in block toupper::@return
Removing unused procedure block toupper::@2
Removing PHI-reference to removed block (toupper::@2) in block toupper::@return
Removing unused procedure block toupper::@return
Removing unused procedure block toupper::@3
Removing unused procedure strupr
Removing unused procedure block strupr
Removing PHI-reference to removed block (strupr) in block strupr::@1
Removing unused procedure block strupr::@1
Removing unused procedure block strupr::@2
Removing unused procedure block strupr::@4
Removing unused procedure block strupr::@3
Removing unused procedure block strupr::@return
Removing unused block utoa::@6
Removing PHI-reference to removed block (utoa::@2) in block utoa::@5
Removing PHI-reference to removed block (utoa::@2) in block utoa::@5
Removing unused block utoa::@2
Removing unused block utoa::@7
Removing PHI-reference to removed block (utoa::@3) in block utoa::@5
Removing PHI-reference to removed block (utoa::@3) in block utoa::@5
Removing unused block utoa::@3
Removing unused block utoa::@8
Removing PHI-reference to removed block (utoa::@4) in block utoa::@5
Removing PHI-reference to removed block (utoa::@4) in block utoa::@5
Removing unused block utoa::@4
Removing unused block utoa::@9
Removing PHI-reference to removed block (printf_sint::@4) in block printf_sint::@2
Removing unused block printf_sint::@4
Removing unused block printf_number_buffer::@6
Removing PHI-reference to removed block (printf_number_buffer::@15) in block printf_number_buffer::@13
Removing unused block printf_number_buffer::@15
Removing PHI-reference to removed block (printf_number_buffer::@13) in block printf_number_buffer::@1
Removing unused block printf_number_buffer::@13
Removing unused block printf_number_buffer::@7
Removing PHI-reference to removed block (printf_number_buffer::@14) in block printf_number_buffer::@1
Removing unused block printf_number_buffer::@14
Removing PHI-reference to removed block (printf_number_buffer::@10) in block printf_padding
Removing PHI-reference to removed block (printf_number_buffer::@10) in block printf_padding
Removing PHI-reference to removed block (printf_number_buffer::@10) in block printf_padding
Removing unused block printf_number_buffer::@10
Removing unused block printf_number_buffer::@17
Removing unused block printf_number_buffer::@11
Removing unused block printf_number_buffer::@19
Removing PHI-reference to removed block (printf_number_buffer::@12) in block printf_padding
Removing PHI-reference to removed block (printf_number_buffer::@12) in block printf_padding
Removing PHI-reference to removed block (printf_number_buffer::@12) in block printf_padding
Removing unused block printf_number_buffer::@12
Removing unused block printf_number_buffer::@20
Removing unused block printf_number_buffer::@23
Removing unused block printf_number_buffer::@24
Removing unused block printf_number_buffer::@25
Successful SSA optimization Pass2EliminateUnusedBlocks
Eliminating unused constant BINARY
Eliminating unused constant OCTAL
Eliminating unused constant HEXADECIMAL
Eliminating unused constant utoa::radix#0
Eliminating unused constant RADIX_BINARY_VALUES
Eliminating unused constant RADIX_OCTAL_VALUES
Eliminating unused constant RADIX_HEXADECIMAL_VALUES
Eliminating unused constant printf_padding::putc#1
Eliminating unused constant printf_padding::putc#2
Eliminating unused constant printf_number_buffer::format_min_length#0
Eliminating unused constant printf_number_buffer::format_justify_left#0
Eliminating unused constant printf_number_buffer::format_zero_padding#0
Eliminating unused constant printf_number_buffer::format_upper_case#0
Eliminating unused constant SIZEOF_UNSIGNED_INT
Successful SSA optimization PassNEliminateUnusedVars
Eliminating unused constant DECIMAL
Successful SSA optimization PassNEliminateUnusedVars
Inlining constant with var siblings printf_str::putc#0
Inlining constant with var siblings printf_padding::putc#0
Constant inlined printf_str::putc#0 = printf_number_buffer::putc#0
Constant inlined printf_padding::putc#0 = printf_number_buffer::putc#0
Successful SSA optimization Pass2ConstantInlining
Identical Phi Values utoa::max_digits#7 5
Identical Phi Values utoa::digit_values#8 RADIX_DECIMAL_VALUES
Identical Phi Values printf_padding::length#6 printf_padding::length#0
Identical Phi Values printf_padding::pad#7 ' 'at
Identical Phi Values printf_padding::putc#7 printf_number_buffer::putc#0
Identical Phi Values printf_number_buffer::padding#10 0
Successful SSA optimization Pass2IdenticalPhiElimination
Constant right-side identified [18] utoa::$4 = 5 - 1
Constant right-side identified [170] printf_padding::length#0 = (char)0
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant utoa::$4 = 5-1
Constant printf_padding::length#0 = (char)0
Successful SSA optimization Pass2ConstantIdentification
Replacing constant pointer function [153] callexecute cputc 
Successful SSA optimization Pass2ConstantCallPointerIdentification
if() condition always false - eliminating [151] if(printf_padding::i#2<printf_padding::length#0) goto printf_padding::@2
if() condition always false - eliminating [223] if(0!=0) goto printf_number_buffer::@8
Successful SSA optimization Pass2ConstantIfs
Simplifying constant evaluating to zero (char)0 in 
Successful SSA optimization PassNSimplifyConstantZero
Eliminating variable printf_padding::i#2 from unused block printf_padding::@1
Eliminating variable printf_padding::i#1 from unused block printf_padding::@3
Removing unused procedure printf_padding
Removing unused procedure block printf_padding
Removing PHI-reference to removed block (printf_padding) in block printf_padding::@1
Removing unused procedure block printf_padding::@1
Removing unused procedure block printf_padding::@2
Removing unused procedure block printf_padding::@3
Removing unused procedure block printf_padding::@return
Removing unused block printf_number_buffer::@8
Removing unused block printf_number_buffer::@16
Successful SSA optimization Pass2EliminateUnusedBlocks
Constant inlined utoa::$4 = 5-1
Successful SSA optimization Pass2ConstantInlining
Finalized unsigned number type (char) $a
Finalized unsigned number type (char) $a
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $17
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 (unsigned int) $100
Finalized unsigned number type (char) $b
Finalized unsigned number type (char) $b
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $18
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $17
Finalized unsigned number type (char) $18
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 $18-1
Successful SSA optimization PassNCastSimplification
Added new block during phi lifting utoa::@17(between utoa::@16 and utoa::@13)
Added new block during phi lifting main::@27(between main::@20 and main::@1)
Added new block during phi lifting main::@28(between main::@25 and main::@3)
Adding NOP phi() at start of __start
Adding NOP phi() at start of __start::@1
Adding NOP phi() at start of __start::@2
Adding NOP phi() at start of cputc::@4
Adding NOP phi() at start of cputc::convertToScreenCode1_@return
Adding NOP phi() at start of cputc::@7
Adding NOP phi() at start of cputc::@5
Adding NOP phi() at start of cputc::@12
Adding NOP phi() at start of cputc::@11
Adding NOP phi() at start of cputc::@9
Adding NOP phi() at start of cputc::@8
Adding NOP phi() at start of main
Adding NOP phi() at start of main::@5
Adding NOP phi() at start of main::@6
Adding NOP phi() at start of main::@7
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::@19
Adding NOP phi() at start of main::@2
Adding NOP phi() at start of main::@21
Adding NOP phi() at start of main::@22
Adding NOP phi() at start of main::@24
Adding NOP phi() at start of main::@4
Adding NOP phi() at start of main::@26
Adding NOP phi() at start of putchar::@2
Adding NOP phi() at start of newline::@3
Adding NOP phi() at start of newline::@8
Adding NOP phi() at start of newline::@1
Adding NOP phi() at start of newline::@7
Adding NOP phi() at start of cputsxy
Adding NOP phi() at start of cputsxy::@1
Adding NOP phi() at start of cputsxy::@2
Adding NOP phi() at start of gotoxy::@1
Adding NOP phi() at start of revers::@2
Adding NOP phi() at start of printf_string
Adding NOP phi() at start of printf_string::@1
Adding NOP phi() at start of printf_string::@11
Adding NOP phi() at start of printf_string::@2
Adding NOP phi() at start of printf_string::@8
Adding NOP phi() at start of waitkey
Adding NOP phi() at start of waitkey::@1
Adding NOP phi() at start of clrscr::@2
Adding NOP phi() at start of printf_sint::@6
Adding NOP phi() at start of memcpy::@3
Adding NOP phi() at start of memset::@1
Adding NOP phi() at start of cputs
Adding NOP phi() at start of kbhit::@2
Adding NOP phi() at start of kbhit::@1
Adding NOP phi() at start of utoa
Adding NOP phi() at start of utoa::@1
Adding NOP phi() at start of printf_number_buffer
Adding NOP phi() at start of printf_number_buffer::@1
Adding NOP phi() at start of printf_number_buffer::@22
Adding NOP phi() at start of printf_number_buffer::@21
Adding NOP phi() at start of printf_number_buffer::@3
Adding NOP phi() at start of printf_number_buffer::@4
Adding NOP phi() at start of printf_number_buffer::@5
Adding NOP phi() at start of printf_number_buffer::@18
CALL GRAPH
Calls in [__start] to main:5 
Calls in [cputc] to putchar:16 setcursor:20 newline:24 newline:27 setcursor:30 
Calls in [main] to cursor:33 bgcolor:35 bordercolor:37 textcolor:39 cputsxy:41 gotoxy:43 revers:45 printf_str:47 printf_string:49 printf_str:51 waitkey:53 clrscr:55 revers:57 printf_str:60 printf_sint:63 printf_str:65 waitkey:69 scroll:71 printf_str:74 printf_sint:77 printf_str:79 waitkey:83 
Calls in [putchar] to cursorLocation:89 setcursor:95 
Calls in [setcursor] to cursorLocation:99 
Calls in [newline] to gotoxy:118 setcursor:121 memcpy:129 memset:132 
Calls in [cputsxy] to gotoxy:143 cputs:145 
Calls in [gotoxy] to setcursor:151 
Calls in [printf_str] to null:168 
Calls in [printf_string] to printf_str:175 
Calls in [waitkey] to kbhit:180 
Calls in [clrscr] to memset:187 gotoxy:189 
Calls in [printf_sint] to utoa:198 printf_number_buffer:200 
Calls in [cputs] to cputc:245 
Calls in [utoa] to utoa_append:279 
Calls in [printf_number_buffer] to cputc:291 printf_str:296 

Created 27 initial phi equivalence classes
Coalesced [62] printf_sint::value#8 = printf_sint::value#1
Coalesced [76] printf_sint::value#9 = printf_sint::value#2
Coalesced [86] main::i1#6 = main::i1#1
Coalesced [87] main::i#6 = main::i#1
Coalesced [108] setcursor::c#6 = setcursor::c#1
Coalesced [113] setcursor::c#5 = setcursor::c#0
Coalesced [161] printf_str::s#12 = printf_str::s#10
Coalesced [170] printf_str::s#13 = printf_str::s#0
Coalesced [195] printf_sint::value#11 = printf_sint::value#3
Coalesced [205] printf_sint::value#10 = printf_sint::value#0
Coalesced [225] memcpy::src#5 = memcpy::src#1
Coalesced [226] memcpy::dst#5 = memcpy::dst#1
Coalesced [237] memset::dst#5 = memset::dst#1
Coalesced [247] cputs::s#5 = cputs::s#0
Coalesced [255] utoa::value#17 = utoa::value#1
Coalesced [267] utoa::value#18 = utoa::value#2
Coalesced [268] utoa::started#6 = utoa::started#2
Coalesced [269] utoa::buffer#23 = utoa::buffer#11
Coalesced [272] utoa::digit#7 = utoa::digit#1
Coalesced (already) [273] utoa::value#16 = utoa::value#6
Coalesced (already) [274] utoa::started#5 = utoa::started#4
Coalesced (already) [275] utoa::buffer#22 = utoa::buffer#14
Coalesced [283] utoa::value#19 = utoa::value#0
Coalesced [284] utoa::buffer#24 = utoa::buffer#4
Coalesced [299] utoa_append::value#6 = utoa_append::value#0
Coalesced [306] utoa_append::value#7 = utoa_append::value#1
Coalesced [307] utoa_append::digit#5 = utoa_append::digit#1
Coalesced down to 22 phi equivalence classes
Culled Empty Block label __start::@2
Culled Empty Block label cputc::@4
Culled Empty Block label cputc::convertToScreenCode1_@return
Culled Empty Block label cputc::@12
Culled Empty Block label cputc::@11
Culled Empty Block label cputc::@9
Culled Empty Block label cputc::@8
Culled Empty Block label main::@17
Culled Empty Block label main::@22
Culled Empty Block label main::@26
Culled Empty Block label main::@28
Culled Empty Block label main::@27
Culled Empty Block label putchar::@2
Culled Empty Block label newline::@8
Culled Empty Block label newline::@7
Culled Empty Block label cputsxy::@2
Culled Empty Block label gotoxy::@1
Culled Empty Block label revers::@2
Culled Empty Block label printf_string::@1
Culled Empty Block label printf_string::@11
Culled Empty Block label printf_string::@8
Culled Empty Block label clrscr::@2
Culled Empty Block label printf_sint::@3
Culled Empty Block label printf_sint::@6
Culled Empty Block label memcpy::@3
Culled Empty Block label memset::@1
Culled Empty Block label kbhit::@2
Culled Empty Block label utoa::@1
Culled Empty Block label utoa::@5
Culled Empty Block label utoa::@17
Culled Empty Block label printf_number_buffer::@1
Culled Empty Block label printf_number_buffer::@22
Culled Empty Block label printf_number_buffer::@21
Culled Empty Block label printf_number_buffer::@3
Culled Empty Block label printf_number_buffer::@4
Culled Empty Block label printf_number_buffer::@18
Renumbering block memset::@2 to memset::@1
Renumbering block memset::@3 to memset::@2
Renumbering block memset::@4 to memset::@3
Renumbering block utoa::@10 to utoa::@1
Renumbering block utoa::@11 to utoa::@2
Renumbering block utoa::@12 to utoa::@3
Renumbering block utoa::@13 to utoa::@4
Renumbering block utoa::@14 to utoa::@5
Renumbering block utoa::@15 to utoa::@6
Renumbering block utoa::@16 to utoa::@7
Renumbering block cputc::@5 to cputc::@4
Renumbering block cputc::@6 to cputc::@5
Renumbering block cputc::@7 to cputc::@6
Renumbering block cputc::@10 to cputc::@7
Renumbering block cputc::@13 to cputc::@8
Renumbering block newline::@9 to newline::@7
Renumbering block newline::@10 to newline::@8
Renumbering block revers::@3 to revers::@2
Renumbering block printf_sint::@5 to printf_sint::@3
Renumbering block printf_number_buffer::@2 to printf_number_buffer::@1
Renumbering block printf_number_buffer::@5 to printf_number_buffer::@2
Renumbering block printf_number_buffer::@9 to printf_number_buffer::@3
Renumbering block printf_string::@2 to printf_string::@1
Renumbering block main::@18 to main::@17
Renumbering block main::@19 to main::@18
Renumbering block main::@20 to main::@19
Renumbering block main::@21 to main::@20
Renumbering block main::@23 to main::@21
Renumbering block main::@24 to main::@22
Renumbering block main::@25 to main::@23
Adding NOP phi() at start of __start
Adding NOP phi() at start of __start::@1
Adding NOP phi() at start of cputc::@6
Adding NOP phi() at start of cputc::@4
Adding NOP phi() at start of main
Adding NOP phi() at start of main::@5
Adding NOP phi() at start of main::@6
Adding NOP phi() at start of main::@7
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::@18
Adding NOP phi() at start of main::@2
Adding NOP phi() at start of main::@20
Adding NOP phi() at start of main::@22
Adding NOP phi() at start of main::@4
Adding NOP phi() at start of newline::@3
Adding NOP phi() at start of newline::@1
Adding NOP phi() at start of cputsxy
Adding NOP phi() at start of cputsxy::@1
Adding NOP phi() at start of printf_string
Adding NOP phi() at start of printf_string::@1
Adding NOP phi() at start of waitkey
Adding NOP phi() at start of waitkey::@1
Adding NOP phi() at start of cputs
Adding NOP phi() at start of kbhit::@1
Adding NOP phi() at start of utoa
Adding NOP phi() at start of printf_number_buffer
Adding NOP phi() at start of printf_number_buffer::@2
Adding NOP phi() at start of utoa_append

FINAL CONTROL FLOW GRAPH

void __start()
__start: scope:[__start]  from
  [0] phi()
  to:__start::__init1
__start::__init1: scope:[__start]  from __start
  [1] conio_reverse_value = 0
  [2] conio_display_cursor = 1
  [3] conio_scroll_enable = 1
  to:__start::@1
__start::@1: scope:[__start]  from __start::__init1
  [4] phi()
  [5] call main
  to:__start::@return
__start::@return: scope:[__start]  from __start::@1
  [6] return 
  to:@return

__stackcall void cputc(volatile char c)
cputc: scope:[cputc]  from printf_number_buffer::@3
  [7] cputc::c = stackidx(char,cputc::OFFSET_STACK_C)
  [8] if(cputc::c=='
'at) goto cputc::@1
  to:cputc::@3
cputc::@3: scope:[cputc]  from cputc
  [9] if(cputc::c=='
'at) goto cputc::@2
  to:cputc::@8
cputc::@8: scope:[cputc]  from cputc::@3
  [10] if(cputc::c==$9b) goto cputc::@2
  to:cputc::convertToScreenCode1
cputc::convertToScreenCode1: scope:[cputc]  from cputc::@8
  [11] cputc::convertToScreenCode1_return#0 = rawmap[*cputc::convertToScreenCode1_v#0]
  to:cputc::@6
cputc::@6: scope:[cputc]  from cputc::convertToScreenCode1
  [12] phi()
  [13] call putchar
  to:cputc::@7
cputc::@7: scope:[cputc]  from cputc::@6
  [14] *COLCRS = ++ *COLCRS
  [15] if(*COLCRS==$28) goto cputc::@5
  to:cputc::@4
cputc::@4: scope:[cputc]  from cputc::@7
  [16] phi()
  [17] call setcursor
  to:cputc::@return
cputc::@return: scope:[cputc]  from cputc::@1 cputc::@2 cputc::@4 cputc::@5
  [18] return 
  to:@return
cputc::@5: scope:[cputc]  from cputc::@7
  [19] *COLCRS = 0
  [20] call newline
  to:cputc::@return
cputc::@2: scope:[cputc]  from cputc::@3 cputc::@8
  [21] *COLCRS = 0
  [22] call newline
  to:cputc::@return
cputc::@1: scope:[cputc]  from cputc
  [23] *COLCRS = 0
  [24] call setcursor
  to:cputc::@return

void main()
main: scope:[main]  from __start::@1
  [25] phi()
  [26] call cursor
  to:main::@5
main::@5: scope:[main]  from main
  [27] phi()
  [28] call bgcolor
  to:main::@6
main::@6: scope:[main]  from main::@5
  [29] phi()
  [30] call bordercolor
  to:main::@7
main::@7: scope:[main]  from main::@6
  [31] phi()
  [32] call textcolor
  to:main::@8
main::@8: scope:[main]  from main::@7
  [33] phi()
  [34] call cputsxy
  to:main::@9
main::@9: scope:[main]  from main::@8
  [35] phi()
  [36] call gotoxy
  to:main::@10
main::@10: scope:[main]  from main::@9
  [37] phi()
  [38] call revers
  to:main::@11
main::@11: scope:[main]  from main::@10
  [39] phi()
  [40] call printf_str
  to:main::@12
main::@12: scope:[main]  from main::@11
  [41] phi()
  [42] call printf_string
  to:main::@13
main::@13: scope:[main]  from main::@12
  [43] phi()
  [44] call printf_str
  to:main::@14
main::@14: scope:[main]  from main::@13
  [45] phi()
  [46] call waitkey
  to:main::@15
main::@15: scope:[main]  from main::@14
  [47] phi()
  [48] call clrscr
  to:main::@16
main::@16: scope:[main]  from main::@15
  [49] phi()
  [50] call revers
  to:main::@1
main::@1: scope:[main]  from main::@16 main::@19
  [51] main::i#2 = phi( main::@16/0, main::@19/main::i#1 )
  [52] call printf_str
  to:main::@17
main::@17: scope:[main]  from main::@1
  [53] printf_sint::value#1 = main::i#2
  [54] call printf_sint
  to:main::@18
main::@18: scope:[main]  from main::@17
  [55] phi()
  [56] call printf_str
  to:main::@19
main::@19: scope:[main]  from main::@18
  [57] main::i#1 = ++ main::i#2
  [58] if(main::i#1!=$33) goto main::@1
  to:main::@2
main::@2: scope:[main]  from main::@19
  [59] phi()
  [60] call waitkey
  to:main::@20
main::@20: scope:[main]  from main::@2
  [61] phi()
  [62] call scroll
  to:main::@3
main::@3: scope:[main]  from main::@20 main::@23
  [63] main::i1#2 = phi( main::@20/$33, main::@23/main::i1#1 )
  [64] call printf_str
  to:main::@21
main::@21: scope:[main]  from main::@3
  [65] printf_sint::value#2 = main::i1#2
  [66] call printf_sint
  to:main::@22
main::@22: scope:[main]  from main::@21
  [67] phi()
  [68] call printf_str
  to:main::@23
main::@23: scope:[main]  from main::@22
  [69] main::i1#1 = ++ main::i1#2
  [70] if(main::i1#1!=$c9) goto main::@3
  to:main::@4
main::@4: scope:[main]  from main::@23
  [71] phi()
  [72] call waitkey
  to:main::@return
main::@return: scope:[main]  from main::@4
  [73] return 
  to:@return

void putchar(char code)
putchar: scope:[putchar]  from cputc::@6
  [74] *(*OLDADR) = *OLDCHR
  [75] call cursorLocation
  [76] cursorLocation::return#0 = cursorLocation::return#1
  to:putchar::@1
putchar::@1: scope:[putchar]  from putchar
  [77] putchar::loc#0 = cursorLocation::return#0
  [78] putchar::newChar#0 = cputc::convertToScreenCode1_return#0 | conio_reverse_value
  [79] *putchar::loc#0 = putchar::newChar#0
  [80] *OLDCHR = putchar::newChar#0
  [81] call setcursor
  to:putchar::@return
putchar::@return: scope:[putchar]  from putchar::@1
  [82] return 
  to:@return

void setcursor()
setcursor: scope:[setcursor]  from cputc::@1 cputc::@4 gotoxy newline::@1 putchar::@1
  [83] *(*OLDADR) = *OLDCHR
  [84] call cursorLocation
  [85] cursorLocation::return#3 = cursorLocation::return#1
  to:setcursor::@4
setcursor::@4: scope:[setcursor]  from setcursor
  [86] setcursor::loc#0 = cursorLocation::return#3
  [87] setcursor::c#0 = *setcursor::loc#0
  [88] *OLDCHR = setcursor::c#0
  [89] *OLDADR = setcursor::loc#0
  [90] if(conio_display_cursor==0) goto setcursor::@1
  to:setcursor::@3
setcursor::@3: scope:[setcursor]  from setcursor::@4
  [91] *CRSINH = 0
  [92] setcursor::c#1 = setcursor::c#0 ^ $80
  to:setcursor::@2
setcursor::@2: scope:[setcursor]  from setcursor::@1 setcursor::@3
  [93] setcursor::c#3 = phi( setcursor::@1/setcursor::c#0, setcursor::@3/setcursor::c#1 )
  [94] *(*OLDADR) = setcursor::c#3
  to:setcursor::@return
setcursor::@return: scope:[setcursor]  from setcursor::@2
  [95] return 
  to:@return
setcursor::@1: scope:[setcursor]  from setcursor::@4
  [96] *CRSINH = 1
  to:setcursor::@2

void newline()
newline: scope:[newline]  from cputc::@2 cputc::@5
  [97] *ROWCRS = ++ *ROWCRS
  [98] if(*ROWCRS!=$18) goto newline::@1
  to:newline::@2
newline::@2: scope:[newline]  from newline
  [99] if(conio_scroll_enable==1) goto newline::@4
  to:newline::@3
newline::@3: scope:[newline]  from newline::@2
  [100] phi()
  [101] call gotoxy
  to:newline::@1
newline::@1: scope:[newline]  from newline newline::@3 newline::@8
  [102] phi()
  [103] call setcursor
  to:newline::@return
newline::@return: scope:[newline]  from newline::@1
  [104] return 
  to:@return
newline::@4: scope:[newline]  from newline::@2
  [105] if(conio_display_cursor!=1) goto newline::@5
  to:newline::@6
newline::@6: scope:[newline]  from newline::@4
  [106] *(*OLDADR) = *(*OLDADR) ^ $80
  to:newline::@5
newline::@5: scope:[newline]  from newline::@4 newline::@6
  [107] newline::start#0 = *SAVMSC
  [108] memcpy::source#0 = newline::start#0 + $28
  [109] memcpy::destination#0 = (void *)newline::start#0
  [110] call memcpy
  to:newline::@7
newline::@7: scope:[newline]  from newline::@5
  [111] memset::str#1 = newline::start#0 + (unsigned int)$28*$17
  [112] memset::str#8 = (void *)memset::str#1
  [113] call memset
  to:newline::@8
newline::@8: scope:[newline]  from newline::@7
  [114] *ROWCRS = $18-1
  to:newline::@1

char cursor(char onoff)
cursor: scope:[cursor]  from main
  [115] conio_display_cursor = cursor::onoff#0
  to:cursor::@return
cursor::@return: scope:[cursor]  from cursor
  [116] return 
  to:@return

char bgcolor(char color)
bgcolor: scope:[bgcolor]  from main::@5
  [117] *COLOR2 = DARK_ORANGE
  to:bgcolor::@return
bgcolor::@return: scope:[bgcolor]  from bgcolor
  [118] return 
  to:@return

char bordercolor(char color)
bordercolor: scope:[bordercolor]  from main::@6
  [119] *COLOR4 = MEDIUM_BLUE
  to:bordercolor::@return
bordercolor::@return: scope:[bordercolor]  from bordercolor
  [120] return 
  to:@return

char textcolor(char color)
textcolor: scope:[textcolor]  from main::@7
  [121] *COLOR1 = WHITE
  to:textcolor::@return
textcolor::@return: scope:[textcolor]  from textcolor
  [122] return 
  to:@return

void cputsxy(char x , char y , const char *s)
cputsxy: scope:[cputsxy]  from main::@8
  [123] phi()
  [124] call gotoxy
  to:cputsxy::@1
cputsxy::@1: scope:[cputsxy]  from cputsxy
  [125] phi()
  [126] call cputs
  to:cputsxy::@return
cputsxy::@return: scope:[cputsxy]  from cputsxy::@1
  [127] return 
  to:@return

void gotoxy(char x , char y)
gotoxy: scope:[gotoxy]  from clrscr::@1 cputsxy main::@9 newline::@3
  [128] gotoxy::y#4 = phi( clrscr::@1/0, cputsxy/cputsxy::y#0, main::@9/3, newline::@3/0 )
  [128] gotoxy::x#4 = phi( clrscr::@1/0, cputsxy/cputsxy::x#0, main::@9/0, newline::@3/0 )
  [129] *COLCRS = gotoxy::x#4
  [130] *ROWCRS = gotoxy::y#4
  [131] call setcursor
  to:gotoxy::@return
gotoxy::@return: scope:[gotoxy]  from gotoxy
  [132] return 
  to:@return

char revers(char onoff)
revers: scope:[revers]  from main::@10 main::@16
  [133] revers::onoff#2 = phi( main::@10/1, main::@16/0 )
  [134] if(revers::onoff#2==0) goto revers::@1
  to:revers::@2
revers::@2: scope:[revers]  from revers
  [135] conio_reverse_value = $80
  to:revers::@return
revers::@return: scope:[revers]  from revers::@1 revers::@2
  [136] return 
  to:@return
revers::@1: scope:[revers]  from revers
  [137] conio_reverse_value = 0
  to:revers::@return

void printf_str(void (*putc)(char) , const char *s)
printf_str: scope:[printf_str]  from main::@1 main::@11 main::@13 main::@18 main::@22 main::@3 printf_number_buffer::@2 printf_string::@1
  [138] printf_str::putc#10 = phi( main::@1/&cputc, main::@11/&cputc, main::@13/&cputc, main::@18/&cputc, main::@22/&cputc, main::@3/&cputc, printf_number_buffer::@2/printf_number_buffer::putc#0, printf_string::@1/printf_string::putc#0 )
  [138] printf_str::s#10 = phi( main::@1/main::s3, main::@11/main::s1, main::@13/main::s2, main::@18/main::s4, main::@22/main::s4, main::@3/main::s5, printf_number_buffer::@2/printf_number_buffer::buffer_digits#0, printf_string::@1/main::name )
  to:printf_str::@1
printf_str::@1: scope:[printf_str]  from printf_str printf_str::@2
  [139] printf_str::s#9 = phi( printf_str/printf_str::s#10, printf_str::@2/printf_str::s#0 )
  [140] printf_str::c#1 = *printf_str::s#9
  [141] printf_str::s#0 = ++ printf_str::s#9
  [142] if(0!=printf_str::c#1) goto printf_str::@2
  to:printf_str::@return
printf_str::@return: scope:[printf_str]  from printf_str::@1
  [143] return 
  to:@return
printf_str::@2: scope:[printf_str]  from printf_str::@1
  [144] stackpush(char) = printf_str::c#1
  [145] callexecute *printf_str::putc#10 
  sideeffect stackpullbytes(1)
  to:printf_str::@1

void printf_string(void (*putc)(char) , char *str , char format_min_length , char format_justify_left)
printf_string: scope:[printf_string]  from main::@12
  [147] phi()
  to:printf_string::@1
printf_string::@1: scope:[printf_string]  from printf_string
  [148] phi()
  [149] call printf_str
  to:printf_string::@return
printf_string::@return: scope:[printf_string]  from printf_string::@1
  [150] return 
  to:@return

void waitkey()
waitkey: scope:[waitkey]  from main::@14 main::@2 main::@4
  [151] phi()
  to:waitkey::@1
waitkey::@1: scope:[waitkey]  from waitkey waitkey::@2
  [152] phi()
  [153] call kbhit
  [154] kbhit::return#3 = kbhit::return#2
  to:waitkey::@2
waitkey::@2: scope:[waitkey]  from waitkey::@1
  [155] waitkey::$1 = kbhit::return#3
  [156] if(0==waitkey::$1) goto waitkey::@1
  to:waitkey::clrkb1
waitkey::clrkb1: scope:[waitkey]  from waitkey::@2
  [157] *CH = $ff
  to:waitkey::@return
waitkey::@return: scope:[waitkey]  from waitkey::clrkb1
  [158] return 
  to:@return

void clrscr()
clrscr: scope:[clrscr]  from main::@15
  [159] memset::str#7 = (void *)*SAVMSC
  [160] call memset
  to:clrscr::@1
clrscr::@1: scope:[clrscr]  from clrscr
  [161] *OLDCHR = 0
  [162] call gotoxy
  to:clrscr::@return
clrscr::@return: scope:[clrscr]  from clrscr::@1
  [163] 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::@17 main::@21
  [164] printf_sint::value#3 = phi( main::@17/printf_sint::value#1, main::@21/printf_sint::value#2 )
  [165] *((char *)&printf_buffer) = 0
  [166] if(printf_sint::value#3<0) goto printf_sint::@1
  to:printf_sint::@2
printf_sint::@1: scope:[printf_sint]  from printf_sint
  [167] printf_sint::value#0 = - printf_sint::value#3
  [168] *((char *)&printf_buffer) = '-'at
  to:printf_sint::@2
printf_sint::@2: scope:[printf_sint]  from printf_sint printf_sint::@1
  [169] printf_sint::value#5 = phi( printf_sint::@1/printf_sint::value#0, printf_sint/printf_sint::value#3 )
  [170] utoa::value#1 = (unsigned int)printf_sint::value#5
  [171] call utoa
  to:printf_sint::@3
printf_sint::@3: scope:[printf_sint]  from printf_sint::@2
  [172] printf_number_buffer::buffer_sign#0 = *((char *)&printf_buffer)
  [173] call printf_number_buffer
  to:printf_sint::@return
printf_sint::@return: scope:[printf_sint]  from printf_sint::@3
  [174] return 
  to:@return

char scroll(char onoff)
scroll: scope:[scroll]  from main::@20
  [175] conio_scroll_enable = scroll::onoff#0
  to:scroll::@return
scroll::@return: scope:[scroll]  from scroll
  [176] return 
  to:@return

char * cursorLocation()
cursorLocation: scope:[cursorLocation]  from putchar setcursor
  [177] cursorLocation::$3 = (unsigned int)*ROWCRS
  [178] cursorLocation::$4 = cursorLocation::$3 << 2
  [179] cursorLocation::$5 = cursorLocation::$4 + cursorLocation::$3
  [180] cursorLocation::$0 = cursorLocation::$5 << 3
  [181] cursorLocation::$1 = *SAVMSC + cursorLocation::$0
  [182] cursorLocation::return#1 = cursorLocation::$1 + *COLCRS
  to:cursorLocation::@return
cursorLocation::@return: scope:[cursorLocation]  from cursorLocation
  [183] return 
  to:@return

void * memcpy(void *destination , void *source , unsigned int num)
memcpy: scope:[memcpy]  from newline::@5
  [184] memcpy::src_end#0 = (char *)(void *)memcpy::source#0 + memcpy::num#0
  [185] memcpy::src#4 = (char *)(void *)memcpy::source#0
  [186] memcpy::dst#4 = (char *)memcpy::destination#0
  to:memcpy::@1
memcpy::@1: scope:[memcpy]  from memcpy memcpy::@2
  [187] memcpy::dst#2 = phi( memcpy/memcpy::dst#4, memcpy::@2/memcpy::dst#1 )
  [187] memcpy::src#2 = phi( memcpy/memcpy::src#4, memcpy::@2/memcpy::src#1 )
  [188] if(memcpy::src#2!=memcpy::src_end#0) goto memcpy::@2
  to:memcpy::@return
memcpy::@return: scope:[memcpy]  from memcpy::@1
  [189] return 
  to:@return
memcpy::@2: scope:[memcpy]  from memcpy::@1
  [190] *memcpy::dst#2 = *memcpy::src#2
  [191] memcpy::dst#1 = ++ memcpy::dst#2
  [192] memcpy::src#1 = ++ memcpy::src#2
  to:memcpy::@1

void * memset(void *str , char c , unsigned int num)
memset: scope:[memset]  from clrscr newline::@7
  [193] memset::str#3 = phi( clrscr/memset::str#7, newline::@7/memset::str#8 )
  [193] memset::num#2 = phi( clrscr/(unsigned int)$28*$18, newline::@7/$28 )
  [194] if(memset::num#2<=0) goto memset::@return
  to:memset::@1
memset::@1: scope:[memset]  from memset
  [195] memset::end#0 = (char *)memset::str#3 + memset::num#2
  [196] memset::dst#4 = (char *)memset::str#3
  to:memset::@2
memset::@2: scope:[memset]  from memset::@1 memset::@3
  [197] memset::dst#2 = phi( memset::@1/memset::dst#4, memset::@3/memset::dst#1 )
  [198] if(memset::dst#2!=memset::end#0) goto memset::@3
  to:memset::@return
memset::@return: scope:[memset]  from memset memset::@2
  [199] return 
  to:@return
memset::@3: scope:[memset]  from memset::@2
  [200] *memset::dst#2 = 0
  [201] memset::dst#1 = ++ memset::dst#2
  to:memset::@2

void cputs(const char *s)
cputs: scope:[cputs]  from cputsxy::@1
  [202] phi()
  to:cputs::@1
cputs::@1: scope:[cputs]  from cputs cputs::@2
  [203] cputs::s#2 = phi( cputs/main::s, cputs::@2/cputs::s#0 )
  [204] cputs::c#1 = *cputs::s#2
  [205] cputs::s#0 = ++ cputs::s#2
  [206] if(0!=cputs::c#1) goto cputs::@2
  to:cputs::@return
cputs::@return: scope:[cputs]  from cputs::@1
  [207] return 
  to:@return
cputs::@2: scope:[cputs]  from cputs::@1
  [208] stackpush(char) = cputs::c#1
  [209] callexecute cputc 
  sideeffect stackpullbytes(1)
  to:cputs::@1

char kbhit()
kbhit: scope:[kbhit]  from waitkey::@1
  [211] if(*CH==$ff) goto kbhit::@1
  to:kbhit::@return
kbhit::@1: scope:[kbhit]  from kbhit
  [212] phi()
  to:kbhit::@return
kbhit::@return: scope:[kbhit]  from kbhit kbhit::@1
  [213] kbhit::return#2 = phi( kbhit::@1/0, kbhit/1 )
  [214] return 
  to:@return

void utoa(unsigned int value , char *buffer , char radix)
utoa: scope:[utoa]  from printf_sint::@2
  [215] phi()
  to:utoa::@1
utoa::@1: scope:[utoa]  from utoa utoa::@4
  [216] utoa::buffer#11 = phi( utoa::@4/utoa::buffer#14, utoa/(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS )
  [216] utoa::started#2 = phi( utoa::@4/utoa::started#4, utoa/0 )
  [216] utoa::value#2 = phi( utoa::@4/utoa::value#6, utoa/utoa::value#1 )
  [216] utoa::digit#2 = phi( utoa::@4/utoa::digit#1, utoa/0 )
  [217] if(utoa::digit#2<5-1) goto utoa::@2
  to:utoa::@3
utoa::@3: scope:[utoa]  from utoa::@1
  [218] utoa::$11 = (char)utoa::value#2
  [219] *utoa::buffer#11 = DIGITS[utoa::$11]
  [220] utoa::buffer#3 = ++ utoa::buffer#11
  [221] *utoa::buffer#3 = 0
  to:utoa::@return
utoa::@return: scope:[utoa]  from utoa::@3
  [222] return 
  to:@return
utoa::@2: scope:[utoa]  from utoa::@1
  [223] utoa::$10 = utoa::digit#2 << 1
  [224] utoa::digit_value#0 = RADIX_DECIMAL_VALUES[utoa::$10]
  [225] if(0!=utoa::started#2) goto utoa::@5
  to:utoa::@7
utoa::@7: scope:[utoa]  from utoa::@2
  [226] if(utoa::value#2>=utoa::digit_value#0) goto utoa::@5
  to:utoa::@4
utoa::@4: scope:[utoa]  from utoa::@6 utoa::@7
  [227] utoa::buffer#14 = phi( utoa::@7/utoa::buffer#11, utoa::@6/utoa::buffer#4 )
  [227] utoa::started#4 = phi( utoa::@7/utoa::started#2, utoa::@6/1 )
  [227] utoa::value#6 = phi( utoa::@7/utoa::value#2, utoa::@6/utoa::value#0 )
  [228] utoa::digit#1 = ++ utoa::digit#2
  to:utoa::@1
utoa::@5: scope:[utoa]  from utoa::@2 utoa::@7
  [229] utoa_append::buffer#0 = utoa::buffer#11
  [230] utoa_append::value#0 = utoa::value#2
  [231] utoa_append::sub#0 = utoa::digit_value#0
  [232] call utoa_append
  [233] utoa_append::return#0 = utoa_append::value#2
  to:utoa::@6
utoa::@6: scope:[utoa]  from utoa::@5
  [234] utoa::value#0 = utoa_append::return#0
  [235] utoa::buffer#4 = ++ utoa::buffer#11
  to:utoa::@4

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_sint::@3
  [236] phi()
  to:printf_number_buffer::@1
printf_number_buffer::@1: scope:[printf_number_buffer]  from printf_number_buffer
  [237] if(0==printf_number_buffer::buffer_sign#0) goto printf_number_buffer::@2
  to:printf_number_buffer::@3
printf_number_buffer::@3: scope:[printf_number_buffer]  from printf_number_buffer::@1
  [238] stackpush(char) = printf_number_buffer::buffer_sign#0
  [239] callexecute cputc 
  sideeffect stackpullbytes(1)
  to:printf_number_buffer::@2
printf_number_buffer::@2: scope:[printf_number_buffer]  from printf_number_buffer::@1 printf_number_buffer::@3
  [241] phi()
  [242] call printf_str
  to:printf_number_buffer::@return
printf_number_buffer::@return: scope:[printf_number_buffer]  from printf_number_buffer::@2
  [243] return 
  to:@return

unsigned int utoa_append(char *buffer , unsigned int value , unsigned int sub)
utoa_append: scope:[utoa_append]  from utoa::@5
  [244] phi()
  to:utoa_append::@1
utoa_append::@1: scope:[utoa_append]  from utoa_append utoa_append::@2
  [245] utoa_append::digit#2 = phi( utoa_append/0, utoa_append::@2/utoa_append::digit#1 )
  [245] utoa_append::value#2 = phi( utoa_append/utoa_append::value#0, utoa_append::@2/utoa_append::value#1 )
  [246] 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
  [247] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2]
  to:utoa_append::@return
utoa_append::@return: scope:[utoa_append]  from utoa_append::@3
  [248] return 
  to:@return
utoa_append::@2: scope:[utoa_append]  from utoa_append::@1
  [249] utoa_append::digit#1 = ++ utoa_append::digit#2
  [250] utoa_append::value#1 = utoa_append::value#2 - utoa_append::sub#0
  to:utoa_append::@1

null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc
null depth in calling loop Loop head: main::@1 tails: main::@19 blocks: main::@19 main::@18 main::@17 main::@1  in scope printf_sint
null depth in calling loop Loop head: main::@3 tails: main::@23 blocks: main::@23 main::@22 main::@21 main::@3  in scope printf_sint
null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc
null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc
null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc
null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc
null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc
null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc
null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc
null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc
null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc
null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc
null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc
null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc
null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc
null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc
null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc
null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc
null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc
null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc
null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc
null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc
null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc
null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc
null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc
null depth in calling loop Loop head: cputs::@1 tails: cputs::@2 blocks: cputs::@2 cputs::@1  in scope cputc

VARIABLE REGISTER WEIGHTS
void __start()
char bgcolor(char color)
char bgcolor::color
char bgcolor::old
char bgcolor::return
char bordercolor(char color)
char bordercolor::color
char bordercolor::old
char bordercolor::return
void clrscr()
__loadstore char conio_display_cursor // 677853.0536912751
__loadstore char conio_reverse_value // 10640.478723404254
__loadstore char conio_scroll_enable // 8621.58620689655
__stackcall void cputc(volatile char c)
__loadstore volatile char cputc::c // 133334.66666666666
char cputc::convertToScreenCode1_return
char cputc::convertToScreenCode1_return#0 // 183333.6666666667
char *cputc::convertToScreenCode1_v
void cputs(const char *s)
char cputs::c
char cputs::c#1 // 10001.0
const char *cputs::s
const char *cputs::s#0 // 4000.4
const char *cputs::s#2 // 15001.5
void cputsxy(char x , char y , const char *s)
const char *cputsxy::s
char cputsxy::x
char cputsxy::y
char cursor(char onoff)
char cursor::oldValue
char cursor::onoff
char cursor::return
char * cursorLocation()
unsigned int cursorLocation::$0 // 2.000000002E9
char *cursorLocation::$1 // 2.000000002E9
unsigned int cursorLocation::$3 // 1.5000000015E9
unsigned int cursorLocation::$4 // 2.000000002E9
unsigned int cursorLocation::$5 // 2.000000002E9
char *cursorLocation::return
char *cursorLocation::return#0 // 2000002.0
char *cursorLocation::return#1 // 2.7525000075E8
char *cursorLocation::return#3 // 2.00000002E8
void gotoxy(char x , char y)
char gotoxy::x
char gotoxy::x#4 // 1.0000001E7
char gotoxy::y
char gotoxy::y#4 // 5000000.5
char kbhit()
char kbhit::return
char kbhit::return#2 // 333.6666666666667
char kbhit::return#3 // 2002.0
void main()
int main::i
int main::i#1 // 151.5
int main::i#2 // 50.5
int main::i1
int main::i1#1 // 151.5
int main::i1#2 // 50.5
void * memcpy(void *destination , void *source , unsigned int num)
void *memcpy::destination
void *memcpy::destination#0 // 333333.6666666667
char *memcpy::dst
char *memcpy::dst#1 // 1.000000001E9
char *memcpy::dst#2 // 1.0033333346666667E9
char *memcpy::dst#4 // 2.0000002E7
unsigned int memcpy::num
void *memcpy::return
void *memcpy::source
char *memcpy::source#0 // 333333.6666666667
char *memcpy::src
char *memcpy::src#1 // 2.000000002E9
char *memcpy::src#2 // 1.00250000125E9
char *memcpy::src#4 // 1.0000001E7
char *memcpy::src_end
char *memcpy::src_end#0 // 1.2625000025E8
void * memset(void *str , char c , unsigned int num)
char memset::c
char *memset::dst
char *memset::dst#1 // 2.000000002E9
char *memset::dst#2 // 1.3366666683333335E9
char *memset::dst#4 // 2.0000002E7
char *memset::end
char *memset::end#0 // 1.683333336666667E8
unsigned int memset::num
unsigned int memset::num#2 // 1.0000001E7
void *memset::return
void *memset::str
char *memset::str#1 // 1000001.0
void *memset::str#3 // 333367.3333333334
void *memset::str#7 // 202.0
void *memset::str#8 // 2000002.0
void newline()
char *newline::start
char *newline::start#0 // 750000.75
__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)
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 // 7001.0
struct printf_format_number printf_number_buffer::format
char printf_number_buffer::format_justify_left
char printf_number_buffer::format_min_length
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_zero_padding
signed char printf_number_buffer::len
signed char printf_number_buffer::padding
void (*printf_number_buffer::putc)(char)
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
int printf_sint::value#0 // 1001.0
int printf_sint::value#1 // 202.0
int printf_sint::value#2 // 202.0
int printf_sint::value#3 // 1068.3333333333335
int printf_sint::value#5 // 2002.0
void printf_str(void (*putc)(char) , const char *s)
char printf_str::c
char printf_str::c#1 // 1.0000001E7
void (*printf_str::putc)(char)
void (*printf_str::putc#10)(char)
const char *printf_str::s
const char *printf_str::s#0 // 1.0000001E7
const char *printf_str::s#10 // 100001.0
const char *printf_str::s#9 // 1.5050002E7
void printf_string(void (*putc)(char) , char *str , char format_min_length , char format_justify_left)
struct printf_format_string printf_string::format
char printf_string::format_justify_left
char printf_string::format_min_length
signed char printf_string::len
signed char printf_string::padding
void (*printf_string::putc)(char)
char *printf_string::str
void putchar(char code)
char putchar::code
char *putchar::loc
char *putchar::loc#0 // 1000001.0
char putchar::newChar
char putchar::newChar#0 // 1500001.5
char revers(char onoff)
char revers::old
char revers::onoff
char revers::onoff#2 // 101.0
char revers::return
char scroll(char onoff)
char scroll::old
char scroll::onoff
char scroll::return
void setcursor()
char setcursor::c
char setcursor::c#0 // 6.6666667333333336E7
char setcursor::c#1 // 2.00000002E8
char setcursor::c#3 // 3.00000003E8
char *setcursor::loc
char *setcursor::loc#0 // 1.00000001E8
char textcolor(char color)
char textcolor::color
char textcolor::old
char textcolor::return
void utoa(unsigned int value , char *buffer , char radix)
char utoa::$10 // 2000002.0
char utoa::$11 // 20002.0
char *utoa::buffer
char *utoa::buffer#11 // 287143.2857142857
char *utoa::buffer#14 // 1500001.5
char *utoa::buffer#3 // 20002.0
char *utoa::buffer#4 // 2000002.0
char utoa::digit
char utoa::digit#1 // 2000002.0
char utoa::digit#2 // 285714.5714285714
unsigned int utoa::digit_value
unsigned int utoa::digit_value#0 // 600000.6000000001
unsigned int *utoa::digit_values
char utoa::max_digits
char utoa::radix
char utoa::started
char utoa::started#2 // 500000.5
char utoa::started#4 // 1000001.0
unsigned int utoa::value
unsigned int utoa::value#0 // 1000001.0
unsigned int utoa::value#1 // 5501.0
unsigned int utoa::value#2 // 572857.857142857
unsigned int utoa::value#6 // 1500001.5
unsigned int utoa_append(char *buffer , unsigned int value , unsigned int sub)
char *utoa_append::buffer
char *utoa_append::buffer#0 // 1375000.25
char utoa_append::digit
char utoa_append::digit#1 // 1.0000000001E10
char utoa_append::digit#2 // 1.00050000015E10
unsigned int utoa_append::return
unsigned int utoa_append::return#0 // 2000002.0
unsigned int utoa_append::sub
unsigned int utoa_append::sub#0 // 3.3335000005E9
unsigned int utoa_append::value
unsigned int utoa_append::value#0 // 3666667.333333333
unsigned int utoa_append::value#1 // 2.0000000002E10
unsigned int utoa_append::value#2 // 5.001833334166666E9
void waitkey()
char waitkey::$1 // 2002.0

Initial phi equivalence classes
[ main::i#2 main::i#1 ]
[ main::i1#2 main::i1#1 ]
[ setcursor::c#3 setcursor::c#0 setcursor::c#1 ]
[ gotoxy::x#4 ]
[ gotoxy::y#4 ]
[ revers::onoff#2 ]
[ printf_str::putc#10 ]
[ printf_str::s#9 printf_str::s#10 printf_str::s#0 ]
[ printf_sint::value#5 printf_sint::value#0 printf_sint::value#3 printf_sint::value#1 printf_sint::value#2 ]
[ memcpy::src#2 memcpy::src#4 memcpy::src#1 ]
[ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ]
[ memset::num#2 ]
[ memset::str#3 memset::str#7 memset::str#8 ]
[ memset::dst#2 memset::dst#4 memset::dst#1 ]
[ cputs::s#2 cputs::s#0 ]
[ kbhit::return#2 ]
[ utoa::digit#2 utoa::digit#1 ]
[ utoa::value#2 utoa::value#6 utoa::value#1 utoa::value#0 ]
[ utoa::started#2 utoa::started#4 ]
[ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 ]
[ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ]
[ utoa_append::digit#2 utoa_append::digit#1 ]
Added variable conio_reverse_value to live range equivalence class [ conio_reverse_value ]
Added variable conio_display_cursor to live range equivalence class [ conio_display_cursor ]
Added variable conio_scroll_enable to live range equivalence class [ conio_scroll_enable ]
Added variable cputc::c to live range equivalence class [ cputc::c ]
Added variable cputc::convertToScreenCode1_return#0 to live range equivalence class [ cputc::convertToScreenCode1_return#0 ]
Added variable cursorLocation::return#0 to live range equivalence class [ cursorLocation::return#0 ]
Added variable putchar::loc#0 to live range equivalence class [ putchar::loc#0 ]
Added variable putchar::newChar#0 to live range equivalence class [ putchar::newChar#0 ]
Added variable cursorLocation::return#3 to live range equivalence class [ cursorLocation::return#3 ]
Added variable setcursor::loc#0 to live range equivalence class [ setcursor::loc#0 ]
Added variable newline::start#0 to live range equivalence class [ newline::start#0 ]
Added variable memcpy::source#0 to live range equivalence class [ memcpy::source#0 ]
Added variable memcpy::destination#0 to live range equivalence class [ memcpy::destination#0 ]
Added variable memset::str#1 to live range equivalence class [ memset::str#1 ]
Added variable printf_str::c#1 to live range equivalence class [ printf_str::c#1 ]
Added variable kbhit::return#3 to live range equivalence class [ kbhit::return#3 ]
Added variable waitkey::$1 to live range equivalence class [ waitkey::$1 ]
Added variable printf_number_buffer::buffer_sign#0 to live range equivalence class [ printf_number_buffer::buffer_sign#0 ]
Added variable cursorLocation::$3 to live range equivalence class [ cursorLocation::$3 ]
Added variable cursorLocation::$4 to live range equivalence class [ cursorLocation::$4 ]
Added variable cursorLocation::$5 to live range equivalence class [ cursorLocation::$5 ]
Added variable cursorLocation::$0 to live range equivalence class [ cursorLocation::$0 ]
Added variable cursorLocation::$1 to live range equivalence class [ cursorLocation::$1 ]
Added variable cursorLocation::return#1 to live range equivalence class [ cursorLocation::return#1 ]
Added variable memcpy::src_end#0 to live range equivalence class [ memcpy::src_end#0 ]
Added variable memset::end#0 to live range equivalence class [ memset::end#0 ]
Added variable cputs::c#1 to live range equivalence class [ cputs::c#1 ]
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 printf_buffer to live range equivalence class [ printf_buffer ]
Complete equivalence classes
[ main::i#2 main::i#1 ]
[ main::i1#2 main::i1#1 ]
[ setcursor::c#3 setcursor::c#0 setcursor::c#1 ]
[ gotoxy::x#4 ]
[ gotoxy::y#4 ]
[ revers::onoff#2 ]
[ printf_str::putc#10 ]
[ printf_str::s#9 printf_str::s#10 printf_str::s#0 ]
[ printf_sint::value#5 printf_sint::value#0 printf_sint::value#3 printf_sint::value#1 printf_sint::value#2 ]
[ memcpy::src#2 memcpy::src#4 memcpy::src#1 ]
[ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ]
[ memset::num#2 ]
[ memset::str#3 memset::str#7 memset::str#8 ]
[ memset::dst#2 memset::dst#4 memset::dst#1 ]
[ cputs::s#2 cputs::s#0 ]
[ kbhit::return#2 ]
[ utoa::digit#2 utoa::digit#1 ]
[ utoa::value#2 utoa::value#6 utoa::value#1 utoa::value#0 ]
[ utoa::started#2 utoa::started#4 ]
[ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 ]
[ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ]
[ utoa_append::digit#2 utoa_append::digit#1 ]
[ conio_reverse_value ]
[ conio_display_cursor ]
[ conio_scroll_enable ]
[ cputc::c ]
[ cputc::convertToScreenCode1_return#0 ]
[ cursorLocation::return#0 ]
[ putchar::loc#0 ]
[ putchar::newChar#0 ]
[ cursorLocation::return#3 ]
[ setcursor::loc#0 ]
[ newline::start#0 ]
[ memcpy::source#0 ]
[ memcpy::destination#0 ]
[ memset::str#1 ]
[ printf_str::c#1 ]
[ kbhit::return#3 ]
[ waitkey::$1 ]
[ printf_number_buffer::buffer_sign#0 ]
[ cursorLocation::$3 ]
[ cursorLocation::$4 ]
[ cursorLocation::$5 ]
[ cursorLocation::$0 ]
[ cursorLocation::$1 ]
[ cursorLocation::return#1 ]
[ memcpy::src_end#0 ]
[ memset::end#0 ]
[ cputs::c#1 ]
[ utoa::$11 ]
[ utoa::buffer#3 ]
[ utoa::$10 ]
[ utoa::digit_value#0 ]
[ utoa_append::buffer#0 ]
[ utoa_append::sub#0 ]
[ utoa_append::return#0 ]
[ printf_buffer ]
Allocated zp[2]:128 [ main::i#2 main::i#1 ]
Allocated zp[2]:130 [ main::i1#2 main::i1#1 ]
Allocated zp[1]:132 [ setcursor::c#3 setcursor::c#0 setcursor::c#1 ]
Allocated zp[1]:133 [ gotoxy::x#4 ]
Allocated zp[1]:134 [ gotoxy::y#4 ]
Allocated zp[1]:135 [ revers::onoff#2 ]
Allocated zp[2]:136 [ printf_str::putc#10 ]
Allocated zp[2]:138 [ printf_str::s#9 printf_str::s#10 printf_str::s#0 ]
Allocated zp[2]:140 [ printf_sint::value#5 printf_sint::value#0 printf_sint::value#3 printf_sint::value#1 printf_sint::value#2 ]
Allocated zp[2]:142 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 ]
Allocated zp[2]:144 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ]
Allocated zp[2]:146 [ memset::num#2 ]
Allocated zp[2]:148 [ memset::str#3 memset::str#7 memset::str#8 ]
Allocated zp[2]:150 [ memset::dst#2 memset::dst#4 memset::dst#1 ]
Allocated zp[2]:152 [ cputs::s#2 cputs::s#0 ]
Allocated zp[1]:154 [ kbhit::return#2 ]
Allocated zp[1]:155 [ utoa::digit#2 utoa::digit#1 ]
Allocated zp[2]:156 [ utoa::value#2 utoa::value#6 utoa::value#1 utoa::value#0 ]
Allocated zp[1]:158 [ utoa::started#2 utoa::started#4 ]
Allocated zp[2]:159 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 ]
Allocated zp[2]:161 [ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ]
Allocated zp[1]:163 [ utoa_append::digit#2 utoa_append::digit#1 ]
Allocated zp[1]:164 [ conio_reverse_value ]
Allocated zp[1]:165 [ conio_display_cursor ]
Allocated zp[1]:166 [ conio_scroll_enable ]
Allocated zp[1]:167 [ cputc::c ]
Allocated zp[1]:168 [ cputc::convertToScreenCode1_return#0 ]
Allocated zp[2]:169 [ cursorLocation::return#0 ]
Allocated zp[2]:171 [ putchar::loc#0 ]
Allocated zp[1]:173 [ putchar::newChar#0 ]
Allocated zp[2]:174 [ cursorLocation::return#3 ]
Allocated zp[2]:176 [ setcursor::loc#0 ]
Allocated zp[2]:178 [ newline::start#0 ]
Allocated zp[2]:180 [ memcpy::source#0 ]
Allocated zp[2]:182 [ memcpy::destination#0 ]
Allocated zp[2]:184 [ memset::str#1 ]
Allocated zp[1]:186 [ printf_str::c#1 ]
Allocated zp[1]:187 [ kbhit::return#3 ]
Allocated zp[1]:188 [ waitkey::$1 ]
Allocated zp[1]:189 [ printf_number_buffer::buffer_sign#0 ]
Allocated zp[2]:190 [ cursorLocation::$3 ]
Allocated zp[2]:192 [ cursorLocation::$4 ]
Allocated zp[2]:194 [ cursorLocation::$5 ]
Allocated zp[2]:196 [ cursorLocation::$0 ]
Allocated zp[2]:198 [ cursorLocation::$1 ]
Allocated zp[2]:200 [ cursorLocation::return#1 ]
Allocated zp[2]:202 [ memcpy::src_end#0 ]
Allocated zp[2]:204 [ memset::end#0 ]
Allocated zp[1]:206 [ cputs::c#1 ]
Allocated zp[1]:207 [ utoa::$11 ]
Allocated zp[2]:208 [ utoa::buffer#3 ]
Allocated zp[1]:210 [ utoa::$10 ]
Allocated zp[2]:211 [ utoa::digit_value#0 ]
Allocated zp[2]:213 [ utoa_append::buffer#0 ]
Allocated zp[2]:215 [ utoa_append::sub#0 ]
Allocated zp[2]:217 [ utoa_append::return#0 ]
Allocated mem[12] [ printf_buffer ]
REGISTER UPLIFT POTENTIAL REGISTERS
Statement [1] conio_reverse_value = 0 [ conio_reverse_value printf_buffer ] (  [ conio_reverse_value printf_buffer ] { }  ) always clobbers reg byte a 
Statement [2] conio_display_cursor = 1 [ conio_reverse_value printf_buffer ] (  [ conio_reverse_value printf_buffer ] { }  ) always clobbers reg byte a 
Statement [3] conio_scroll_enable = 1 [ conio_reverse_value conio_scroll_enable printf_buffer ] (  [ conio_reverse_value conio_scroll_enable printf_buffer ] { }  ) always clobbers reg byte a 
Statement [7] cputc::c = stackidx(char,cputc::OFFSET_STACK_C) [ conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] (  [ conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] { }  main:5::cputsxy:34::cputs:126::cputc:209 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a reg byte x 
Statement [8] if(cputc::c=='
'at) goto cputc::@1 [ conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] (  [ conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] { }  main:5::cputsxy:34::cputs:126::cputc:209 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [9] if(cputc::c=='
'at) goto cputc::@2 [ conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] (  [ conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] { }  main:5::cputsxy:34::cputs:126::cputc:209 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [10] if(cputc::c==$9b) goto cputc::@2 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] (  [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [11] cputc::convertToScreenCode1_return#0 = rawmap[*cputc::convertToScreenCode1_v#0] [ conio_reverse_value conio_display_cursor conio_scroll_enable cputc::convertToScreenCode1_return#0 ] (  [ conio_reverse_value conio_display_cursor conio_scroll_enable cputc::convertToScreenCode1_return#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable cputc::convertToScreenCode1_return#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable cputc::convertToScreenCode1_return#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable cputc::convertToScreenCode1_return#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte y 
Statement [15] if(*COLCRS==$28) goto cputc::@5 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] (  [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [19] *COLCRS = 0 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] (  [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [21] *COLCRS = 0 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] (  [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [23] *COLCRS = 0 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] (  [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [53] printf_sint::value#1 = main::i#2 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i#2 printf_sint::value#1 printf_buffer ] ( main:5 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i#2 printf_sint::value#1 printf_buffer ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  ) always clobbers reg byte a 
Statement [58] if(main::i#1!=$33) goto main::@1 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i#1 printf_buffer ] ( main:5 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i#1 printf_buffer ] { }  ) always clobbers reg byte a 
Statement [65] printf_sint::value#2 = main::i1#2 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i1#2 printf_sint::value#2 printf_buffer ] ( main:5 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i1#2 printf_sint::value#2 printf_buffer ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [70] if(main::i1#1!=$c9) goto main::@3 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i1#1 printf_buffer ] ( main:5 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i1#1 printf_buffer ] { }  ) always clobbers reg byte a 
Statement [74] *(*OLDADR) = *OLDCHR [ conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 ] ( putchar:13 [ conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  ) always clobbers reg byte a reg byte y 
Removing always clobbered register reg byte a as potential for zp[1]:168 [ cputc::convertToScreenCode1_return#0 ]
Removing always clobbered register reg byte y as potential for zp[1]:168 [ cputc::convertToScreenCode1_return#0 ]
Statement [76] cursorLocation::return#0 = cursorLocation::return#1 [ conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::return#0 ] ( putchar:13 [ conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::return#0 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::return#0 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::return#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::return#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  ) always clobbers reg byte a 
Statement [77] putchar::loc#0 = cursorLocation::return#0 [ conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 putchar::loc#0 ] ( putchar:13 [ conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 putchar::loc#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 putchar::loc#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 putchar::loc#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 putchar::loc#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [78] putchar::newChar#0 = cputc::convertToScreenCode1_return#0 | conio_reverse_value [ conio_reverse_value conio_display_cursor putchar::loc#0 putchar::newChar#0 ] ( putchar:13 [ conio_scroll_enable conio_reverse_value conio_display_cursor putchar::loc#0 putchar::newChar#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor putchar::loc#0 putchar::newChar#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor putchar::loc#0 putchar::newChar#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor putchar::loc#0 putchar::newChar#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [79] *putchar::loc#0 = putchar::newChar#0 [ conio_reverse_value conio_display_cursor putchar::newChar#0 ] ( putchar:13 [ conio_scroll_enable conio_reverse_value conio_display_cursor putchar::newChar#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor putchar::newChar#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor putchar::newChar#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor putchar::newChar#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte y 
Removing always clobbered register reg byte y as potential for zp[1]:173 [ putchar::newChar#0 ]
Statement [83] *(*OLDADR) = *OLDCHR [ conio_display_cursor ] ( setcursor:17 [ conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  setcursor:24 [ conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  putchar:13::setcursor:81 [ conio_scroll_enable conio_reverse_value conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::gotoxy:36::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::clrscr:48::gotoxy:162::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  ) always clobbers reg byte a reg byte y 
Statement [85] cursorLocation::return#3 = cursorLocation::return#1 [ conio_display_cursor cursorLocation::return#3 ] ( setcursor:17 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  setcursor:24 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  putchar:13::setcursor:81 [ conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::gotoxy:36::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::clrscr:48::gotoxy:162::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  ) always clobbers reg byte a 
Statement [86] setcursor::loc#0 = cursorLocation::return#3 [ conio_display_cursor setcursor::loc#0 ] ( setcursor:17 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  setcursor:24 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  putchar:13::setcursor:81 [ conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::loc#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::loc#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:20::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::gotoxy:36::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::loc#0 ] { }  newline:20::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::clrscr:48::gotoxy:162::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::loc#0 ] { }  ) always clobbers reg byte a 
Statement [87] setcursor::c#0 = *setcursor::loc#0 [ conio_display_cursor setcursor::loc#0 setcursor::c#0 ] ( setcursor:17 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  setcursor:24 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  putchar:13::setcursor:81 [ conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:20::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::gotoxy:36::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  newline:20::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::clrscr:48::gotoxy:162::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  ) always clobbers reg byte a reg byte y 
Statement [89] *OLDADR = setcursor::loc#0 [ conio_display_cursor setcursor::c#0 ] ( setcursor:17 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  setcursor:24 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  putchar:13::setcursor:81 [ conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:20::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::gotoxy:36::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::c#0 ] { }  newline:20::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::clrscr:48::gotoxy:162::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::c#0 ] { }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:132 [ setcursor::c#3 setcursor::c#0 setcursor::c#1 ]
Statement [90] if(conio_display_cursor==0) goto setcursor::@1 [ conio_display_cursor setcursor::c#0 ] ( setcursor:17 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  setcursor:24 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  putchar:13::setcursor:81 [ conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:20::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::gotoxy:36::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::c#0 ] { }  newline:20::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::clrscr:48::gotoxy:162::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::c#0 ] { }  ) always clobbers reg byte a 
Statement [91] *CRSINH = 0 [ conio_display_cursor setcursor::c#0 ] ( setcursor:17 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  setcursor:24 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  putchar:13::setcursor:81 [ conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:20::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::gotoxy:36::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::c#0 ] { }  newline:20::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::clrscr:48::gotoxy:162::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::c#0 ] { }  ) always clobbers reg byte a 
Statement [92] setcursor::c#1 = setcursor::c#0 ^ $80 [ conio_display_cursor setcursor::c#1 ] ( setcursor:17 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  setcursor:24 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  putchar:13::setcursor:81 [ conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#1 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#1 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:20::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::gotoxy:36::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::c#1 ] { }  newline:20::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::clrscr:48::gotoxy:162::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::c#1 ] { }  ) always clobbers reg byte a 
Statement [94] *(*OLDADR) = setcursor::c#3 [ conio_display_cursor ] ( setcursor:17 [ conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  setcursor:24 [ conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  putchar:13::setcursor:81 [ conio_scroll_enable conio_reverse_value conio_display_cursor ] { }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:20::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::gotoxy:36::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor ] { }  newline:20::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::clrscr:48::gotoxy:162::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor ] { }  ) always clobbers reg byte a reg byte y 
Statement [96] *CRSINH = 1 [ conio_display_cursor setcursor::c#0 ] ( setcursor:17 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  setcursor:24 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  putchar:13::setcursor:81 [ conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:20::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::gotoxy:36::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::c#0 ] { }  newline:20::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::clrscr:48::gotoxy:162::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::c#0 ] { }  ) always clobbers reg byte a 
Statement [98] if(*ROWCRS!=$18) goto newline::@1 [ conio_display_cursor conio_scroll_enable ] ( newline:20 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [99] if(conio_scroll_enable==1) goto newline::@4 [ conio_display_cursor conio_scroll_enable ] ( newline:20 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [105] if(conio_display_cursor!=1) goto newline::@5 [ conio_display_cursor conio_scroll_enable ] ( newline:20 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [106] *(*OLDADR) = *(*OLDADR) ^ $80 [ conio_display_cursor conio_scroll_enable ] ( newline:20 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a reg byte y 
Statement [107] newline::start#0 = *SAVMSC [ conio_display_cursor conio_scroll_enable newline::start#0 ] ( newline:20 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [108] memcpy::source#0 = newline::start#0 + $28 [ conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 ] ( newline:20 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [109] memcpy::destination#0 = (void *)newline::start#0 [ conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 ] ( newline:20 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [111] memset::str#1 = newline::start#0 + (unsigned int)$28*$17 [ conio_display_cursor conio_scroll_enable memset::str#1 ] ( newline:20 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#1 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#1 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  newline:22 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#1 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#1 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  ) always clobbers reg byte a 
Statement [112] memset::str#8 = (void *)memset::str#1 [ conio_display_cursor conio_scroll_enable memset::str#8 ] ( newline:20 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#8 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#8 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#8 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#8 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  newline:22 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#8 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#8 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#8 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#8 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  ) always clobbers reg byte a 
Statement [114] *ROWCRS = $18-1 [ conio_display_cursor conio_scroll_enable ] ( newline:20 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [115] conio_display_cursor = cursor::onoff#0 [ conio_display_cursor ] ( main:5::cursor:26 [ conio_reverse_value conio_scroll_enable printf_buffer conio_display_cursor ] { }  ) always clobbers reg byte a 
Statement [117] *COLOR2 = DARK_ORANGE [ ] ( main:5::bgcolor:28 [ conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer ] { }  ) always clobbers reg byte a 
Statement [119] *COLOR4 = MEDIUM_BLUE [ ] ( main:5::bordercolor:30 [ conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer ] { }  ) always clobbers reg byte a 
Statement [121] *COLOR1 = WHITE [ ] ( main:5::textcolor:32 [ conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer ] { }  ) always clobbers reg byte a 
Statement [129] *COLCRS = gotoxy::x#4 [ conio_display_cursor gotoxy::y#4 ] ( main:5::gotoxy:36 [ conio_scroll_enable printf_buffer conio_display_cursor gotoxy::y#4 ] { }  newline:20::gotoxy:101 [ conio_reverse_value conio_scroll_enable conio_display_cursor gotoxy::y#4 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor gotoxy::y#4 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor gotoxy::y#4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor gotoxy::y#4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::gotoxy:101 [ conio_reverse_value conio_scroll_enable conio_display_cursor gotoxy::y#4 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor gotoxy::y#4 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor gotoxy::y#4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor gotoxy::y#4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::cputsxy:34::gotoxy:124 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor gotoxy::y#4 ] { }  main:5::clrscr:48::gotoxy:162 [ conio_scroll_enable printf_buffer conio_display_cursor gotoxy::y#4 ] { }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:134 [ gotoxy::y#4 ]
Statement [135] conio_reverse_value = $80 [ conio_reverse_value ] ( main:5::revers:38 [ conio_display_cursor conio_scroll_enable printf_buffer conio_reverse_value ] { }  main:5::revers:50 [ conio_display_cursor conio_scroll_enable printf_buffer conio_reverse_value ] { }  ) always clobbers reg byte a 
Statement [137] conio_reverse_value = 0 [ conio_reverse_value ] ( main:5::revers:38 [ conio_display_cursor conio_scroll_enable printf_buffer conio_reverse_value ] { }  main:5::revers:50 [ conio_display_cursor conio_scroll_enable printf_buffer conio_reverse_value ] { }  ) always clobbers reg byte a 
Statement [140] printf_str::c#1 = *printf_str::s#9 [ printf_str::s#9 printf_str::c#1 ] ( main:5::printf_str:40 [ conio_display_cursor conio_scroll_enable printf_buffer printf_str::s#9 printf_str::c#1 ] { }  main:5::printf_str:44 [ conio_display_cursor conio_scroll_enable printf_buffer printf_str::s#9 printf_str::c#1 ] { }  main:5::printf_str:52 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i#2 printf_buffer printf_str::s#9 printf_str::c#1 ] { }  main:5::printf_str:56 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i#2 printf_buffer printf_str::s#9 printf_str::c#1 ] { }  main:5::printf_str:64 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i1#2 printf_buffer printf_str::s#9 printf_str::c#1 ] { }  main:5::printf_str:68 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i1#2 printf_buffer printf_str::s#9 printf_str::c#1 ] { }  main:5::printf_string:42::printf_str:149 [ conio_display_cursor conio_scroll_enable printf_buffer printf_str::s#9 printf_str::c#1 ] { }  main:5::printf_sint:54::printf_number_buffer:173::printf_str:242 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable printf_str::s#9 printf_str::c#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::printf_str:242 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable printf_str::s#9 printf_str::c#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a reg byte y 
Statement [145] callexecute *printf_str::putc#10  [ printf_str::s#0 ] ( main:5::printf_str:40 [ conio_display_cursor conio_scroll_enable printf_buffer printf_str::s#0 ] { }  main:5::printf_str:44 [ conio_display_cursor conio_scroll_enable printf_buffer printf_str::s#0 ] { }  main:5::printf_str:52 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i#2 printf_buffer printf_str::s#0 ] { }  main:5::printf_str:56 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i#2 printf_buffer printf_str::s#0 ] { }  main:5::printf_str:64 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i1#2 printf_buffer printf_str::s#0 ] { }  main:5::printf_str:68 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i1#2 printf_buffer printf_str::s#0 ] { }  main:5::printf_string:42::printf_str:149 [ conio_display_cursor conio_scroll_enable printf_buffer printf_str::s#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::printf_str:242 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable printf_str::s#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::printf_str:242 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable printf_str::s#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a reg byte x reg byte y 
Statement sideeffect stackpullbytes(1) always clobbers reg byte a 
Statement [157] *CH = $ff [ ] ( main:5::waitkey:46 [ conio_display_cursor conio_scroll_enable printf_buffer ] { }  main:5::waitkey:60 [ conio_reverse_value conio_display_cursor printf_buffer ] { }  main:5::waitkey:72 [ ] { }  ) always clobbers reg byte a 
Statement [159] memset::str#7 = (void *)*SAVMSC [ conio_display_cursor memset::str#7 ] ( main:5::clrscr:48 [ conio_scroll_enable printf_buffer conio_display_cursor memset::str#7 ] { { memset::str#3 = memset::str#7 } }  ) always clobbers reg byte a 
Statement [161] *OLDCHR = 0 [ conio_display_cursor ] ( main:5::clrscr:48 [ conio_scroll_enable printf_buffer conio_display_cursor ] { }  ) always clobbers reg byte a 
Statement [165] *((char *)&printf_buffer) = 0 [ conio_reverse_value conio_display_cursor conio_scroll_enable printf_sint::value#3 printf_buffer ] ( main:5::printf_sint:54 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_sint::value#3 printf_buffer ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_sint::value#3 printf_buffer ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [166] if(printf_sint::value#3<0) goto printf_sint::@1 [ conio_reverse_value conio_display_cursor conio_scroll_enable printf_sint::value#3 printf_buffer ] ( main:5::printf_sint:54 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_sint::value#3 printf_buffer ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_sint::value#3 printf_buffer ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [167] printf_sint::value#0 = - printf_sint::value#3 [ conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer printf_sint::value#0 ] ( main:5::printf_sint:54 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer printf_sint::value#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer printf_sint::value#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [168] *((char *)&printf_buffer) = '-'at [ conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer printf_sint::value#0 ] ( main:5::printf_sint:54 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer printf_sint::value#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer printf_sint::value#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [170] utoa::value#1 = (unsigned int)printf_sint::value#5 [ conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::value#1 ] ( main:5::printf_sint:54 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::value#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::value#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [175] conio_scroll_enable = scroll::onoff#0 [ conio_scroll_enable ] ( main:5::scroll:62 [ conio_reverse_value conio_display_cursor printf_buffer conio_scroll_enable ] { }  ) always clobbers reg byte a 
Statement [177] cursorLocation::$3 = (unsigned int)*ROWCRS [ cursorLocation::$3 ] ( putchar:13::cursorLocation:75 [ conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$3 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::cursorLocation:75 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$3 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::cursorLocation:75 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::cursorLocation:75 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  setcursor:17::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  setcursor:24::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  putchar:13::setcursor:81::cursorLocation:84 [ conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81::cursorLocation:84 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81::cursorLocation:84 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81::cursorLocation:84 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::setcursor:103::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::setcursor:103::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::gotoxy:36::setcursor:131::cursorLocation:84 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131::cursorLocation:84 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::clrscr:48::gotoxy:162::setcursor:131::cursorLocation:84 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  ) always clobbers reg byte a 
Statement [178] cursorLocation::$4 = cursorLocation::$3 << 2 [ cursorLocation::$3 cursorLocation::$4 ] ( putchar:13::cursorLocation:75 [ conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::cursorLocation:75 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::cursorLocation:75 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::cursorLocation:75 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  setcursor:17::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  setcursor:24::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  putchar:13::setcursor:81::cursorLocation:84 [ conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81::cursorLocation:84 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81::cursorLocation:84 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81::cursorLocation:84 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::setcursor:103::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::setcursor:103::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::gotoxy:36::setcursor:131::cursorLocation:84 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131::cursorLocation:84 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::clrscr:48::gotoxy:162::setcursor:131::cursorLocation:84 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  ) always clobbers reg byte a 
Statement [179] cursorLocation::$5 = cursorLocation::$4 + cursorLocation::$3 [ cursorLocation::$5 ] ( putchar:13::cursorLocation:75 [ conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$5 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::cursorLocation:75 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$5 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::cursorLocation:75 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$5 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::cursorLocation:75 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$5 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  setcursor:17::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  setcursor:24::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  putchar:13::setcursor:81::cursorLocation:84 [ conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81::cursorLocation:84 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81::cursorLocation:84 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81::cursorLocation:84 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::setcursor:103::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::setcursor:103::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::gotoxy:36::setcursor:131::cursorLocation:84 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131::cursorLocation:84 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::clrscr:48::gotoxy:162::setcursor:131::cursorLocation:84 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  ) always clobbers reg byte a 
Statement [180] cursorLocation::$0 = cursorLocation::$5 << 3 [ cursorLocation::$0 ] ( putchar:13::cursorLocation:75 [ conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$0 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::cursorLocation:75 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$0 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::cursorLocation:75 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::cursorLocation:75 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  setcursor:17::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  setcursor:24::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  putchar:13::setcursor:81::cursorLocation:84 [ conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81::cursorLocation:84 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81::cursorLocation:84 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81::cursorLocation:84 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::setcursor:103::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::setcursor:103::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::gotoxy:36::setcursor:131::cursorLocation:84 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131::cursorLocation:84 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::clrscr:48::gotoxy:162::setcursor:131::cursorLocation:84 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  ) always clobbers reg byte a 
Statement [181] cursorLocation::$1 = *SAVMSC + cursorLocation::$0 [ cursorLocation::$1 ] ( putchar:13::cursorLocation:75 [ conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$1 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::cursorLocation:75 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$1 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::cursorLocation:75 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::cursorLocation:75 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  setcursor:17::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  setcursor:24::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  putchar:13::setcursor:81::cursorLocation:84 [ conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81::cursorLocation:84 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81::cursorLocation:84 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81::cursorLocation:84 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::setcursor:103::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::setcursor:103::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::gotoxy:36::setcursor:131::cursorLocation:84 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131::cursorLocation:84 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::clrscr:48::gotoxy:162::setcursor:131::cursorLocation:84 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  ) always clobbers reg byte a 
Statement [182] cursorLocation::return#1 = cursorLocation::$1 + *COLCRS [ cursorLocation::return#1 ] ( putchar:13::cursorLocation:75 [ conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::return#1 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::cursorLocation:75 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::return#1 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::cursorLocation:75 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::return#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::cursorLocation:75 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::return#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  setcursor:17::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  setcursor:24::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  putchar:13::setcursor:81::cursorLocation:84 [ conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81::cursorLocation:84 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81::cursorLocation:84 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81::cursorLocation:84 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::setcursor:103::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::setcursor:103::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::gotoxy:36::setcursor:131::cursorLocation:84 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131::cursorLocation:84 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::clrscr:48::gotoxy:162::setcursor:131::cursorLocation:84 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  ) always clobbers reg byte a 
Statement [184] memcpy::src_end#0 = (char *)(void *)memcpy::source#0 + memcpy::num#0 [ memcpy::source#0 memcpy::destination#0 memcpy::src_end#0 ] ( newline:20::memcpy:110 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 memcpy::src_end#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::memcpy:110 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 memcpy::src_end#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::memcpy:110 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 memcpy::src_end#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::memcpy:110 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 memcpy::src_end#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::memcpy:110 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 memcpy::src_end#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::memcpy:110 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 memcpy::src_end#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::memcpy:110 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 memcpy::src_end#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::memcpy:110 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 memcpy::src_end#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [185] memcpy::src#4 = (char *)(void *)memcpy::source#0 [ memcpy::destination#0 memcpy::src_end#0 memcpy::src#4 ] ( newline:20::memcpy:110 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::destination#0 memcpy::src_end#0 memcpy::src#4 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::memcpy:110 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::destination#0 memcpy::src_end#0 memcpy::src#4 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::memcpy:110 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::destination#0 memcpy::src_end#0 memcpy::src#4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::memcpy:110 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::destination#0 memcpy::src_end#0 memcpy::src#4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::memcpy:110 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::destination#0 memcpy::src_end#0 memcpy::src#4 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::memcpy:110 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::destination#0 memcpy::src_end#0 memcpy::src#4 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::memcpy:110 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::destination#0 memcpy::src_end#0 memcpy::src#4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::memcpy:110 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::destination#0 memcpy::src_end#0 memcpy::src#4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [186] memcpy::dst#4 = (char *)memcpy::destination#0 [ memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] ( newline:20::memcpy:110 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::memcpy:110 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::memcpy:110 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::memcpy:110 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::memcpy:110 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::memcpy:110 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::memcpy:110 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::memcpy:110 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [188] if(memcpy::src#2!=memcpy::src_end#0) goto memcpy::@2 [ memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] ( newline:20::memcpy:110 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::memcpy:110 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::memcpy:110 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::memcpy:110 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::memcpy:110 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::memcpy:110 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::memcpy:110 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::memcpy:110 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [190] *memcpy::dst#2 = *memcpy::src#2 [ memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] ( newline:20::memcpy:110 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::memcpy:110 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::memcpy:110 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::memcpy:110 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::memcpy:110 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::memcpy:110 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::memcpy:110 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::memcpy:110 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a reg byte y 
Statement [194] if(memset::num#2<=0) goto memset::@return [ memset::num#2 memset::str#3 ] ( newline:20::memset:113 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::num#2 memset::str#3 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::memset:113 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::num#2 memset::str#3 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::memset:113 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::num#2 memset::str#3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::memset:113 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::num#2 memset::str#3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  newline:22::memset:113 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::num#2 memset::str#3 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::memset:113 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::num#2 memset::str#3 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::memset:113 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::num#2 memset::str#3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::memset:113 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::num#2 memset::str#3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  main:5::clrscr:48::memset:160 [ conio_scroll_enable printf_buffer conio_display_cursor memset::num#2 memset::str#3 ] { { memset::str#3 = memset::str#7 } }  ) always clobbers reg byte a 
Statement [195] memset::end#0 = (char *)memset::str#3 + memset::num#2 [ memset::str#3 memset::end#0 ] ( newline:20::memset:113 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#3 memset::end#0 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::memset:113 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#3 memset::end#0 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::memset:113 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#3 memset::end#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::memset:113 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#3 memset::end#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  newline:22::memset:113 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#3 memset::end#0 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::memset:113 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#3 memset::end#0 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::memset:113 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#3 memset::end#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::memset:113 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#3 memset::end#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  main:5::clrscr:48::memset:160 [ conio_scroll_enable printf_buffer conio_display_cursor memset::str#3 memset::end#0 ] { { memset::str#3 = memset::str#7 } }  ) always clobbers reg byte a 
Statement [196] memset::dst#4 = (char *)memset::str#3 [ memset::end#0 memset::dst#4 ] ( newline:20::memset:113 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#4 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::memset:113 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#4 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::memset:113 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::memset:113 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  newline:22::memset:113 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#4 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::memset:113 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#4 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::memset:113 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::memset:113 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  main:5::clrscr:48::memset:160 [ conio_scroll_enable printf_buffer conio_display_cursor memset::end#0 memset::dst#4 ] { { memset::str#3 = memset::str#7 } }  ) always clobbers reg byte a 
Statement [198] if(memset::dst#2!=memset::end#0) goto memset::@3 [ memset::end#0 memset::dst#2 ] ( newline:20::memset:113 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::memset:113 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::memset:113 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::memset:113 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  newline:22::memset:113 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::memset:113 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::memset:113 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::memset:113 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  main:5::clrscr:48::memset:160 [ conio_scroll_enable printf_buffer conio_display_cursor memset::end#0 memset::dst#2 ] { { memset::str#3 = memset::str#7 } }  ) always clobbers reg byte a 
Statement [200] *memset::dst#2 = 0 [ memset::end#0 memset::dst#2 ] ( newline:20::memset:113 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::memset:113 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::memset:113 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::memset:113 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  newline:22::memset:113 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::memset:113 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::memset:113 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::memset:113 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  main:5::clrscr:48::memset:160 [ conio_scroll_enable printf_buffer conio_display_cursor memset::end#0 memset::dst#2 ] { { memset::str#3 = memset::str#7 } }  ) always clobbers reg byte a reg byte y 
Statement [204] cputs::c#1 = *cputs::s#2 [ conio_reverse_value conio_display_cursor conio_scroll_enable cputs::s#2 cputs::c#1 ] ( main:5::cputsxy:34::cputs:126 [ printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable cputs::s#2 cputs::c#1 ] { }  ) always clobbers reg byte a reg byte y 
Statement sideeffect stackpullbytes(1) always clobbers reg byte a 
Statement [211] if(*CH==$ff) goto kbhit::@1 [ ] ( main:5::waitkey:46::kbhit:153 [ conio_display_cursor conio_scroll_enable printf_buffer ] { { kbhit::return#2 = kbhit::return#3 } }  main:5::waitkey:60::kbhit:153 [ conio_reverse_value conio_display_cursor printf_buffer ] { { kbhit::return#2 = kbhit::return#3 } }  main:5::waitkey:72::kbhit:153 [ ] { { kbhit::return#2 = kbhit::return#3 } }  ) always clobbers reg byte a 
Statement [219] *utoa::buffer#11 = DIGITS[utoa::$11] [ printf_buffer utoa::buffer#11 ] ( main:5::printf_sint:54::utoa:171 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::buffer#11 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::utoa:171 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::buffer#11 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a reg byte y 
Statement [220] utoa::buffer#3 = ++ utoa::buffer#11 [ printf_buffer utoa::buffer#3 ] ( main:5::printf_sint:54::utoa:171 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::buffer#3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::utoa:171 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::buffer#3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [221] *utoa::buffer#3 = 0 [ printf_buffer ] ( main:5::printf_sint:54::utoa:171 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::utoa:171 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a reg byte y 
Statement [223] utoa::$10 = utoa::digit#2 << 1 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::$10 ] ( main:5::printf_sint:54::utoa:171 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::$10 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::utoa:171 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::$10 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:155 [ utoa::digit#2 utoa::digit#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:158 [ utoa::started#2 utoa::started#4 ]
Statement [224] utoa::digit_value#0 = RADIX_DECIMAL_VALUES[utoa::$10] [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] ( main:5::printf_sint:54::utoa:171 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::utoa:171 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [226] if(utoa::value#2>=utoa::digit_value#0) goto utoa::@5 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] ( main:5::printf_sint:54::utoa:171 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::utoa:171 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [229] utoa_append::buffer#0 = utoa::buffer#11 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 ] ( main:5::printf_sint:54::utoa:171 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::value#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  main:5::printf_sint:66::utoa:171 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::value#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [230] utoa_append::value#0 = utoa::value#2 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] ( main:5::printf_sint:54::utoa:171 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  main:5::printf_sint:66::utoa:171 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [231] utoa_append::sub#0 = utoa::digit_value#0 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] ( main:5::printf_sint:54::utoa:171 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  main:5::printf_sint:66::utoa:171 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [233] utoa_append::return#0 = utoa_append::value#2 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::return#0 ] ( main:5::printf_sint:54::utoa:171 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::return#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  main:5::printf_sint:66::utoa:171 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::return#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [234] utoa::value#0 = utoa_append::return#0 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa::value#0 ] ( main:5::printf_sint:54::utoa:171 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa::value#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::utoa:171 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa::value#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement sideeffect stackpullbytes(1) always clobbers reg byte a 
Statement [246] 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:5::printf_sint:54::utoa:171::utoa_append:232 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  main:5::printf_sint:66::utoa:171::utoa_append:232 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { 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]:163 [ utoa_append::digit#2 utoa_append::digit#1 ]
Statement [247] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2] [ utoa_append::value#2 ] ( main:5::printf_sint:54::utoa:171::utoa_append:232 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::value#2 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  main:5::printf_sint:66::utoa:171::utoa_append:232 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::value#2 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a reg byte y 
Removing always clobbered register reg byte y as potential for zp[1]:155 [ utoa::digit#2 utoa::digit#1 ]
Statement [250] 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:5::printf_sint:54::utoa:171::utoa_append:232 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  main:5::printf_sint:66::utoa:171::utoa_append:232 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [1] conio_reverse_value = 0 [ conio_reverse_value printf_buffer ] (  [ conio_reverse_value printf_buffer ] { }  ) always clobbers reg byte a 
Statement [2] conio_display_cursor = 1 [ conio_reverse_value printf_buffer ] (  [ conio_reverse_value printf_buffer ] { }  ) always clobbers reg byte a 
Statement [3] conio_scroll_enable = 1 [ conio_reverse_value conio_scroll_enable printf_buffer ] (  [ conio_reverse_value conio_scroll_enable printf_buffer ] { }  ) always clobbers reg byte a 
Statement [7] cputc::c = stackidx(char,cputc::OFFSET_STACK_C) [ conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] (  [ conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] { }  main:5::cputsxy:34::cputs:126::cputc:209 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a reg byte x 
Statement [8] if(cputc::c=='
'at) goto cputc::@1 [ conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] (  [ conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] { }  main:5::cputsxy:34::cputs:126::cputc:209 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [9] if(cputc::c=='
'at) goto cputc::@2 [ conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] (  [ conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] { }  main:5::cputsxy:34::cputs:126::cputc:209 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable cputc::c ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [10] if(cputc::c==$9b) goto cputc::@2 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] (  [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [11] cputc::convertToScreenCode1_return#0 = rawmap[*cputc::convertToScreenCode1_v#0] [ conio_reverse_value conio_display_cursor conio_scroll_enable cputc::convertToScreenCode1_return#0 ] (  [ conio_reverse_value conio_display_cursor conio_scroll_enable cputc::convertToScreenCode1_return#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable cputc::convertToScreenCode1_return#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable cputc::convertToScreenCode1_return#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable cputc::convertToScreenCode1_return#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte y 
Statement [15] if(*COLCRS==$28) goto cputc::@5 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] (  [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [19] *COLCRS = 0 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] (  [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [21] *COLCRS = 0 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] (  [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [23] *COLCRS = 0 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] (  [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [53] printf_sint::value#1 = main::i#2 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i#2 printf_sint::value#1 printf_buffer ] ( main:5 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i#2 printf_sint::value#1 printf_buffer ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  ) always clobbers reg byte a 
Statement [58] if(main::i#1!=$33) goto main::@1 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i#1 printf_buffer ] ( main:5 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i#1 printf_buffer ] { }  ) always clobbers reg byte a 
Statement [65] printf_sint::value#2 = main::i1#2 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i1#2 printf_sint::value#2 printf_buffer ] ( main:5 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i1#2 printf_sint::value#2 printf_buffer ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [70] if(main::i1#1!=$c9) goto main::@3 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i1#1 printf_buffer ] ( main:5 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i1#1 printf_buffer ] { }  ) always clobbers reg byte a 
Statement [74] *(*OLDADR) = *OLDCHR [ conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 ] ( putchar:13 [ conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  ) always clobbers reg byte a reg byte y 
Statement [76] cursorLocation::return#0 = cursorLocation::return#1 [ conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::return#0 ] ( putchar:13 [ conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::return#0 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::return#0 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::return#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::return#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  ) always clobbers reg byte a 
Statement [77] putchar::loc#0 = cursorLocation::return#0 [ conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 putchar::loc#0 ] ( putchar:13 [ conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 putchar::loc#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 putchar::loc#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 putchar::loc#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 putchar::loc#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [78] putchar::newChar#0 = cputc::convertToScreenCode1_return#0 | conio_reverse_value [ conio_reverse_value conio_display_cursor putchar::loc#0 putchar::newChar#0 ] ( putchar:13 [ conio_scroll_enable conio_reverse_value conio_display_cursor putchar::loc#0 putchar::newChar#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor putchar::loc#0 putchar::newChar#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor putchar::loc#0 putchar::newChar#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor putchar::loc#0 putchar::newChar#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [79] *putchar::loc#0 = putchar::newChar#0 [ conio_reverse_value conio_display_cursor putchar::newChar#0 ] ( putchar:13 [ conio_scroll_enable conio_reverse_value conio_display_cursor putchar::newChar#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor putchar::newChar#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor putchar::newChar#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor putchar::newChar#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte y 
Statement [83] *(*OLDADR) = *OLDCHR [ conio_display_cursor ] ( setcursor:17 [ conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  setcursor:24 [ conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  putchar:13::setcursor:81 [ conio_scroll_enable conio_reverse_value conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::gotoxy:36::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::clrscr:48::gotoxy:162::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  ) always clobbers reg byte a reg byte y 
Statement [85] cursorLocation::return#3 = cursorLocation::return#1 [ conio_display_cursor cursorLocation::return#3 ] ( setcursor:17 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  setcursor:24 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  putchar:13::setcursor:81 [ conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::gotoxy:36::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::clrscr:48::gotoxy:162::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::return#3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  ) always clobbers reg byte a 
Statement [86] setcursor::loc#0 = cursorLocation::return#3 [ conio_display_cursor setcursor::loc#0 ] ( setcursor:17 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  setcursor:24 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  putchar:13::setcursor:81 [ conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::loc#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::loc#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:20::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::gotoxy:36::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::loc#0 ] { }  newline:20::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 ] { }  main:5::clrscr:48::gotoxy:162::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::loc#0 ] { }  ) always clobbers reg byte a 
Statement [87] setcursor::c#0 = *setcursor::loc#0 [ conio_display_cursor setcursor::loc#0 setcursor::c#0 ] ( setcursor:17 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  setcursor:24 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  putchar:13::setcursor:81 [ conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:20::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::gotoxy:36::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  newline:20::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  main:5::clrscr:48::gotoxy:162::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::loc#0 setcursor::c#0 ] { }  ) always clobbers reg byte a reg byte y 
Statement [89] *OLDADR = setcursor::loc#0 [ conio_display_cursor setcursor::c#0 ] ( setcursor:17 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  setcursor:24 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  putchar:13::setcursor:81 [ conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:20::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::gotoxy:36::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::c#0 ] { }  newline:20::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::clrscr:48::gotoxy:162::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::c#0 ] { }  ) always clobbers reg byte a 
Statement [90] if(conio_display_cursor==0) goto setcursor::@1 [ conio_display_cursor setcursor::c#0 ] ( setcursor:17 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  setcursor:24 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  putchar:13::setcursor:81 [ conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:20::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::gotoxy:36::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::c#0 ] { }  newline:20::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::clrscr:48::gotoxy:162::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::c#0 ] { }  ) always clobbers reg byte a 
Statement [91] *CRSINH = 0 [ conio_display_cursor setcursor::c#0 ] ( setcursor:17 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  setcursor:24 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  putchar:13::setcursor:81 [ conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:20::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::gotoxy:36::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::c#0 ] { }  newline:20::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::clrscr:48::gotoxy:162::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::c#0 ] { }  ) always clobbers reg byte a 
Statement [92] setcursor::c#1 = setcursor::c#0 ^ $80 [ conio_display_cursor setcursor::c#1 ] ( setcursor:17 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  setcursor:24 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  putchar:13::setcursor:81 [ conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#1 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#1 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:20::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::gotoxy:36::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::c#1 ] { }  newline:20::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#1 ] { }  main:5::clrscr:48::gotoxy:162::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::c#1 ] { }  ) always clobbers reg byte a 
Statement [94] *(*OLDADR) = setcursor::c#3 [ conio_display_cursor ] ( setcursor:17 [ conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  setcursor:24 [ conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  putchar:13::setcursor:81 [ conio_scroll_enable conio_reverse_value conio_display_cursor ] { }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:20::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::gotoxy:36::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor ] { }  newline:20::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor ] { }  main:5::clrscr:48::gotoxy:162::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor ] { }  ) always clobbers reg byte a reg byte y 
Statement [96] *CRSINH = 1 [ conio_display_cursor setcursor::c#0 ] ( setcursor:17 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  setcursor:24 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  putchar:13::setcursor:81 [ conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:20::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::setcursor:103 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::gotoxy:36::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::c#0 ] { }  newline:20::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::gotoxy:101::setcursor:131 [ conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor setcursor::c#0 ] { }  main:5::clrscr:48::gotoxy:162::setcursor:131 [ conio_scroll_enable printf_buffer conio_display_cursor setcursor::c#0 ] { }  ) always clobbers reg byte a 
Statement [98] if(*ROWCRS!=$18) goto newline::@1 [ conio_display_cursor conio_scroll_enable ] ( newline:20 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [99] if(conio_scroll_enable==1) goto newline::@4 [ conio_display_cursor conio_scroll_enable ] ( newline:20 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [105] if(conio_display_cursor!=1) goto newline::@5 [ conio_display_cursor conio_scroll_enable ] ( newline:20 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [106] *(*OLDADR) = *(*OLDADR) ^ $80 [ conio_display_cursor conio_scroll_enable ] ( newline:20 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a reg byte y 
Statement [107] newline::start#0 = *SAVMSC [ conio_display_cursor conio_scroll_enable newline::start#0 ] ( newline:20 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [108] memcpy::source#0 = newline::start#0 + $28 [ conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 ] ( newline:20 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [109] memcpy::destination#0 = (void *)newline::start#0 [ conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 ] ( newline:20 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [111] memset::str#1 = newline::start#0 + (unsigned int)$28*$17 [ conio_display_cursor conio_scroll_enable memset::str#1 ] ( newline:20 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#1 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#1 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  newline:22 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#1 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#1 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  ) always clobbers reg byte a 
Statement [112] memset::str#8 = (void *)memset::str#1 [ conio_display_cursor conio_scroll_enable memset::str#8 ] ( newline:20 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#8 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#8 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#8 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#8 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  newline:22 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#8 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#8 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#8 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#8 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  ) always clobbers reg byte a 
Statement [114] *ROWCRS = $18-1 [ conio_display_cursor conio_scroll_enable ] ( newline:20 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22 [ conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [115] conio_display_cursor = cursor::onoff#0 [ conio_display_cursor ] ( main:5::cursor:26 [ conio_reverse_value conio_scroll_enable printf_buffer conio_display_cursor ] { }  ) always clobbers reg byte a 
Statement [117] *COLOR2 = DARK_ORANGE [ ] ( main:5::bgcolor:28 [ conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer ] { }  ) always clobbers reg byte a 
Statement [119] *COLOR4 = MEDIUM_BLUE [ ] ( main:5::bordercolor:30 [ conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer ] { }  ) always clobbers reg byte a 
Statement [121] *COLOR1 = WHITE [ ] ( main:5::textcolor:32 [ conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer ] { }  ) always clobbers reg byte a 
Statement [129] *COLCRS = gotoxy::x#4 [ conio_display_cursor gotoxy::y#4 ] ( main:5::gotoxy:36 [ conio_scroll_enable printf_buffer conio_display_cursor gotoxy::y#4 ] { }  newline:20::gotoxy:101 [ conio_reverse_value conio_scroll_enable conio_display_cursor gotoxy::y#4 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor gotoxy::y#4 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor gotoxy::y#4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor gotoxy::y#4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::gotoxy:101 [ conio_reverse_value conio_scroll_enable conio_display_cursor gotoxy::y#4 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor gotoxy::y#4 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor gotoxy::y#4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor gotoxy::y#4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  main:5::cputsxy:34::gotoxy:124 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor gotoxy::y#4 ] { }  main:5::clrscr:48::gotoxy:162 [ conio_scroll_enable printf_buffer conio_display_cursor gotoxy::y#4 ] { }  ) always clobbers reg byte a 
Statement [135] conio_reverse_value = $80 [ conio_reverse_value ] ( main:5::revers:38 [ conio_display_cursor conio_scroll_enable printf_buffer conio_reverse_value ] { }  main:5::revers:50 [ conio_display_cursor conio_scroll_enable printf_buffer conio_reverse_value ] { }  ) always clobbers reg byte a 
Statement [137] conio_reverse_value = 0 [ conio_reverse_value ] ( main:5::revers:38 [ conio_display_cursor conio_scroll_enable printf_buffer conio_reverse_value ] { }  main:5::revers:50 [ conio_display_cursor conio_scroll_enable printf_buffer conio_reverse_value ] { }  ) always clobbers reg byte a 
Statement [140] printf_str::c#1 = *printf_str::s#9 [ printf_str::s#9 printf_str::c#1 ] ( main:5::printf_str:40 [ conio_display_cursor conio_scroll_enable printf_buffer printf_str::s#9 printf_str::c#1 ] { }  main:5::printf_str:44 [ conio_display_cursor conio_scroll_enable printf_buffer printf_str::s#9 printf_str::c#1 ] { }  main:5::printf_str:52 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i#2 printf_buffer printf_str::s#9 printf_str::c#1 ] { }  main:5::printf_str:56 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i#2 printf_buffer printf_str::s#9 printf_str::c#1 ] { }  main:5::printf_str:64 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i1#2 printf_buffer printf_str::s#9 printf_str::c#1 ] { }  main:5::printf_str:68 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i1#2 printf_buffer printf_str::s#9 printf_str::c#1 ] { }  main:5::printf_string:42::printf_str:149 [ conio_display_cursor conio_scroll_enable printf_buffer printf_str::s#9 printf_str::c#1 ] { }  main:5::printf_sint:54::printf_number_buffer:173::printf_str:242 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable printf_str::s#9 printf_str::c#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::printf_str:242 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable printf_str::s#9 printf_str::c#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a reg byte y 
Statement [145] callexecute *printf_str::putc#10  [ printf_str::s#0 ] ( main:5::printf_str:40 [ conio_display_cursor conio_scroll_enable printf_buffer printf_str::s#0 ] { }  main:5::printf_str:44 [ conio_display_cursor conio_scroll_enable printf_buffer printf_str::s#0 ] { }  main:5::printf_str:52 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i#2 printf_buffer printf_str::s#0 ] { }  main:5::printf_str:56 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i#2 printf_buffer printf_str::s#0 ] { }  main:5::printf_str:64 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i1#2 printf_buffer printf_str::s#0 ] { }  main:5::printf_str:68 [ conio_reverse_value conio_display_cursor conio_scroll_enable main::i1#2 printf_buffer printf_str::s#0 ] { }  main:5::printf_string:42::printf_str:149 [ conio_display_cursor conio_scroll_enable printf_buffer printf_str::s#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::printf_str:242 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable printf_str::s#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::printf_str:242 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable printf_str::s#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a reg byte x reg byte y 
Statement sideeffect stackpullbytes(1) always clobbers reg byte a 
Statement [157] *CH = $ff [ ] ( main:5::waitkey:46 [ conio_display_cursor conio_scroll_enable printf_buffer ] { }  main:5::waitkey:60 [ conio_reverse_value conio_display_cursor printf_buffer ] { }  main:5::waitkey:72 [ ] { }  ) always clobbers reg byte a 
Statement [159] memset::str#7 = (void *)*SAVMSC [ conio_display_cursor memset::str#7 ] ( main:5::clrscr:48 [ conio_scroll_enable printf_buffer conio_display_cursor memset::str#7 ] { { memset::str#3 = memset::str#7 } }  ) always clobbers reg byte a 
Statement [161] *OLDCHR = 0 [ conio_display_cursor ] ( main:5::clrscr:48 [ conio_scroll_enable printf_buffer conio_display_cursor ] { }  ) always clobbers reg byte a 
Statement [165] *((char *)&printf_buffer) = 0 [ conio_reverse_value conio_display_cursor conio_scroll_enable printf_sint::value#3 printf_buffer ] ( main:5::printf_sint:54 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_sint::value#3 printf_buffer ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_sint::value#3 printf_buffer ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [166] if(printf_sint::value#3<0) goto printf_sint::@1 [ conio_reverse_value conio_display_cursor conio_scroll_enable printf_sint::value#3 printf_buffer ] ( main:5::printf_sint:54 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_sint::value#3 printf_buffer ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_sint::value#3 printf_buffer ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [167] printf_sint::value#0 = - printf_sint::value#3 [ conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer printf_sint::value#0 ] ( main:5::printf_sint:54 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer printf_sint::value#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer printf_sint::value#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [168] *((char *)&printf_buffer) = '-'at [ conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer printf_sint::value#0 ] ( main:5::printf_sint:54 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer printf_sint::value#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer printf_sint::value#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [170] utoa::value#1 = (unsigned int)printf_sint::value#5 [ conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::value#1 ] ( main:5::printf_sint:54 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::value#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::value#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [175] conio_scroll_enable = scroll::onoff#0 [ conio_scroll_enable ] ( main:5::scroll:62 [ conio_reverse_value conio_display_cursor printf_buffer conio_scroll_enable ] { }  ) always clobbers reg byte a 
Statement [177] cursorLocation::$3 = (unsigned int)*ROWCRS [ cursorLocation::$3 ] ( putchar:13::cursorLocation:75 [ conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$3 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::cursorLocation:75 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$3 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::cursorLocation:75 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::cursorLocation:75 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  setcursor:17::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  setcursor:24::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  putchar:13::setcursor:81::cursorLocation:84 [ conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81::cursorLocation:84 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81::cursorLocation:84 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81::cursorLocation:84 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::setcursor:103::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::setcursor:103::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::gotoxy:36::setcursor:131::cursorLocation:84 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131::cursorLocation:84 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::clrscr:48::gotoxy:162::setcursor:131::cursorLocation:84 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::$3 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  ) always clobbers reg byte a 
Statement [178] cursorLocation::$4 = cursorLocation::$3 << 2 [ cursorLocation::$3 cursorLocation::$4 ] ( putchar:13::cursorLocation:75 [ conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::cursorLocation:75 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::cursorLocation:75 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::cursorLocation:75 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  setcursor:17::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  setcursor:24::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  putchar:13::setcursor:81::cursorLocation:84 [ conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81::cursorLocation:84 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81::cursorLocation:84 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81::cursorLocation:84 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::setcursor:103::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::setcursor:103::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::gotoxy:36::setcursor:131::cursorLocation:84 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131::cursorLocation:84 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::clrscr:48::gotoxy:162::setcursor:131::cursorLocation:84 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::$3 cursorLocation::$4 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  ) always clobbers reg byte a 
Statement [179] cursorLocation::$5 = cursorLocation::$4 + cursorLocation::$3 [ cursorLocation::$5 ] ( putchar:13::cursorLocation:75 [ conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$5 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::cursorLocation:75 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$5 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::cursorLocation:75 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$5 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::cursorLocation:75 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$5 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  setcursor:17::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  setcursor:24::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  putchar:13::setcursor:81::cursorLocation:84 [ conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81::cursorLocation:84 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81::cursorLocation:84 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81::cursorLocation:84 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::setcursor:103::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::setcursor:103::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::gotoxy:36::setcursor:131::cursorLocation:84 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131::cursorLocation:84 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::clrscr:48::gotoxy:162::setcursor:131::cursorLocation:84 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::$5 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  ) always clobbers reg byte a 
Statement [180] cursorLocation::$0 = cursorLocation::$5 << 3 [ cursorLocation::$0 ] ( putchar:13::cursorLocation:75 [ conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$0 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::cursorLocation:75 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$0 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::cursorLocation:75 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::cursorLocation:75 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  setcursor:17::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  setcursor:24::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  putchar:13::setcursor:81::cursorLocation:84 [ conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81::cursorLocation:84 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81::cursorLocation:84 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81::cursorLocation:84 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::setcursor:103::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::setcursor:103::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::gotoxy:36::setcursor:131::cursorLocation:84 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131::cursorLocation:84 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::clrscr:48::gotoxy:162::setcursor:131::cursorLocation:84 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::$0 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  ) always clobbers reg byte a 
Statement [181] cursorLocation::$1 = *SAVMSC + cursorLocation::$0 [ cursorLocation::$1 ] ( putchar:13::cursorLocation:75 [ conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$1 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::cursorLocation:75 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$1 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::cursorLocation:75 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::cursorLocation:75 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::$1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  setcursor:17::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  setcursor:24::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  putchar:13::setcursor:81::cursorLocation:84 [ conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81::cursorLocation:84 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81::cursorLocation:84 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81::cursorLocation:84 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::setcursor:103::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::setcursor:103::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::gotoxy:36::setcursor:131::cursorLocation:84 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131::cursorLocation:84 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::clrscr:48::gotoxy:162::setcursor:131::cursorLocation:84 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::$1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  ) always clobbers reg byte a 
Statement [182] cursorLocation::return#1 = cursorLocation::$1 + *COLCRS [ cursorLocation::return#1 ] ( putchar:13::cursorLocation:75 [ conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::return#1 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::cursorLocation:75 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::return#1 ] { { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::cursorLocation:75 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::return#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::cursorLocation:75 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cputc::convertToScreenCode1_return#0 cursorLocation::return#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#0 = cursorLocation::return#1 } }  setcursor:17::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:17::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:17::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:17::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  setcursor:24::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::setcursor:24::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::setcursor:24::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::setcursor:24::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  putchar:13::setcursor:81::cursorLocation:84 [ conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::putchar:13::setcursor:81::cursorLocation:84 [ printf_buffer cputs::s#0 conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81::cursorLocation:84 [ main::i#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::putchar:13::setcursor:81::cursorLocation:84 [ main::i1#2 printf_buffer conio_scroll_enable conio_reverse_value conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::setcursor:103::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::setcursor:103::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::setcursor:103::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::setcursor:103::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::setcursor:103::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::setcursor:103::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::setcursor:103::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::setcursor:103::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::gotoxy:36::setcursor:131::cursorLocation:84 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ printf_buffer cputs::s#0 conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::gotoxy:101::setcursor:131::cursorLocation:84 [ main::i1#2 printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::cputsxy:34::gotoxy:124::setcursor:131::cursorLocation:84 [ printf_buffer conio_reverse_value conio_scroll_enable conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  main:5::clrscr:48::gotoxy:162::setcursor:131::cursorLocation:84 [ conio_scroll_enable printf_buffer conio_display_cursor cursorLocation::return#1 ] { { cursorLocation::return#1 = cursorLocation::return#3 } }  ) always clobbers reg byte a 
Statement [184] memcpy::src_end#0 = (char *)(void *)memcpy::source#0 + memcpy::num#0 [ memcpy::source#0 memcpy::destination#0 memcpy::src_end#0 ] ( newline:20::memcpy:110 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 memcpy::src_end#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::memcpy:110 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 memcpy::src_end#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::memcpy:110 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 memcpy::src_end#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::memcpy:110 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 memcpy::src_end#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::memcpy:110 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 memcpy::src_end#0 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::memcpy:110 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 memcpy::src_end#0 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::memcpy:110 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 memcpy::src_end#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::memcpy:110 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::source#0 memcpy::destination#0 memcpy::src_end#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [185] memcpy::src#4 = (char *)(void *)memcpy::source#0 [ memcpy::destination#0 memcpy::src_end#0 memcpy::src#4 ] ( newline:20::memcpy:110 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::destination#0 memcpy::src_end#0 memcpy::src#4 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::memcpy:110 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::destination#0 memcpy::src_end#0 memcpy::src#4 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::memcpy:110 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::destination#0 memcpy::src_end#0 memcpy::src#4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::memcpy:110 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::destination#0 memcpy::src_end#0 memcpy::src#4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::memcpy:110 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::destination#0 memcpy::src_end#0 memcpy::src#4 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::memcpy:110 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::destination#0 memcpy::src_end#0 memcpy::src#4 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::memcpy:110 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::destination#0 memcpy::src_end#0 memcpy::src#4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::memcpy:110 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::destination#0 memcpy::src_end#0 memcpy::src#4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [186] memcpy::dst#4 = (char *)memcpy::destination#0 [ memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] ( newline:20::memcpy:110 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::memcpy:110 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::memcpy:110 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::memcpy:110 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::memcpy:110 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::memcpy:110 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::memcpy:110 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::memcpy:110 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [188] if(memcpy::src#2!=memcpy::src_end#0) goto memcpy::@2 [ memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] ( newline:20::memcpy:110 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::memcpy:110 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::memcpy:110 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::memcpy:110 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::memcpy:110 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::memcpy:110 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::memcpy:110 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::memcpy:110 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [190] *memcpy::dst#2 = *memcpy::src#2 [ memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] ( newline:20::memcpy:110 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::memcpy:110 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::memcpy:110 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::memcpy:110 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  newline:22::memcpy:110 [ conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::memcpy:110 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::memcpy:110 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::memcpy:110 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable newline::start#0 memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a reg byte y 
Statement [194] if(memset::num#2<=0) goto memset::@return [ memset::num#2 memset::str#3 ] ( newline:20::memset:113 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::num#2 memset::str#3 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::memset:113 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::num#2 memset::str#3 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::memset:113 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::num#2 memset::str#3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::memset:113 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::num#2 memset::str#3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  newline:22::memset:113 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::num#2 memset::str#3 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::memset:113 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::num#2 memset::str#3 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::memset:113 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::num#2 memset::str#3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::memset:113 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::num#2 memset::str#3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  main:5::clrscr:48::memset:160 [ conio_scroll_enable printf_buffer conio_display_cursor memset::num#2 memset::str#3 ] { { memset::str#3 = memset::str#7 } }  ) always clobbers reg byte a 
Statement [195] memset::end#0 = (char *)memset::str#3 + memset::num#2 [ memset::str#3 memset::end#0 ] ( newline:20::memset:113 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#3 memset::end#0 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::memset:113 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#3 memset::end#0 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::memset:113 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#3 memset::end#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::memset:113 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#3 memset::end#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  newline:22::memset:113 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#3 memset::end#0 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::memset:113 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#3 memset::end#0 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::memset:113 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#3 memset::end#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::memset:113 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::str#3 memset::end#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  main:5::clrscr:48::memset:160 [ conio_scroll_enable printf_buffer conio_display_cursor memset::str#3 memset::end#0 ] { { memset::str#3 = memset::str#7 } }  ) always clobbers reg byte a 
Statement [196] memset::dst#4 = (char *)memset::str#3 [ memset::end#0 memset::dst#4 ] ( newline:20::memset:113 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#4 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::memset:113 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#4 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::memset:113 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::memset:113 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  newline:22::memset:113 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#4 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::memset:113 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#4 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::memset:113 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#4 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::memset:113 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#4 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  main:5::clrscr:48::memset:160 [ conio_scroll_enable printf_buffer conio_display_cursor memset::end#0 memset::dst#4 ] { { memset::str#3 = memset::str#7 } }  ) always clobbers reg byte a 
Statement [198] if(memset::dst#2!=memset::end#0) goto memset::@3 [ memset::end#0 memset::dst#2 ] ( newline:20::memset:113 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::memset:113 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::memset:113 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::memset:113 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  newline:22::memset:113 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::memset:113 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::memset:113 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::memset:113 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  main:5::clrscr:48::memset:160 [ conio_scroll_enable printf_buffer conio_display_cursor memset::end#0 memset::dst#2 ] { { memset::str#3 = memset::str#7 } }  ) always clobbers reg byte a 
Statement [200] *memset::dst#2 = 0 [ memset::end#0 memset::dst#2 ] ( newline:20::memset:113 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:20::memset:113 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:20::memset:113 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:20::memset:113 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  newline:22::memset:113 [ conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { memset::str#3 = memset::str#8 } }  main:5::cputsxy:34::cputs:126::cputc:209::newline:22::memset:113 [ printf_buffer cputs::s#0 conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { memset::str#3 = memset::str#8 } }  main:5::printf_sint:54::printf_number_buffer:173::cputc:239::newline:22::memset:113 [ main::i#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { memset::str#3 = memset::str#8 } }  main:5::printf_sint:66::printf_number_buffer:173::cputc:239::newline:22::memset:113 [ main::i1#2 printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable memset::end#0 memset::dst#2 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { memset::str#3 = memset::str#8 } }  main:5::clrscr:48::memset:160 [ conio_scroll_enable printf_buffer conio_display_cursor memset::end#0 memset::dst#2 ] { { memset::str#3 = memset::str#7 } }  ) always clobbers reg byte a reg byte y 
Statement [204] cputs::c#1 = *cputs::s#2 [ conio_reverse_value conio_display_cursor conio_scroll_enable cputs::s#2 cputs::c#1 ] ( main:5::cputsxy:34::cputs:126 [ printf_buffer conio_reverse_value conio_display_cursor conio_scroll_enable cputs::s#2 cputs::c#1 ] { }  ) always clobbers reg byte a reg byte y 
Statement sideeffect stackpullbytes(1) always clobbers reg byte a 
Statement [211] if(*CH==$ff) goto kbhit::@1 [ ] ( main:5::waitkey:46::kbhit:153 [ conio_display_cursor conio_scroll_enable printf_buffer ] { { kbhit::return#2 = kbhit::return#3 } }  main:5::waitkey:60::kbhit:153 [ conio_reverse_value conio_display_cursor printf_buffer ] { { kbhit::return#2 = kbhit::return#3 } }  main:5::waitkey:72::kbhit:153 [ ] { { kbhit::return#2 = kbhit::return#3 } }  ) always clobbers reg byte a 
Statement [219] *utoa::buffer#11 = DIGITS[utoa::$11] [ printf_buffer utoa::buffer#11 ] ( main:5::printf_sint:54::utoa:171 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::buffer#11 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::utoa:171 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::buffer#11 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a reg byte y 
Statement [220] utoa::buffer#3 = ++ utoa::buffer#11 [ printf_buffer utoa::buffer#3 ] ( main:5::printf_sint:54::utoa:171 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::buffer#3 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::utoa:171 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::buffer#3 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [221] *utoa::buffer#3 = 0 [ printf_buffer ] ( main:5::printf_sint:54::utoa:171 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::utoa:171 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a reg byte y 
Statement [223] utoa::$10 = utoa::digit#2 << 1 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::$10 ] ( main:5::printf_sint:54::utoa:171 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::$10 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::utoa:171 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::$10 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [224] utoa::digit_value#0 = RADIX_DECIMAL_VALUES[utoa::$10] [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] ( main:5::printf_sint:54::utoa:171 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::utoa:171 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [226] if(utoa::value#2>=utoa::digit_value#0) goto utoa::@5 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] ( main:5::printf_sint:54::utoa:171 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::utoa:171 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement [229] utoa_append::buffer#0 = utoa::buffer#11 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 ] ( main:5::printf_sint:54::utoa:171 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::value#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  main:5::printf_sint:66::utoa:171 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::value#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [230] utoa_append::value#0 = utoa::value#2 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] ( main:5::printf_sint:54::utoa:171 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  main:5::printf_sint:66::utoa:171 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [231] utoa_append::sub#0 = utoa::digit_value#0 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] ( main:5::printf_sint:54::utoa:171 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  main:5::printf_sint:66::utoa:171 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [233] utoa_append::return#0 = utoa_append::value#2 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::return#0 ] ( main:5::printf_sint:54::utoa:171 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::return#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  main:5::printf_sint:66::utoa:171 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::return#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [234] utoa::value#0 = utoa_append::return#0 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa::value#0 ] ( main:5::printf_sint:54::utoa:171 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa::value#0 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } }  main:5::printf_sint:66::utoa:171 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa::value#0 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } }  ) always clobbers reg byte a 
Statement sideeffect stackpullbytes(1) always clobbers reg byte a 
Statement [246] 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:5::printf_sint:54::utoa:171::utoa_append:232 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  main:5::printf_sint:66::utoa:171::utoa_append:232 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [247] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2] [ utoa_append::value#2 ] ( main:5::printf_sint:54::utoa:171::utoa_append:232 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::value#2 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  main:5::printf_sint:66::utoa:171::utoa_append:232 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::value#2 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { 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 [250] 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:5::printf_sint:54::utoa:171::utoa_append:232 [ main::i#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] { { printf_sint::value#1 = printf_sint::value#3 main::i#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  main:5::printf_sint:66::utoa:171::utoa_append:232 [ main::i1#2 conio_reverse_value conio_display_cursor conio_scroll_enable printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] { { printf_sint::value#2 = printf_sint::value#3 main::i1#2 } { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Potential registers zp[2]:128 [ main::i#2 main::i#1 ] : zp[2]:128 , 
Potential registers zp[2]:130 [ main::i1#2 main::i1#1 ] : zp[2]:130 , 
Potential registers zp[1]:132 [ setcursor::c#3 setcursor::c#0 setcursor::c#1 ] : zp[1]:132 , reg byte x , reg byte y , 
Potential registers zp[1]:133 [ gotoxy::x#4 ] : zp[1]:133 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:134 [ gotoxy::y#4 ] : zp[1]:134 , reg byte x , reg byte y , 
Potential registers zp[1]:135 [ revers::onoff#2 ] : zp[1]:135 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[2]:136 [ printf_str::putc#10 ] : zp[2]:136 , 
Potential registers zp[2]:138 [ printf_str::s#9 printf_str::s#10 printf_str::s#0 ] : zp[2]:138 , 
Potential registers zp[2]:140 [ printf_sint::value#5 printf_sint::value#0 printf_sint::value#3 printf_sint::value#1 printf_sint::value#2 ] : zp[2]:140 , 
Potential registers zp[2]:142 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 ] : zp[2]:142 , 
Potential registers zp[2]:144 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] : zp[2]:144 , 
Potential registers zp[2]:146 [ memset::num#2 ] : zp[2]:146 , 
Potential registers zp[2]:148 [ memset::str#3 memset::str#7 memset::str#8 ] : zp[2]:148 , 
Potential registers zp[2]:150 [ memset::dst#2 memset::dst#4 memset::dst#1 ] : zp[2]:150 , 
Potential registers zp[2]:152 [ cputs::s#2 cputs::s#0 ] : zp[2]:152 , 
Potential registers zp[1]:154 [ kbhit::return#2 ] : zp[1]:154 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:155 [ utoa::digit#2 utoa::digit#1 ] : zp[1]:155 , reg byte x , 
Potential registers zp[2]:156 [ utoa::value#2 utoa::value#6 utoa::value#1 utoa::value#0 ] : zp[2]:156 , 
Potential registers zp[1]:158 [ utoa::started#2 utoa::started#4 ] : zp[1]:158 , reg byte x , reg byte y , 
Potential registers zp[2]:159 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 ] : zp[2]:159 , 
Potential registers zp[2]:161 [ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ] : zp[2]:161 , 
Potential registers zp[1]:163 [ utoa_append::digit#2 utoa_append::digit#1 ] : zp[1]:163 , reg byte x , reg byte y , 
Potential registers zp[1]:164 [ conio_reverse_value ] : zp[1]:164 , 
Potential registers zp[1]:165 [ conio_display_cursor ] : zp[1]:165 , 
Potential registers zp[1]:166 [ conio_scroll_enable ] : zp[1]:166 , 
Potential registers zp[1]:167 [ cputc::c ] : zp[1]:167 , 
Potential registers zp[1]:168 [ cputc::convertToScreenCode1_return#0 ] : zp[1]:168 , reg byte x , 
Potential registers zp[2]:169 [ cursorLocation::return#0 ] : zp[2]:169 , 
Potential registers zp[2]:171 [ putchar::loc#0 ] : zp[2]:171 , 
Potential registers zp[1]:173 [ putchar::newChar#0 ] : zp[1]:173 , reg byte a , reg byte x , 
Potential registers zp[2]:174 [ cursorLocation::return#3 ] : zp[2]:174 , 
Potential registers zp[2]:176 [ setcursor::loc#0 ] : zp[2]:176 , 
Potential registers zp[2]:178 [ newline::start#0 ] : zp[2]:178 , 
Potential registers zp[2]:180 [ memcpy::source#0 ] : zp[2]:180 , 
Potential registers zp[2]:182 [ memcpy::destination#0 ] : zp[2]:182 , 
Potential registers zp[2]:184 [ memset::str#1 ] : zp[2]:184 , 
Potential registers zp[1]:186 [ printf_str::c#1 ] : zp[1]:186 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:187 [ kbhit::return#3 ] : zp[1]:187 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:188 [ waitkey::$1 ] : zp[1]:188 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:189 [ printf_number_buffer::buffer_sign#0 ] : zp[1]:189 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[2]:190 [ cursorLocation::$3 ] : zp[2]:190 , 
Potential registers zp[2]:192 [ cursorLocation::$4 ] : zp[2]:192 , 
Potential registers zp[2]:194 [ cursorLocation::$5 ] : zp[2]:194 , 
Potential registers zp[2]:196 [ cursorLocation::$0 ] : zp[2]:196 , 
Potential registers zp[2]:198 [ cursorLocation::$1 ] : zp[2]:198 , 
Potential registers zp[2]:200 [ cursorLocation::return#1 ] : zp[2]:200 , 
Potential registers zp[2]:202 [ memcpy::src_end#0 ] : zp[2]:202 , 
Potential registers zp[2]:204 [ memset::end#0 ] : zp[2]:204 , 
Potential registers zp[1]:206 [ cputs::c#1 ] : zp[1]:206 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:207 [ utoa::$11 ] : zp[1]:207 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[2]:208 [ utoa::buffer#3 ] : zp[2]:208 , 
Potential registers zp[1]:210 [ utoa::$10 ] : zp[1]:210 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[2]:211 [ utoa::digit_value#0 ] : zp[2]:211 , 
Potential registers zp[2]:213 [ utoa_append::buffer#0 ] : zp[2]:213 , 
Potential registers zp[2]:215 [ utoa_append::sub#0 ] : zp[2]:215 , 
Potential registers zp[2]:217 [ utoa_append::return#0 ] : zp[2]:217 , 
Potential registers mem[12] [ printf_buffer ] : mem[12] , 

REGISTER UPLIFT SCOPES
Uplift Scope [utoa_append] 25,005,500,003.5: zp[2]:161 [ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ] 20,005,000,002.5: zp[1]:163 [ utoa_append::digit#2 utoa_append::digit#1 ] 3,333,500,000.5: zp[2]:215 [ utoa_append::sub#0 ] 2,000,002: zp[2]:217 [ utoa_append::return#0 ] 1,375,000.25: zp[2]:213 [ utoa_append::buffer#0 ] 
Uplift Scope [cursorLocation] 2,000,000,002: zp[2]:192 [ cursorLocation::$4 ] 2,000,000,002: zp[2]:194 [ cursorLocation::$5 ] 2,000,000,002: zp[2]:196 [ cursorLocation::$0 ] 2,000,000,002: zp[2]:198 [ cursorLocation::$1 ] 1,500,000,001.5: zp[2]:190 [ cursorLocation::$3 ] 275,250,000.75: zp[2]:200 [ cursorLocation::return#1 ] 200,000,002: zp[2]:174 [ cursorLocation::return#3 ] 2,000,002: zp[2]:169 [ cursorLocation::return#0 ] 
Uplift Scope [memcpy] 3,012,500,004.25: zp[2]:142 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 ] 2,023,333,337.67: zp[2]:144 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] 126,250,000.25: zp[2]:202 [ memcpy::src_end#0 ] 333,333.67: zp[2]:180 [ memcpy::source#0 ] 333,333.67: zp[2]:182 [ memcpy::destination#0 ] 
Uplift Scope [memset] 3,356,666,672.33: zp[2]:150 [ memset::dst#2 memset::dst#4 memset::dst#1 ] 168,333,333.67: zp[2]:204 [ memset::end#0 ] 10,000,001: zp[2]:146 [ memset::num#2 ] 2,333,571.33: zp[2]:148 [ memset::str#3 memset::str#7 memset::str#8 ] 1,000,001: zp[2]:184 [ memset::str#1 ] 
Uplift Scope [setcursor] 566,666,672.33: zp[1]:132 [ setcursor::c#3 setcursor::c#0 setcursor::c#1 ] 100,000,001: zp[2]:176 [ setcursor::loc#0 ] 
Uplift Scope [printf_str] 25,150,004: zp[2]:138 [ printf_str::s#9 printf_str::s#10 printf_str::s#0 ] 10,000,001: zp[1]:186 [ printf_str::c#1 ] 0: zp[2]:136 [ printf_str::putc#10 ] 
Uplift Scope [gotoxy] 10,000,001: zp[1]:133 [ gotoxy::x#4 ] 5,000,000.5: zp[1]:134 [ gotoxy::y#4 ] 
Uplift Scope [utoa] 3,787,146.79: zp[2]:159 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 ] 3,078,361.36: zp[2]:156 [ utoa::value#2 utoa::value#6 utoa::value#1 utoa::value#0 ] 2,285,716.57: zp[1]:155 [ utoa::digit#2 utoa::digit#1 ] 2,000,002: zp[1]:210 [ utoa::$10 ] 1,500,001.5: zp[1]:158 [ utoa::started#2 utoa::started#4 ] 600,000.6: zp[2]:211 [ utoa::digit_value#0 ] 20,002: zp[1]:207 [ utoa::$11 ] 20,002: zp[2]:208 [ utoa::buffer#3 ] 
Uplift Scope [putchar] 1,500,001.5: zp[1]:173 [ putchar::newChar#0 ] 1,000,001: zp[2]:171 [ putchar::loc#0 ] 
Uplift Scope [newline] 750,000.75: zp[2]:178 [ newline::start#0 ] 
Uplift Scope [] 677,853.05: zp[1]:165 [ conio_display_cursor ] 10,640.48: zp[1]:164 [ conio_reverse_value ] 8,621.59: zp[1]:166 [ conio_scroll_enable ] 0: mem[12] [ printf_buffer ] 
Uplift Scope [cputc] 183,333.67: zp[1]:168 [ cputc::convertToScreenCode1_return#0 ] 133,334.67: zp[1]:167 [ cputc::c ] 
Uplift Scope [cputs] 19,001.9: zp[2]:152 [ cputs::s#2 cputs::s#0 ] 10,001: zp[1]:206 [ cputs::c#1 ] 
Uplift Scope [printf_number_buffer] 7,001: zp[1]:189 [ printf_number_buffer::buffer_sign#0 ] 
Uplift Scope [printf_sint] 4,475.33: zp[2]:140 [ printf_sint::value#5 printf_sint::value#0 printf_sint::value#3 printf_sint::value#1 printf_sint::value#2 ] 
Uplift Scope [kbhit] 2,002: zp[1]:187 [ kbhit::return#3 ] 333.67: zp[1]:154 [ kbhit::return#2 ] 
Uplift Scope [waitkey] 2,002: zp[1]:188 [ waitkey::$1 ] 
Uplift Scope [main] 202: zp[2]:128 [ main::i#2 main::i#1 ] 202: zp[2]:130 [ main::i1#2 main::i1#1 ] 
Uplift Scope [revers] 101: zp[1]:135 [ revers::onoff#2 ] 
Uplift Scope [ATARI_ANTIC] 
Uplift Scope [ATARI_GTIA_READ] 
Uplift Scope [ATARI_GTIA_WRITE] 
Uplift Scope [ATARI_POKEY_READ] 
Uplift Scope [ATARI_POKEY_WRITE] 
Uplift Scope [RADIX] 
Uplift Scope [clrscr] 
Uplift Scope [cputsxy] 
Uplift Scope [textcolor] 
Uplift Scope [bgcolor] 
Uplift Scope [bordercolor] 
Uplift Scope [cursor] 
Uplift Scope [scroll] 
Uplift Scope [printf_format_number] 
Uplift Scope [printf_buffer_number] 
Uplift Scope [printf_format_string] 
Uplift Scope [printf_string] 
Uplift Scope [__start] 

Uplifting [utoa_append] best 91617 combination zp[2]:161 [ 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]:215 [ utoa_append::sub#0 ] zp[2]:217 [ utoa_append::return#0 ] zp[2]:213 [ utoa_append::buffer#0 ] 
Uplifting [cursorLocation] best 91617 combination zp[2]:192 [ cursorLocation::$4 ] zp[2]:194 [ cursorLocation::$5 ] zp[2]:196 [ cursorLocation::$0 ] zp[2]:198 [ cursorLocation::$1 ] zp[2]:190 [ cursorLocation::$3 ] zp[2]:200 [ cursorLocation::return#1 ] zp[2]:174 [ cursorLocation::return#3 ] zp[2]:169 [ cursorLocation::return#0 ] 
Uplifting [memcpy] best 91617 combination zp[2]:142 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 ] zp[2]:144 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] zp[2]:202 [ memcpy::src_end#0 ] zp[2]:180 [ memcpy::source#0 ] zp[2]:182 [ memcpy::destination#0 ] 
Uplifting [memset] best 91617 combination zp[2]:150 [ memset::dst#2 memset::dst#4 memset::dst#1 ] zp[2]:204 [ memset::end#0 ] zp[2]:146 [ memset::num#2 ] zp[2]:148 [ memset::str#3 memset::str#7 memset::str#8 ] zp[2]:184 [ memset::str#1 ] 
Uplifting [setcursor] best 91610 combination reg byte x [ setcursor::c#3 setcursor::c#0 setcursor::c#1 ] zp[2]:176 [ setcursor::loc#0 ] 
Uplifting [printf_str] best 90910 combination zp[2]:138 [ printf_str::s#9 printf_str::s#10 printf_str::s#0 ] reg byte a [ printf_str::c#1 ] zp[2]:136 [ printf_str::putc#10 ] 
Uplifting [gotoxy] best 90880 combination reg byte a [ gotoxy::x#4 ] reg byte x [ gotoxy::y#4 ] 
Uplifting [utoa] best 89774 combination zp[2]:159 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 ] zp[2]:156 [ utoa::value#2 utoa::value#6 utoa::value#1 utoa::value#0 ] zp[1]:155 [ utoa::digit#2 utoa::digit#1 ] reg byte a [ utoa::$10 ] reg byte x [ utoa::started#2 utoa::started#4 ] zp[2]:211 [ utoa::digit_value#0 ] reg byte x [ utoa::$11 ] zp[2]:208 [ utoa::buffer#3 ] 
Uplifting [putchar] best 89765 combination reg byte a [ putchar::newChar#0 ] zp[2]:171 [ putchar::loc#0 ] 
Uplifting [newline] best 89765 combination zp[2]:178 [ newline::start#0 ] 
Uplifting [] best 89765 combination zp[1]:165 [ conio_display_cursor ] zp[1]:164 [ conio_reverse_value ] zp[1]:166 [ conio_scroll_enable ] mem[12] [ printf_buffer ] 
Uplifting [cputc] best 89761 combination reg byte x [ cputc::convertToScreenCode1_return#0 ] zp[1]:167 [ cputc::c ] 
Uplifting [cputs] best 89691 combination zp[2]:152 [ cputs::s#2 cputs::s#0 ] reg byte a [ cputs::c#1 ] 
Uplifting [printf_number_buffer] best 89684 combination reg byte a [ printf_number_buffer::buffer_sign#0 ] 
Uplifting [printf_sint] best 89684 combination zp[2]:140 [ printf_sint::value#5 printf_sint::value#0 printf_sint::value#3 printf_sint::value#1 printf_sint::value#2 ] 
Uplifting [kbhit] best 89588 combination reg byte a [ kbhit::return#3 ] reg byte a [ kbhit::return#2 ] 
Uplifting [waitkey] best 89548 combination reg byte a [ waitkey::$1 ] 
Uplifting [main] best 89548 combination zp[2]:128 [ main::i#2 main::i#1 ] zp[2]:130 [ main::i1#2 main::i1#1 ] 
Uplifting [revers] best 89541 combination reg byte a [ revers::onoff#2 ] 
Uplifting [ATARI_ANTIC] best 89541 combination 
Uplifting [ATARI_GTIA_READ] best 89541 combination 
Uplifting [ATARI_GTIA_WRITE] best 89541 combination 
Uplifting [ATARI_POKEY_READ] best 89541 combination 
Uplifting [ATARI_POKEY_WRITE] best 89541 combination 
Uplifting [RADIX] best 89541 combination 
Uplifting [clrscr] best 89541 combination 
Uplifting [cputsxy] best 89541 combination 
Uplifting [textcolor] best 89541 combination 
Uplifting [bgcolor] best 89541 combination 
Uplifting [bordercolor] best 89541 combination 
Uplifting [cursor] best 89541 combination 
Uplifting [scroll] best 89541 combination 
Uplifting [printf_format_number] best 89541 combination 
Uplifting [printf_buffer_number] best 89541 combination 
Uplifting [printf_format_string] best 89541 combination 
Uplifting [printf_string] best 89541 combination 
Uplifting [__start] best 89541 combination 
Attempting to uplift remaining variables inzp[1]:155 [ utoa::digit#2 utoa::digit#1 ]
Uplifting [utoa] best 89541 combination zp[1]:155 [ utoa::digit#2 utoa::digit#1 ] 
Attempting to uplift remaining variables inzp[1]:165 [ conio_display_cursor ]
Uplifting [] best 89541 combination zp[1]:165 [ conio_display_cursor ] 
Attempting to uplift remaining variables inzp[1]:167 [ cputc::c ]
Uplifting [cputc] best 89541 combination zp[1]:167 [ cputc::c ] 
Attempting to uplift remaining variables inzp[1]:164 [ conio_reverse_value ]
Uplifting [] best 89541 combination zp[1]:164 [ conio_reverse_value ] 
Attempting to uplift remaining variables inzp[1]:166 [ conio_scroll_enable ]
Uplifting [] best 89541 combination zp[1]:166 [ conio_scroll_enable ] 
Coalescing zero page register [ zp[2]:140 [ printf_sint::value#5 printf_sint::value#0 printf_sint::value#3 printf_sint::value#1 printf_sint::value#2 ] ] with [ zp[2]:156 [ utoa::value#2 utoa::value#6 utoa::value#1 utoa::value#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:142 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 ] ] with [ zp[2]:180 [ memcpy::source#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:144 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] ] with [ zp[2]:182 [ memcpy::destination#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:146 [ memset::num#2 ] ] with [ zp[2]:204 [ memset::end#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:148 [ memset::str#3 memset::str#7 memset::str#8 ] ] with [ zp[2]:150 [ memset::dst#2 memset::dst#4 memset::dst#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:148 [ memset::str#3 memset::str#7 memset::str#8 memset::dst#2 memset::dst#4 memset::dst#1 ] ] with [ zp[2]:184 [ memset::str#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:159 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 ] ] with [ zp[2]:208 [ utoa::buffer#3 ] ] - score: 1
Coalescing zero page register [ zp[2]:159 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 utoa::buffer#3 ] ] with [ zp[2]:213 [ utoa_append::buffer#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:161 [ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ] ] with [ zp[2]:217 [ utoa_append::return#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:169 [ cursorLocation::return#0 ] ] with [ zp[2]:171 [ putchar::loc#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:169 [ cursorLocation::return#0 putchar::loc#0 ] ] with [ zp[2]:200 [ cursorLocation::return#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:174 [ cursorLocation::return#3 ] ] with [ zp[2]:176 [ setcursor::loc#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:190 [ cursorLocation::$3 ] ] with [ zp[2]:194 [ cursorLocation::$5 ] ] - score: 1
Coalescing zero page register [ zp[2]:196 [ cursorLocation::$0 ] ] with [ zp[2]:198 [ cursorLocation::$1 ] ] - score: 1
Coalescing zero page register [ zp[2]:211 [ utoa::digit_value#0 ] ] with [ zp[2]:215 [ utoa_append::sub#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:140 [ printf_sint::value#5 printf_sint::value#0 printf_sint::value#3 printf_sint::value#1 printf_sint::value#2 utoa::value#2 utoa::value#6 utoa::value#1 utoa::value#0 ] ] with [ zp[2]:161 [ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 utoa_append::return#0 ] ] - score: 2
Coalescing zero page register [ zp[2]:148 [ memset::str#3 memset::str#7 memset::str#8 memset::dst#2 memset::dst#4 memset::dst#1 memset::str#1 ] ] with [ zp[2]:178 [ newline::start#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:169 [ cursorLocation::return#0 putchar::loc#0 cursorLocation::return#1 ] ] with [ zp[2]:174 [ cursorLocation::return#3 setcursor::loc#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:169 [ cursorLocation::return#0 putchar::loc#0 cursorLocation::return#1 cursorLocation::return#3 setcursor::loc#0 ] ] with [ zp[2]:196 [ cursorLocation::$0 cursorLocation::$1 ] ] - score: 1
Coalescing zero page register [ zp[2]:169 [ cursorLocation::return#0 putchar::loc#0 cursorLocation::return#1 cursorLocation::return#3 setcursor::loc#0 cursorLocation::$0 cursorLocation::$1 ] ] with [ zp[2]:190 [ cursorLocation::$3 cursorLocation::$5 ] ] - score: 1
Coalescing zero page register [ zp[2]:140 [ printf_sint::value#5 printf_sint::value#0 printf_sint::value#3 printf_sint::value#1 printf_sint::value#2 utoa::value#2 utoa::value#6 utoa::value#1 utoa::value#0 utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 utoa_append::return#0 ] ] with [ zp[2]:136 [ printf_str::putc#10 ] ]
Coalescing zero page register [ zp[2]:146 [ memset::num#2 memset::end#0 ] ] with [ zp[2]:142 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 memcpy::source#0 ] ]
Coalescing zero page register [ zp[2]:152 [ cputs::s#2 cputs::s#0 ] ] with [ zp[2]:138 [ printf_str::s#9 printf_str::s#10 printf_str::s#0 ] ]
Coalescing zero page register [ zp[2]:169 [ cursorLocation::return#0 putchar::loc#0 cursorLocation::return#1 cursorLocation::return#3 setcursor::loc#0 cursorLocation::$0 cursorLocation::$1 cursorLocation::$3 cursorLocation::$5 ] ] with [ zp[2]:144 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 memcpy::destination#0 ] ]
Coalescing zero page register [ zp[2]:202 [ memcpy::src_end#0 ] ] with [ zp[2]:192 [ cursorLocation::$4 ] ]
Coalescing zero page register [ zp[2]:159 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 utoa::buffer#3 utoa_append::buffer#0 ] ] with [ zp[2]:152 [ cputs::s#2 cputs::s#0 printf_str::s#9 printf_str::s#10 printf_str::s#0 ] ]
Allocated (was zp[2]:140) zp[2]:132 [ printf_sint::value#5 printf_sint::value#0 printf_sint::value#3 printf_sint::value#1 printf_sint::value#2 utoa::value#2 utoa::value#6 utoa::value#1 utoa::value#0 utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 utoa_append::return#0 printf_str::putc#10 ]
Allocated (was zp[2]:146) zp[2]:134 [ memset::num#2 memset::end#0 memcpy::src#2 memcpy::src#4 memcpy::src#1 memcpy::source#0 ]
Allocated (was zp[2]:148) zp[2]:136 [ memset::str#3 memset::str#7 memset::str#8 memset::dst#2 memset::dst#4 memset::dst#1 memset::str#1 newline::start#0 ]
Allocated (was zp[1]:155) zp[1]:138 [ utoa::digit#2 utoa::digit#1 ]
Allocated (was zp[2]:159) zp[2]:139 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 utoa::buffer#3 utoa_append::buffer#0 cputs::s#2 cputs::s#0 printf_str::s#9 printf_str::s#10 printf_str::s#0 ]
Allocated (was zp[1]:164) zp[1]:141 [ conio_reverse_value ]
Allocated (was zp[1]:165) zp[1]:142 [ conio_display_cursor ]
Allocated (was zp[1]:166) zp[1]:143 [ conio_scroll_enable ]
Allocated (was zp[1]:167) zp[1]:144 [ cputc::c ]
Allocated (was zp[2]:169) zp[2]:145 [ cursorLocation::return#0 putchar::loc#0 cursorLocation::return#1 cursorLocation::return#3 setcursor::loc#0 cursorLocation::$0 cursorLocation::$1 cursorLocation::$3 cursorLocation::$5 memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 memcpy::destination#0 ]
Allocated (was zp[2]:202) zp[2]:147 [ memcpy::src_end#0 cursorLocation::$4 ]
Allocated (was zp[2]:211) zp[2]:149 [ utoa::digit_value#0 utoa_append::sub#0 ]

ASSEMBLER BEFORE OPTIMIZATION
  // File Comments
// Example usages of conio for Atari XL target.
  // Upstart
  // Atari XL/XE executable XEX file with a single segment
// https://www.atarimax.com/jindroush.atari.org/afmtexe.html
.plugin "dk.camelot64.kickass.xexplugin.AtariXex"
.file [name="atarixl-conio.xex", type="bin", segments="XexFile"]
.segmentdef XexFile [segments="Program", modify="XexFormat", _RunAddr=__start]
.segmentdef Program [segments="Code, Data"]
.segmentdef Code [start=$2000]
.segmentdef Data [startAfter="Code"]
  // Global Constants & labels
  .const DARK_ORANGE = $30
  .const MEDIUM_BLUE = $80
  .const WHITE = $fe
  .const OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS = 1
  .const STACK_BASE = $103
  .const SIZEOF_STRUCT_PRINTF_BUFFER_NUMBER = $c
  /// 2-byte saved memory scan counter
  .label SAVMSC = $58
  /// data under cursor
  .label OLDCHR = $5d
  /// 2-byte saved cursor memory address
  .label OLDADR = $5e
  /// Shadow for 53271 ($D017). Text color in Gr.0
  .label COLOR1 = $2c5
  /// Shadow for 53272 ($D018). Background color in GR.0
  .label COLOR2 = $2c6
  /// Shadow for 53274 ($D01A). Border color in GR.0
  .label COLOR4 = $2c8
  /// Cursor inhibit flag, 0 turns on, any other number turns off. Cursor doesn't change until it moves next.
  .label CRSINH = $2f0
  /// Internal hardware value for the last key pressed. Set to 0xFF to clear.
  .label CH = $2fc
  /// Atari ZP registers
  /// 1-byte cursor row
  .label ROWCRS = $54
  /// 2-byte cursor column
  .label COLCRS = $55
  // The screen width
  // The screen height
  // The current reverse value indicator. Values 0 or 0x80 for reverse text
  .label conio_reverse_value = $8d
  // The current cursor enable flag. 1 = on, 0 = off.
  .label conio_display_cursor = $8e
  // The current scroll enable flag. 1 = on, 0 = off.
  .label conio_scroll_enable = $8f
.segment Code
  // __start
__start: {
    jmp __init1
    // __start::__init1
  __init1:
    // [1] conio_reverse_value = 0 -- vbuz1=vbuc1 
    lda #0
    sta.z conio_reverse_value
    // [2] conio_display_cursor = 1 -- vbuz1=vbuc1 
    lda #1
    sta.z conio_display_cursor
    // [3] conio_scroll_enable = 1 -- vbuz1=vbuc1 
    lda #1
    sta.z conio_scroll_enable
    // [4] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
  __b1_from___init1:
    jmp __b1
    // __start::@1
  __b1:
    // [5] call main
    // [25] phi from __start::@1 to main [phi:__start::@1->main]
  main_from___b1:
    jsr main
    jmp __breturn
    // __start::@return
  __breturn:
    // [6] return 
    rts
}
  // cputc
// Output one character at the current cursor position
// Moves the cursor forward. Scrolls the entire screen if needed
// void cputc(__zp($90) volatile char c)
cputc: {
    .const OFFSET_STACK_C = 0
    .label convertToScreenCode1_v = c
    .label c = $90
    // [7] cputc::c = stackidx(char,cputc::OFFSET_STACK_C) -- vbuz1=_stackidxbyte_vbuc1 
    tsx
    lda STACK_BASE+OFFSET_STACK_C,x
    sta.z c
    // [8] if(cputc::c==' 'at) goto cputc::@1 -- vbuz1_eq_vbuc1_then_la1 
  .encoding "ascii"
    lda #'\r'
    cmp.z c
    beq __b1
    jmp __b3
    // cputc::@3
  __b3:
    // [9] if(cputc::c==' 'at) goto cputc::@2 -- vbuz1_eq_vbuc1_then_la1 
    lda #'\$9b'
    cmp.z c
    beq __b2
    jmp __b8
    // cputc::@8
  __b8:
    // [10] if(cputc::c==$9b) goto cputc::@2 -- vbuz1_eq_vbuc1_then_la1 
    lda #$9b
    cmp.z c
    beq __b2
    jmp convertToScreenCode1
    // cputc::convertToScreenCode1
  convertToScreenCode1:
    // [11] cputc::convertToScreenCode1_return#0 = rawmap[*cputc::convertToScreenCode1_v#0] -- vbuxx=pbuc1_derefidx_(_deref_pbuc2) 
    ldy.z convertToScreenCode1_v
    ldx rawmap,y
    // [12] phi from cputc::convertToScreenCode1 to cputc::@6 [phi:cputc::convertToScreenCode1->cputc::@6]
  __b6_from_convertToScreenCode1:
    jmp __b6
    // cputc::@6
  __b6:
    // [13] call putchar
    jsr putchar
    jmp __b7
    // cputc::@7
  __b7:
    // [14] *COLCRS = ++ *COLCRS -- _deref_pwuc1=_inc__deref_pwuc1 
    inc COLCRS
    bne !+
    inc COLCRS+1
  !:
    // [15] if(*COLCRS==$28) goto cputc::@5 -- _deref_pwuc1_eq_vbuc2_then_la1 
    lda COLCRS+1
    bne !+
    lda COLCRS
    cmp #$28
    beq __b5
  !:
    // [16] phi from cputc::@7 to cputc::@4 [phi:cputc::@7->cputc::@4]
  __b4_from___b7:
    jmp __b4
    // cputc::@4
  __b4:
    // [17] call setcursor
    jsr setcursor
    jmp __breturn
    // cputc::@return
  __breturn:
    // [18] return 
    rts
    // cputc::@5
  __b5:
    // [19] *COLCRS = 0 -- _deref_pwuc1=vbuc2 
    lda #<0
    sta COLCRS
    lda #>0
    sta COLCRS+1
    // [20] call newline
    jsr newline
    jmp __breturn
    // cputc::@2
  __b2:
    // [21] *COLCRS = 0 -- _deref_pwuc1=vbuc2 
    // 0x0a LF, or atascii EOL
    lda #<0
    sta COLCRS
    lda #>0
    sta COLCRS+1
    // [22] call newline
    jsr newline
    jmp __breturn
    // cputc::@1
  __b1:
    // [23] *COLCRS = 0 -- _deref_pwuc1=vbuc2 
    // 0x0d, CR = just set the cursor x value to 0
    lda #<0
    sta COLCRS
    lda #>0
    sta COLCRS+1
    // [24] call setcursor
    jsr setcursor
    jmp __breturn
}
  // main
main: {
    .label i = $80
    .label i1 = $82
    // [26] call cursor
    // hide the cursor
    jsr cursor
    // [27] phi from main to main::@5 [phi:main->main::@5]
  __b5_from_main:
    jmp __b5
    // main::@5
  __b5:
    // [28] call bgcolor
    // change colors
    jsr bgcolor
    // [29] phi from main::@5 to main::@6 [phi:main::@5->main::@6]
  __b6_from___b5:
    jmp __b6
    // main::@6
  __b6:
    // [30] call bordercolor
    jsr bordercolor
    // [31] phi from main::@6 to main::@7 [phi:main::@6->main::@7]
  __b7_from___b6:
    jmp __b7
    // main::@7
  __b7:
    // [32] call textcolor
    jsr textcolor
    // [33] phi from main::@7 to main::@8 [phi:main::@7->main::@8]
  __b8_from___b7:
    jmp __b8
    // main::@8
  __b8:
    // [34] call cputsxy
  // print some text at a location
    // [123] phi from main::@8 to cputsxy [phi:main::@8->cputsxy]
  cputsxy_from___b8:
    jsr cputsxy
    // [35] phi from main::@8 to main::@9 [phi:main::@8->main::@9]
  __b9_from___b8:
    jmp __b9
    // main::@9
  __b9:
    // [36] call gotoxy
  // skip a line
    // [128] phi from main::@9 to gotoxy [phi:main::@9->gotoxy]
  gotoxy_from___b9:
    // [128] phi gotoxy::y#4 = 3 [phi:main::@9->gotoxy#0] -- vbuxx=vbuc1 
    ldx #3
    // [128] phi gotoxy::x#4 = 0 [phi:main::@9->gotoxy#1] -- vbuaa=vbuc1 
    lda #0
    jsr gotoxy
    // [37] phi from main::@9 to main::@10 [phi:main::@9->main::@10]
  __b10_from___b9:
    jmp __b10
    // main::@10
  __b10:
    // [38] call revers
  // set inverse text and use printf to output a string
    // [133] phi from main::@10 to revers [phi:main::@10->revers]
  revers_from___b10:
    // [133] phi revers::onoff#2 = 1 [phi:main::@10->revers#0] -- vbuaa=vbuc1 
    lda #1
    jsr revers
    // [39] phi from main::@10 to main::@11 [phi:main::@10->main::@11]
  __b11_from___b10:
    jmp __b11
    // main::@11
  __b11:
    // [40] call printf_str
    // [138] phi from main::@11 to printf_str [phi:main::@11->printf_str]
  printf_str_from___b11:
    // [138] phi printf_str::putc#10 = &cputc [phi:main::@11->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [138] phi printf_str::s#10 = main::s1 [phi:main::@11->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::@11 to main::@12 [phi:main::@11->main::@12]
  __b12_from___b11:
    jmp __b12
    // main::@12
  __b12:
    // [42] call printf_string
    // [147] phi from main::@12 to printf_string [phi:main::@12->printf_string]
  printf_string_from___b12:
    jsr printf_string
    // [43] phi from main::@12 to main::@13 [phi:main::@12->main::@13]
  __b13_from___b12:
    jmp __b13
    // main::@13
  __b13:
    // [44] call printf_str
    // [138] phi from main::@13 to printf_str [phi:main::@13->printf_str]
  printf_str_from___b13:
    // [138] phi printf_str::putc#10 = &cputc [phi:main::@13->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [138] phi printf_str::s#10 = main::s2 [phi:main::@13->printf_str#1] -- pbuz1=pbuc1 
    lda #<s2
    sta.z printf_str.s
    lda #>s2
    sta.z printf_str.s+1
    jsr printf_str
    // [45] phi from main::@13 to main::@14 [phi:main::@13->main::@14]
  __b14_from___b13:
    jmp __b14
    // main::@14
  __b14:
    // [46] call waitkey
  // wait for user keypress
    // [151] phi from main::@14 to waitkey [phi:main::@14->waitkey]
  waitkey_from___b14:
    jsr waitkey
    // [47] phi from main::@14 to main::@15 [phi:main::@14->main::@15]
  __b15_from___b14:
    jmp __b15
    // main::@15
  __b15:
    // [48] call clrscr
    // clear screen
    jsr clrscr
    // [49] phi from main::@15 to main::@16 [phi:main::@15->main::@16]
  __b16_from___b15:
    jmp __b16
    // main::@16
  __b16:
    // [50] call revers
  // reset reverse and do some scrolling lines.
    // [133] phi from main::@16 to revers [phi:main::@16->revers]
  revers_from___b16:
    // [133] phi revers::onoff#2 = 0 [phi:main::@16->revers#0] -- vbuaa=vbuc1 
    lda #0
    jsr revers
    // [51] phi from main::@16 to main::@1 [phi:main::@16->main::@1]
  __b1_from___b16:
    // [51] phi main::i#2 = 0 [phi:main::@16->main::@1#0] -- vwsz1=vwsc1 
    lda #<0
    sta.z i
    lda #>0
    sta.z i+1
    jmp __b1
    // [51] phi from main::@19 to main::@1 [phi:main::@19->main::@1]
  __b1_from___b19:
    // [51] phi main::i#2 = main::i#1 [phi:main::@19->main::@1#0] -- register_copy 
    jmp __b1
    // main::@1
  __b1:
    // [52] call printf_str
    // [138] phi from main::@1 to printf_str [phi:main::@1->printf_str]
  printf_str_from___b1:
    // [138] phi printf_str::putc#10 = &cputc [phi:main::@1->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [138] phi printf_str::s#10 = main::s3 [phi:main::@1->printf_str#1] -- pbuz1=pbuc1 
    lda #<s3
    sta.z printf_str.s
    lda #>s3
    sta.z printf_str.s+1
    jsr printf_str
    jmp __b17
    // main::@17
  __b17:
    // [53] printf_sint::value#1 = main::i#2 -- vwsz1=vwsz2 
    lda.z i
    sta.z printf_sint.value
    lda.z i+1
    sta.z printf_sint.value+1
    // [54] call printf_sint
    // [164] phi from main::@17 to printf_sint [phi:main::@17->printf_sint]
  printf_sint_from___b17:
    // [164] phi printf_sint::value#3 = printf_sint::value#1 [phi:main::@17->printf_sint#0] -- register_copy 
    jsr printf_sint
    // [55] phi from main::@17 to main::@18 [phi:main::@17->main::@18]
  __b18_from___b17:
    jmp __b18
    // main::@18
  __b18:
    // [56] call printf_str
    // [138] phi from main::@18 to printf_str [phi:main::@18->printf_str]
  printf_str_from___b18:
    // [138] phi printf_str::putc#10 = &cputc [phi:main::@18->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [138] phi printf_str::s#10 = main::s4 [phi:main::@18->printf_str#1] -- pbuz1=pbuc1 
    lda #<s4
    sta.z printf_str.s
    lda #>s4
    sta.z printf_str.s+1
    jsr printf_str
    jmp __b19
    // main::@19
  __b19:
    // [57] main::i#1 = ++ main::i#2 -- vwsz1=_inc_vwsz1 
    inc.z i
    bne !+
    inc.z i+1
  !:
    // [58] if(main::i#1!=$33) goto main::@1 -- vwsz1_neq_vwuc1_then_la1 
    lda.z i+1
    cmp #>$33
    bne __b1_from___b19
    lda.z i
    cmp #<$33
    bne __b1_from___b19
    // [59] phi from main::@19 to main::@2 [phi:main::@19->main::@2]
  __b2_from___b19:
    jmp __b2
    // main::@2
  __b2:
    // [60] call waitkey
    // [151] phi from main::@2 to waitkey [phi:main::@2->waitkey]
  waitkey_from___b2:
    jsr waitkey
    // [61] phi from main::@2 to main::@20 [phi:main::@2->main::@20]
  __b20_from___b2:
    jmp __b20
    // main::@20
  __b20:
    // [62] call scroll
    // turn scroll off and do more lines
    jsr scroll
    // [63] phi from main::@20 to main::@3 [phi:main::@20->main::@3]
  __b3_from___b20:
    // [63] phi main::i1#2 = $33 [phi:main::@20->main::@3#0] -- vwsz1=vwsc1 
    lda #<$33
    sta.z i1
    lda #>$33
    sta.z i1+1
    jmp __b3
    // [63] phi from main::@23 to main::@3 [phi:main::@23->main::@3]
  __b3_from___b23:
    // [63] phi main::i1#2 = main::i1#1 [phi:main::@23->main::@3#0] -- register_copy 
    jmp __b3
    // main::@3
  __b3:
    // [64] call printf_str
    // [138] phi from main::@3 to printf_str [phi:main::@3->printf_str]
  printf_str_from___b3:
    // [138] phi printf_str::putc#10 = &cputc [phi:main::@3->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [138] phi printf_str::s#10 = main::s5 [phi:main::@3->printf_str#1] -- pbuz1=pbuc1 
    lda #<s5
    sta.z printf_str.s
    lda #>s5
    sta.z printf_str.s+1
    jsr printf_str
    jmp __b21
    // main::@21
  __b21:
    // [65] printf_sint::value#2 = main::i1#2 -- vwsz1=vwsz2 
    lda.z i1
    sta.z printf_sint.value
    lda.z i1+1
    sta.z printf_sint.value+1
    // [66] call printf_sint
    // [164] phi from main::@21 to printf_sint [phi:main::@21->printf_sint]
  printf_sint_from___b21:
    // [164] phi printf_sint::value#3 = printf_sint::value#2 [phi:main::@21->printf_sint#0] -- register_copy 
    jsr printf_sint
    // [67] phi from main::@21 to main::@22 [phi:main::@21->main::@22]
  __b22_from___b21:
    jmp __b22
    // main::@22
  __b22:
    // [68] call printf_str
    // [138] phi from main::@22 to printf_str [phi:main::@22->printf_str]
  printf_str_from___b22:
    // [138] phi printf_str::putc#10 = &cputc [phi:main::@22->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [138] phi printf_str::s#10 = main::s4 [phi:main::@22->printf_str#1] -- pbuz1=pbuc1 
    lda #<s4
    sta.z printf_str.s
    lda #>s4
    sta.z printf_str.s+1
    jsr printf_str
    jmp __b23
    // main::@23
  __b23:
    // [69] main::i1#1 = ++ main::i1#2 -- vwsz1=_inc_vwsz1 
    inc.z i1
    bne !+
    inc.z i1+1
  !:
    // [70] if(main::i1#1!=$c9) goto main::@3 -- vwsz1_neq_vwsc1_then_la1 
    lda.z i1+1
    cmp #>$c9
    bne __b3_from___b23
    lda.z i1
    cmp #<$c9
    bne __b3_from___b23
    // [71] phi from main::@23 to main::@4 [phi:main::@23->main::@4]
  __b4_from___b23:
    jmp __b4
    // main::@4
  __b4:
    // [72] call waitkey
    // [151] phi from main::@4 to waitkey [phi:main::@4->waitkey]
  waitkey_from___b4:
    jsr waitkey
    jmp __breturn
    // main::@return
  __breturn:
    // [73] return 
    rts
  .segment Data
    name: .text "Mark"
    .byte 0
    s: .text @"Hello, World!\$9b"
    .byte 0
    s1: .text "Hello, "
    .byte 0
    s2: .text @" - press a key!\$9b"
    .byte 0
    s3: .text "Scrolling lines ... "
    .byte 0
    s4: .text @"\$9b"
    .byte 0
    s5: .text "Some wrapping lines ... "
    .byte 0
}
.segment Code
  // putchar
// Puts a character to the screen a the current location. Uses internal screencode. Deals with storing the old cursor value
// void putchar(char code)
putchar: {
    .label loc = $91
    // [74] *(*OLDADR) = *OLDCHR -- _deref_(_deref_qbuc1)=_deref_pbuc2 
    lda OLDCHR
    ldy OLDADR
    sty.z $fe
    ldy OLDADR+1
    sty.z $ff
    ldy #0
    sta ($fe),y
    // [75] call cursorLocation
    jsr cursorLocation
    // [76] cursorLocation::return#0 = cursorLocation::return#1
    jmp __b1
    // putchar::@1
  __b1:
    // [77] putchar::loc#0 = cursorLocation::return#0
    // [78] putchar::newChar#0 = cputc::convertToScreenCode1_return#0 | conio_reverse_value -- vbuaa=vbuxx_bor_vbuz1 
    txa
    ora.z conio_reverse_value
    // [79] *putchar::loc#0 = putchar::newChar#0 -- _deref_pbuz1=vbuaa 
    ldy #0
    sta (loc),y
    // [80] *OLDCHR = putchar::newChar#0 -- _deref_pbuc1=vbuaa 
    sta OLDCHR
    // [81] call setcursor
    jsr setcursor
    jmp __breturn
    // putchar::@return
  __breturn:
    // [82] return 
    rts
}
  // setcursor
// Handles cursor movement, displaying it if required, and inverting character it is over if there is one (and enabled)
setcursor: {
    .label loc = $91
    // [83] *(*OLDADR) = *OLDCHR -- _deref_(_deref_qbuc1)=_deref_pbuc2 
    // save the current oldchr into oldadr
    lda OLDCHR
    ldy OLDADR
    sty.z $fe
    ldy OLDADR+1
    sty.z $ff
    ldy #0
    sta ($fe),y
    // [84] call cursorLocation
    // work out the new location for oldadr based on new column/row
    jsr cursorLocation
    // [85] cursorLocation::return#3 = cursorLocation::return#1
    jmp __b4
    // setcursor::@4
  __b4:
    // [86] setcursor::loc#0 = cursorLocation::return#3
    // [87] setcursor::c#0 = *setcursor::loc#0 -- vbuxx=_deref_pbuz1 
    ldy #0
    lda (loc),y
    tax
    // [88] *OLDCHR = setcursor::c#0 -- _deref_pbuc1=vbuxx 
    stx OLDCHR
    // [89] *OLDADR = setcursor::loc#0 -- _deref_qbuc1=pbuz1 
    lda.z loc
    sta OLDADR
    lda.z loc+1
    sta OLDADR+1
    // [90] if(conio_display_cursor==0) goto setcursor::@1 -- vbuz1_eq_0_then_la1 
    lda.z conio_display_cursor
    beq __b1
    jmp __b3
    // setcursor::@3
  __b3:
    // [91] *CRSINH = 0 -- _deref_pbuc1=vbuc2 
    // cursor is on, so invert the inverse bit and turn cursor on
    lda #0
    sta CRSINH
    // [92] setcursor::c#1 = setcursor::c#0 ^ $80 -- vbuxx=vbuxx_bxor_vbuc1 
    txa
    eor #$80
    tax
    // [93] phi from setcursor::@1 setcursor::@3 to setcursor::@2 [phi:setcursor::@1/setcursor::@3->setcursor::@2]
  __b2_from___b1:
  __b2_from___b3:
    // [93] phi setcursor::c#3 = setcursor::c#0 [phi:setcursor::@1/setcursor::@3->setcursor::@2#0] -- register_copy 
    jmp __b2
    // setcursor::@2
  __b2:
    // [94] *(*OLDADR) = setcursor::c#3 -- _deref_(_deref_qbuc1)=vbuxx 
    txa
    ldy OLDADR
    sty.z $fe
    ldy OLDADR+1
    sty.z $ff
    ldy #0
    sta ($fe),y
    jmp __breturn
    // setcursor::@return
  __breturn:
    // [95] return 
    rts
    // setcursor::@1
  __b1:
    // [96] *CRSINH = 1 -- _deref_pbuc1=vbuc2 
    // cursor is off, don't affect the character at all, but do turn off cursor
    lda #1
    sta CRSINH
    jmp __b2_from___b1
}
  // newline
newline: {
    .label start = $88
    // [97] *ROWCRS = ++ *ROWCRS -- _deref_pbuc1=_inc__deref_pbuc1 
    inc ROWCRS
    // [98] if(*ROWCRS!=$18) goto newline::@1 -- _deref_pbuc1_neq_vbuc2_then_la1 
    lda #$18
    cmp ROWCRS
    bne __b1_from_newline
    jmp __b2
    // newline::@2
  __b2:
    // [99] if(conio_scroll_enable==1) goto newline::@4 -- vbuz1_eq_vbuc1_then_la1 
    lda #1
    cmp.z conio_scroll_enable
    beq __b4
    // [100] phi from newline::@2 to newline::@3 [phi:newline::@2->newline::@3]
  __b3_from___b2:
    jmp __b3
    // newline::@3
  __b3:
    // [101] call gotoxy
    // [128] phi from newline::@3 to gotoxy [phi:newline::@3->gotoxy]
  gotoxy_from___b3:
    // [128] phi gotoxy::y#4 = 0 [phi:newline::@3->gotoxy#0] -- vbuxx=vbuc1 
    ldx #0
    // [128] phi gotoxy::x#4 = 0 [phi:newline::@3->gotoxy#1] -- vbuaa=vbuc1 
    lda #0
    jsr gotoxy
    // [102] phi from newline newline::@3 newline::@8 to newline::@1 [phi:newline/newline::@3/newline::@8->newline::@1]
  __b1_from_newline:
  __b1_from___b3:
  __b1_from___b8:
    jmp __b1
    // newline::@1
  __b1:
    // [103] call setcursor
    jsr setcursor
    jmp __breturn
    // newline::@return
  __breturn:
    // [104] return 
    rts
    // newline::@4
  __b4:
    // [105] if(conio_display_cursor!=1) goto newline::@5 -- vbuz1_neq_vbuc1_then_la1 
    lda #1
    cmp.z conio_display_cursor
    bne __b5
    jmp __b6
    // newline::@6
  __b6:
    // [106] *(*OLDADR) = *(*OLDADR) ^ $80 -- _deref_(_deref_qbuc1)=_deref_(_deref_qbuc1)_bxor_vbuc2 
    ldy OLDADR
    sty.z $fe
    ldy OLDADR+1
    sty.z $ff
    ldy #0
    lda ($fe),y
    eor #$80
    sta ($fe),y
    jmp __b5
    // newline::@5
  __b5:
    // [107] newline::start#0 = *SAVMSC -- pbuz1=_deref_qbuc1 
    // move screen up 1 line
    lda SAVMSC
    sta.z start
    lda SAVMSC+1
    sta.z start+1
    // [108] memcpy::source#0 = newline::start#0 + $28 -- pbuz1=pbuz2_plus_vbuc1 
    lda #$28
    clc
    adc.z start
    sta.z memcpy.source
    lda #0
    adc.z start+1
    sta.z memcpy.source+1
    // [109] memcpy::destination#0 = (void *)newline::start#0 -- pvoz1=pvoz2 
    lda.z start
    sta.z memcpy.destination
    lda.z start+1
    sta.z memcpy.destination+1
    // [110] call memcpy
    jsr memcpy
    jmp __b7
    // newline::@7
  __b7:
    // [111] memset::str#1 = newline::start#0 + (unsigned int)$28*$17 -- pbuz1=pbuz1_plus_vwuc1 
    lda.z memset.str
    clc
    adc #<$28*$17
    sta.z memset.str
    lda.z memset.str+1
    adc #>$28*$17
    sta.z memset.str+1
    // [112] memset::str#8 = (void *)memset::str#1
    // [113] call memset
    // [193] phi from newline::@7 to memset [phi:newline::@7->memset]
  memset_from___b7:
    // [193] phi memset::str#3 = memset::str#8 [phi:newline::@7->memset#0] -- register_copy 
    // [193] phi memset::num#2 = $28 [phi:newline::@7->memset#1] -- vwuz1=vbuc1 
    lda #<$28
    sta.z memset.num
    lda #>$28
    sta.z memset.num+1
    jsr memset
    jmp __b8
    // newline::@8
  __b8:
    // [114] *ROWCRS = $18-1 -- _deref_pbuc1=vbuc2 
    lda #$18-1
    sta ROWCRS
    jmp __b1_from___b8
}
  // cursor
// If onoff is 1, a cursor is displayed when any text is output.
// If onoff is 0, the cursor is hidden instead.
// char cursor(char onoff)
cursor: {
    .const onoff = 0
    // [115] conio_display_cursor = cursor::onoff#0 -- vbuz1=vbuc1 
    lda #onoff
    sta.z conio_display_cursor
    jmp __breturn
    // cursor::@return
  __breturn:
    // [116] return 
    rts
}
  // bgcolor
// Set the color for the background. The old color setting is returned.
// char bgcolor(char color)
bgcolor: {
    // [117] *COLOR2 = DARK_ORANGE -- _deref_pbuc1=vbuc2 
    lda #DARK_ORANGE
    sta COLOR2
    jmp __breturn
    // bgcolor::@return
  __breturn:
    // [118] return 
    rts
}
  // bordercolor
// Set the color for the border. The old color setting is returned.
// char bordercolor(char color)
bordercolor: {
    // [119] *COLOR4 = MEDIUM_BLUE -- _deref_pbuc1=vbuc2 
    lda #MEDIUM_BLUE
    sta COLOR4
    jmp __breturn
    // bordercolor::@return
  __breturn:
    // [120] return 
    rts
}
  // textcolor
// Set the color for the text. The old color setting is returned.
// char textcolor(char color)
textcolor: {
    // [121] *COLOR1 = WHITE -- _deref_pbuc1=vbuc2 
    lda #WHITE
    sta COLOR1
    jmp __breturn
    // textcolor::@return
  __breturn:
    // [122] return 
    rts
}
  // cputsxy
// Move cursor and output a NUL-terminated string
// Same as "gotoxy (x, y); puts (s);"
// void cputsxy(char x, char y, const char *s)
cputsxy: {
    .const x = 0
    .const y = 1
    // [124] call gotoxy
    // [128] phi from cputsxy to gotoxy [phi:cputsxy->gotoxy]
  gotoxy_from_cputsxy:
    // [128] phi gotoxy::y#4 = cputsxy::y#0 [phi:cputsxy->gotoxy#0] -- vbuxx=vbuc1 
    ldx #y
    // [128] phi gotoxy::x#4 = cputsxy::x#0 [phi:cputsxy->gotoxy#1] -- vbuaa=vbuc1 
    lda #x
    jsr gotoxy
    // [125] phi from cputsxy to cputsxy::@1 [phi:cputsxy->cputsxy::@1]
  __b1_from_cputsxy:
    jmp __b1
    // cputsxy::@1
  __b1:
    // [126] call cputs
    // [202] phi from cputsxy::@1 to cputs [phi:cputsxy::@1->cputs]
  cputs_from___b1:
    jsr cputs
    jmp __breturn
    // cputsxy::@return
  __breturn:
    // [127] return 
    rts
}
  // gotoxy
// Set the cursor to the specified position
// void gotoxy(__register(A) char x, __register(X) char y)
gotoxy: {
    // [129] *COLCRS = gotoxy::x#4 -- _deref_pwuc1=vbuaa 
    sta COLCRS
    lda #0
    sta COLCRS+1
    // [130] *ROWCRS = gotoxy::y#4 -- _deref_pbuc1=vbuxx 
    stx ROWCRS
    // [131] call setcursor
    jsr setcursor
    jmp __breturn
    // gotoxy::@return
  __breturn:
    // [132] return 
    rts
}
  // revers
// Sets reverse mode for text. 1 enables reverse, 0 disables. Returns the old value.
// char revers(__register(A) char onoff)
revers: {
    // [134] if(revers::onoff#2==0) goto revers::@1 -- vbuaa_eq_0_then_la1 
    cmp #0
    beq __b1
    jmp __b2
    // revers::@2
  __b2:
    // [135] conio_reverse_value = $80 -- vbuz1=vbuc1 
    lda #$80
    sta.z conio_reverse_value
    jmp __breturn
    // revers::@return
  __breturn:
    // [136] return 
    rts
    // revers::@1
  __b1:
    // [137] conio_reverse_value = 0 -- vbuz1=vbuc1 
    lda #0
    sta.z conio_reverse_value
    jmp __breturn
}
  // printf_str
/// Print a NUL-terminated string
// void printf_str(__zp($84) void (*putc)(char), __zp($8b) const char *s)
printf_str: {
    .label s = $8b
    .label putc = $84
    // [139] 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:
    // [139] phi printf_str::s#9 = printf_str::s#10 [phi:printf_str/printf_str::@2->printf_str::@1#0] -- register_copy 
    jmp __b1
    // printf_str::@1
  __b1:
    // [140] printf_str::c#1 = *printf_str::s#9 -- vbuaa=_deref_pbuz1 
    ldy #0
    lda (s),y
    // [141] printf_str::s#0 = ++ printf_str::s#9 -- pbuz1=_inc_pbuz1 
    inc.z s
    bne !+
    inc.z s+1
  !:
    // [142] 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:
    // [143] return 
    rts
    // printf_str::@2
  __b2:
    // [144] stackpush(char) = printf_str::c#1 -- _stackpushbyte_=vbuaa 
    pha
    // [145] callexecute *printf_str::putc#10  -- call__deref_pprz1 
    jsr icall1
    // sideeffect stackpullbytes(1) -- _stackpullbyte_1 
    pla
    jmp __b1_from___b2
    // Outside Flow
  icall1:
    jmp (putc)
}
  // printf_string
// Print a string value using a specific format
// Handles justification and min length 
// void printf_string(void (*putc)(char), char *str, char format_min_length, char format_justify_left)
printf_string: {
    .label putc = cputc
    // [148] phi from printf_string to printf_string::@1 [phi:printf_string->printf_string::@1]
  __b1_from_printf_string:
    jmp __b1
    // printf_string::@1
  __b1:
    // [149] call printf_str
    // [138] phi from printf_string::@1 to printf_str [phi:printf_string::@1->printf_str]
  printf_str_from___b1:
    // [138] phi printf_str::putc#10 = printf_string::putc#0 [phi:printf_string::@1->printf_str#0] -- pprz1=pprc1 
    lda #<putc
    sta.z printf_str.putc
    lda #>putc
    sta.z printf_str.putc+1
    // [138] phi printf_str::s#10 = main::name [phi:printf_string::@1->printf_str#1] -- pbuz1=pbuc1 
    lda #<main.name
    sta.z printf_str.s
    lda #>main.name
    sta.z printf_str.s+1
    jsr printf_str
    jmp __breturn
    // printf_string::@return
  __breturn:
    // [150] return 
    rts
}
  // waitkey
waitkey: {
    // [152] phi from waitkey waitkey::@2 to waitkey::@1 [phi:waitkey/waitkey::@2->waitkey::@1]
  __b1_from_waitkey:
  __b1_from___b2:
    jmp __b1
    // waitkey::@1
  __b1:
    // [153] call kbhit
    jsr kbhit
    // [154] kbhit::return#3 = kbhit::return#2
    jmp __b2
    // waitkey::@2
  __b2:
    // [155] waitkey::$1 = kbhit::return#3
    // [156] if(0==waitkey::$1) goto waitkey::@1 -- 0_eq_vbuaa_then_la1 
    cmp #0
    beq __b1_from___b2
    jmp clrkb1
    // waitkey::clrkb1
  clrkb1:
    // [157] *CH = $ff -- _deref_pbuc1=vbuc2 
    lda #$ff
    sta CH
    jmp __breturn
    // waitkey::@return
  __breturn:
    // [158] return 
    rts
}
  // clrscr
// clears the screen and moves the cursor to the upper left-hand corner of the screen.
clrscr: {
    // [159] memset::str#7 = (void *)*SAVMSC -- pvoz1=_deref_qvoc1 
    lda SAVMSC
    sta.z memset.str
    lda SAVMSC+1
    sta.z memset.str+1
    // [160] call memset
  // Fill entire screen with spaces
    // [193] phi from clrscr to memset [phi:clrscr->memset]
  memset_from_clrscr:
    // [193] phi memset::str#3 = memset::str#7 [phi:clrscr->memset#0] -- register_copy 
    // [193] phi memset::num#2 = (unsigned int)$28*$18 [phi:clrscr->memset#1] -- vwuz1=vwuc1 
    lda #<$28*$18
    sta.z memset.num
    lda #>$28*$18
    sta.z memset.num+1
    jsr memset
    jmp __b1
    // clrscr::@1
  __b1:
    // [161] *OLDCHR = 0 -- _deref_pbuc1=vbuc2 
    // 0x00 is screencode for space character
    // set the old character to a space so the cursor doesn't reappear at the last position it was at
    lda #0
    sta OLDCHR
    // [162] call gotoxy
    // [128] phi from clrscr::@1 to gotoxy [phi:clrscr::@1->gotoxy]
  gotoxy_from___b1:
    // [128] phi gotoxy::y#4 = 0 [phi:clrscr::@1->gotoxy#0] -- vbuxx=vbuc1 
    ldx #0
    // [128] phi gotoxy::x#4 = 0 [phi:clrscr::@1->gotoxy#1] -- vbuaa=vbuc1 
    lda #0
    jsr gotoxy
    jmp __breturn
    // clrscr::@return
  __breturn:
    // [163] return 
    rts
}
  // printf_sint
// Print a signed integer using a specific format
// void printf_sint(void (*putc)(char), __zp($84) 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: {
    .label value = $84
    // [165] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2 
    // Handle any sign
    lda #0
    sta printf_buffer
    // [166] if(printf_sint::value#3<0) goto printf_sint::@1 -- vwsz1_lt_0_then_la1 
    lda.z value+1
    bmi __b1
    // [169] phi from printf_sint printf_sint::@1 to printf_sint::@2 [phi:printf_sint/printf_sint::@1->printf_sint::@2]
  __b2_from_printf_sint:
  __b2_from___b1:
    // [169] phi printf_sint::value#5 = printf_sint::value#3 [phi:printf_sint/printf_sint::@1->printf_sint::@2#0] -- register_copy 
    jmp __b2
    // printf_sint::@1
  __b1:
    // [167] printf_sint::value#0 = - printf_sint::value#3 -- vwsz1=_neg_vwsz1 
    lda #0
    sec
    sbc.z value
    sta.z value
    lda #0
    sbc.z value+1
    sta.z value+1
    // [168] *((char *)&printf_buffer) = '-'at -- _deref_pbuc1=vbuc2 
    lda #'-'
    sta printf_buffer
    jmp __b2_from___b1
    // printf_sint::@2
  __b2:
    // [170] utoa::value#1 = (unsigned int)printf_sint::value#5
    // [171] call utoa
    // [215] phi from printf_sint::@2 to utoa [phi:printf_sint::@2->utoa]
  utoa_from___b2:
    jsr utoa
    jmp __b3
    // printf_sint::@3
  __b3:
    // [172] printf_number_buffer::buffer_sign#0 = *((char *)&printf_buffer) -- vbuaa=_deref_pbuc1 
    lda printf_buffer
    // [173] call printf_number_buffer
  // Print using format
    // [236] phi from printf_sint::@3 to printf_number_buffer [phi:printf_sint::@3->printf_number_buffer]
  printf_number_buffer_from___b3:
    jsr printf_number_buffer
    jmp __breturn
    // printf_sint::@return
  __breturn:
    // [174] return 
    rts
}
  // scroll
// If onoff is 1, scrolling is enabled when outputting past the end of the screen
// If onoff is 0, scrolling is disabled and the cursor instead moves to (0,0)
// The function returns the old scroll setting.
// char scroll(char onoff)
scroll: {
    .const onoff = 0
    // [175] conio_scroll_enable = scroll::onoff#0 -- vbuz1=vbuc1 
    lda #onoff
    sta.z conio_scroll_enable
    jmp __breturn
    // scroll::@return
  __breturn:
    // [176] return 
    rts
}
  // cursorLocation
// Return a pointer to the location of the cursor
cursorLocation: {
    .label __0 = $91
    .label __1 = $91
    .label __3 = $91
    .label return = $91
    .label __4 = $93
    .label __5 = $91
    // [177] cursorLocation::$3 = (unsigned int)*ROWCRS -- vwuz1=_word__deref_pbuc1 
    lda ROWCRS
    sta.z __3
    lda #0
    sta.z __3+1
    // [178] cursorLocation::$4 = cursorLocation::$3 << 2 -- vwuz1=vwuz2_rol_2 
    lda.z __3
    asl
    sta.z __4
    lda.z __3+1
    rol
    sta.z __4+1
    asl.z __4
    rol.z __4+1
    // [179] cursorLocation::$5 = cursorLocation::$4 + cursorLocation::$3 -- vwuz1=vwuz2_plus_vwuz1 
    clc
    lda.z __5
    adc.z __4
    sta.z __5
    lda.z __5+1
    adc.z __4+1
    sta.z __5+1
    // [180] cursorLocation::$0 = cursorLocation::$5 << 3 -- vwuz1=vwuz1_rol_3 
    asl.z __0
    rol.z __0+1
    asl.z __0
    rol.z __0+1
    asl.z __0
    rol.z __0+1
    // [181] cursorLocation::$1 = *SAVMSC + cursorLocation::$0 -- pbuz1=_deref_qbuc1_plus_vwuz1 
    clc
    lda.z __1
    adc SAVMSC
    sta.z __1
    lda.z __1+1
    adc SAVMSC+1
    sta.z __1+1
    // [182] cursorLocation::return#1 = cursorLocation::$1 + *COLCRS -- pbuz1=pbuz1_plus__deref_pwuc1 
    clc
    lda.z return
    adc COLCRS
    sta.z return
    lda.z return+1
    adc COLCRS+1
    sta.z return+1
    jmp __breturn
    // cursorLocation::@return
  __breturn:
    // [183] return 
    rts
}
  // memcpy
// Copy block of memory (forwards)
// Copies the values of num bytes from the location pointed to by source directly to the memory block pointed to by destination.
// void * memcpy(__zp($91) void *destination, __zp($86) char *source, unsigned int num)
memcpy: {
    .const num = $28*$17
    .label src_end = $93
    .label dst = $91
    .label src = $86
    .label destination = $91
    .label source = $86
    // [184] memcpy::src_end#0 = (char *)(void *)memcpy::source#0 + memcpy::num#0 -- pbuz1=pbuz2_plus_vwuc1 
    lda.z source
    clc
    adc #<num
    sta.z src_end
    lda.z source+1
    adc #>num
    sta.z src_end+1
    // [185] memcpy::src#4 = (char *)(void *)memcpy::source#0
    // [186] memcpy::dst#4 = (char *)memcpy::destination#0
    // [187] phi from memcpy memcpy::@2 to memcpy::@1 [phi:memcpy/memcpy::@2->memcpy::@1]
  __b1_from_memcpy:
  __b1_from___b2:
    // [187] phi memcpy::dst#2 = memcpy::dst#4 [phi:memcpy/memcpy::@2->memcpy::@1#0] -- register_copy 
    // [187] phi memcpy::src#2 = memcpy::src#4 [phi:memcpy/memcpy::@2->memcpy::@1#1] -- register_copy 
    jmp __b1
    // memcpy::@1
  __b1:
    // [188] 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:
    // [189] return 
    rts
    // memcpy::@2
  __b2:
    // [190] *memcpy::dst#2 = *memcpy::src#2 -- _deref_pbuz1=_deref_pbuz2 
    ldy #0
    lda (src),y
    ldy #0
    sta (dst),y
    // [191] memcpy::dst#1 = ++ memcpy::dst#2 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    // [192] 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($88) char *str, char c, __zp($86) unsigned int num)
memset: {
    .label end = $86
    .label dst = $88
    .label str = $88
    .label num = $86
    // [194] if(memset::num#2<=0) goto memset::@return -- vwuz1_le_0_then_la1 
    lda.z num
    bne !+
    lda.z num+1
    beq __breturn
  !:
    jmp __b1
    // memset::@1
  __b1:
    // [195] memset::end#0 = (char *)memset::str#3 + memset::num#2 -- pbuz1=pbuz2_plus_vwuz1 
    clc
    lda.z end
    adc.z str
    sta.z end
    lda.z end+1
    adc.z str+1
    sta.z end+1
    // [196] memset::dst#4 = (char *)memset::str#3
    // [197] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2]
  __b2_from___b1:
  __b2_from___b3:
    // [197] phi memset::dst#2 = memset::dst#4 [phi:memset::@1/memset::@3->memset::@2#0] -- register_copy 
    jmp __b2
    // memset::@2
  __b2:
    // [198] 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:
    // [199] return 
    rts
    // memset::@3
  __b3:
    // [200] *memset::dst#2 = 0 -- _deref_pbuz1=vbuc1 
    lda #0
    ldy #0
    sta (dst),y
    // [201] memset::dst#1 = ++ memset::dst#2 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    jmp __b2_from___b3
}
  // cputs
// Output a NUL-terminated string at the current cursor position
// void cputs(__zp($8b) const char *s)
cputs: {
    .label s = $8b
    // [203] phi from cputs to cputs::@1 [phi:cputs->cputs::@1]
  __b1_from_cputs:
    // [203] phi cputs::s#2 = main::s [phi:cputs->cputs::@1#0] -- pbuz1=pbuc1 
    lda #<main.s
    sta.z s
    lda #>main.s
    sta.z s+1
    jmp __b1
    // cputs::@1
  __b1:
    // [204] cputs::c#1 = *cputs::s#2 -- vbuaa=_deref_pbuz1 
    ldy #0
    lda (s),y
    // [205] cputs::s#0 = ++ cputs::s#2 -- pbuz1=_inc_pbuz1 
    inc.z s
    bne !+
    inc.z s+1
  !:
    // [206] if(0!=cputs::c#1) goto cputs::@2 -- 0_neq_vbuaa_then_la1 
    cmp #0
    bne __b2
    jmp __breturn
    // cputs::@return
  __breturn:
    // [207] return 
    rts
    // cputs::@2
  __b2:
    // [208] stackpush(char) = cputs::c#1 -- _stackpushbyte_=vbuaa 
    pha
    // [209] callexecute cputc  -- call_vprc1 
    jsr cputc
    // sideeffect stackpullbytes(1) -- _stackpullbyte_1 
    pla
    // [203] phi from cputs::@2 to cputs::@1 [phi:cputs::@2->cputs::@1]
  __b1_from___b2:
    // [203] phi cputs::s#2 = cputs::s#0 [phi:cputs::@2->cputs::@1#0] -- register_copy 
    jmp __b1
}
  // kbhit
// Return 1 if there's a key waiting, return 0 if not
kbhit: {
    // [211] if(*CH==$ff) goto kbhit::@1 -- _deref_pbuc1_eq_vbuc2_then_la1 
    lda #$ff
    cmp CH
    beq __b1_from_kbhit
    // [213] phi from kbhit to kbhit::@return [phi:kbhit->kbhit::@return]
  __breturn_from_kbhit:
    // [213] phi kbhit::return#2 = 1 [phi:kbhit->kbhit::@return#0] -- vbuaa=vbuc1 
    lda #1
    jmp __breturn
    // [212] phi from kbhit to kbhit::@1 [phi:kbhit->kbhit::@1]
  __b1_from_kbhit:
    jmp __b1
    // kbhit::@1
  __b1:
    // [213] phi from kbhit::@1 to kbhit::@return [phi:kbhit::@1->kbhit::@return]
  __breturn_from___b1:
    // [213] phi kbhit::return#2 = 0 [phi:kbhit::@1->kbhit::@return#0] -- vbuaa=vbuc1 
    lda #0
    jmp __breturn
    // kbhit::@return
  __breturn:
    // [214] 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($84) unsigned int value, __zp($8b) char *buffer, char radix)
utoa: {
    .label digit_value = $95
    .label buffer = $8b
    .label digit = $8a
    .label value = $84
    // [216] phi from utoa to utoa::@1 [phi:utoa->utoa::@1]
  __b1_from_utoa:
    // [216] phi utoa::buffer#11 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:utoa->utoa::@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
    // [216] phi utoa::started#2 = 0 [phi:utoa->utoa::@1#1] -- vbuxx=vbuc1 
    ldx #0
    // [216] phi utoa::value#2 = utoa::value#1 [phi:utoa->utoa::@1#2] -- register_copy 
    // [216] phi utoa::digit#2 = 0 [phi:utoa->utoa::@1#3] -- vbuz1=vbuc1 
    lda #0
    sta.z digit
    jmp __b1
    // utoa::@1
  __b1:
    // [217] if(utoa::digit#2<5-1) goto utoa::@2 -- vbuz1_lt_vbuc1_then_la1 
    lda.z digit
    cmp #5-1
    bcc __b2
    jmp __b3
    // utoa::@3
  __b3:
    // [218] utoa::$11 = (char)utoa::value#2 -- vbuxx=_byte_vwuz1 
    ldx.z value
    // [219] *utoa::buffer#11 = DIGITS[utoa::$11] -- _deref_pbuz1=pbuc1_derefidx_vbuxx 
    lda DIGITS,x
    ldy #0
    sta (buffer),y
    // [220] utoa::buffer#3 = ++ utoa::buffer#11 -- pbuz1=_inc_pbuz1 
    inc.z buffer
    bne !+
    inc.z buffer+1
  !:
    // [221] *utoa::buffer#3 = 0 -- _deref_pbuz1=vbuc1 
    lda #0
    ldy #0
    sta (buffer),y
    jmp __breturn
    // utoa::@return
  __breturn:
    // [222] return 
    rts
    // utoa::@2
  __b2:
    // [223] utoa::$10 = utoa::digit#2 << 1 -- vbuaa=vbuz1_rol_1 
    lda.z digit
    asl
    // [224] utoa::digit_value#0 = RADIX_DECIMAL_VALUES[utoa::$10] -- vwuz1=pwuc1_derefidx_vbuaa 
    tay
    lda RADIX_DECIMAL_VALUES,y
    sta.z digit_value
    lda RADIX_DECIMAL_VALUES+1,y
    sta.z digit_value+1
    // [225] if(0!=utoa::started#2) goto utoa::@5 -- 0_neq_vbuxx_then_la1 
    cpx #0
    bne __b5
    jmp __b7
    // utoa::@7
  __b7:
    // [226] if(utoa::value#2>=utoa::digit_value#0) goto utoa::@5 -- vwuz1_ge_vwuz2_then_la1 
    lda.z digit_value+1
    cmp.z value+1
    bne !+
    lda.z digit_value
    cmp.z value
    beq __b5
  !:
    bcc __b5
    // [227] phi from utoa::@7 to utoa::@4 [phi:utoa::@7->utoa::@4]
  __b4_from___b7:
    // [227] phi utoa::buffer#14 = utoa::buffer#11 [phi:utoa::@7->utoa::@4#0] -- register_copy 
    // [227] phi utoa::started#4 = utoa::started#2 [phi:utoa::@7->utoa::@4#1] -- register_copy 
    // [227] phi utoa::value#6 = utoa::value#2 [phi:utoa::@7->utoa::@4#2] -- register_copy 
    jmp __b4
    // utoa::@4
  __b4:
    // [228] utoa::digit#1 = ++ utoa::digit#2 -- vbuz1=_inc_vbuz1 
    inc.z digit
    // [216] phi from utoa::@4 to utoa::@1 [phi:utoa::@4->utoa::@1]
  __b1_from___b4:
    // [216] phi utoa::buffer#11 = utoa::buffer#14 [phi:utoa::@4->utoa::@1#0] -- register_copy 
    // [216] phi utoa::started#2 = utoa::started#4 [phi:utoa::@4->utoa::@1#1] -- register_copy 
    // [216] phi utoa::value#2 = utoa::value#6 [phi:utoa::@4->utoa::@1#2] -- register_copy 
    // [216] phi utoa::digit#2 = utoa::digit#1 [phi:utoa::@4->utoa::@1#3] -- register_copy 
    jmp __b1
    // utoa::@5
  __b5:
    // [229] utoa_append::buffer#0 = utoa::buffer#11
    // [230] utoa_append::value#0 = utoa::value#2
    // [231] utoa_append::sub#0 = utoa::digit_value#0
    // [232] call utoa_append
    // [244] phi from utoa::@5 to utoa_append [phi:utoa::@5->utoa_append]
  utoa_append_from___b5:
    jsr utoa_append
    // [233] utoa_append::return#0 = utoa_append::value#2
    jmp __b6
    // utoa::@6
  __b6:
    // [234] utoa::value#0 = utoa_append::return#0
    // [235] utoa::buffer#4 = ++ utoa::buffer#11 -- pbuz1=_inc_pbuz1 
    inc.z buffer
    bne !+
    inc.z buffer+1
  !:
    // [227] phi from utoa::@6 to utoa::@4 [phi:utoa::@6->utoa::@4]
  __b4_from___b6:
    // [227] phi utoa::buffer#14 = utoa::buffer#4 [phi:utoa::@6->utoa::@4#0] -- register_copy 
    // [227] phi utoa::started#4 = 1 [phi:utoa::@6->utoa::@4#1] -- vbuxx=vbuc1 
    ldx #1
    // [227] phi utoa::value#6 = utoa::value#0 [phi:utoa::@6->utoa::@4#2] -- register_copy 
    jmp __b4
}
  // 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(void (*putc)(char), __register(A) 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: {
    .label buffer_digits = printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
    .label putc = cputc
    jmp __b1
    // printf_number_buffer::@1
  __b1:
    // [237] if(0==printf_number_buffer::buffer_sign#0) goto printf_number_buffer::@2 -- 0_eq_vbuaa_then_la1 
    cmp #0
    beq __b2_from___b1
    jmp __b3
    // printf_number_buffer::@3
  __b3:
    // [238] stackpush(char) = printf_number_buffer::buffer_sign#0 -- _stackpushbyte_=vbuaa 
    pha
    // [239] callexecute cputc  -- call_vprc1 
    jsr cputc
    // sideeffect stackpullbytes(1) -- _stackpullbyte_1 
    pla
    // [241] phi from printf_number_buffer::@1 printf_number_buffer::@3 to printf_number_buffer::@2 [phi:printf_number_buffer::@1/printf_number_buffer::@3->printf_number_buffer::@2]
  __b2_from___b1:
  __b2_from___b3:
    jmp __b2
    // printf_number_buffer::@2
  __b2:
    // [242] call printf_str
    // [138] phi from printf_number_buffer::@2 to printf_str [phi:printf_number_buffer::@2->printf_str]
  printf_str_from___b2:
    // [138] phi printf_str::putc#10 = printf_number_buffer::putc#0 [phi:printf_number_buffer::@2->printf_str#0] -- pprz1=pprc1 
    lda #<putc
    sta.z printf_str.putc
    lda #>putc
    sta.z printf_str.putc+1
    // [138] phi printf_str::s#10 = printf_number_buffer::buffer_digits#0 [phi:printf_number_buffer::@2->printf_str#1] -- pbuz1=pbuc1 
    lda #<buffer_digits
    sta.z printf_str.s
    lda #>buffer_digits
    sta.z printf_str.s+1
    jsr printf_str
    jmp __breturn
    // printf_number_buffer::@return
  __breturn:
    // [243] return 
    rts
}
  // utoa_append
// Used to convert a single digit of an unsigned number value to a string representation
// Counts a single digit up from '0' as long as the value is larger than sub.
// Each time the digit is increased sub is subtracted from value.
// - buffer : pointer to the char that receives the digit
// - value : The value where the digit will be derived from
// - sub : the value of a '1' in the digit. Subtracted continually while the digit is increased.
//        (For decimal the subs used are 10000, 1000, 100, 10, 1)
// returns : the value reduced by sub * digit so that it is less than sub.
// __zp($84) unsigned int utoa_append(__zp($8b) char *buffer, __zp($84) unsigned int value, __zp($95) unsigned int sub)
utoa_append: {
    .label buffer = $8b
    .label value = $84
    .label sub = $95
    .label return = $84
    // [245] phi from utoa_append to utoa_append::@1 [phi:utoa_append->utoa_append::@1]
  __b1_from_utoa_append:
    // [245] phi utoa_append::digit#2 = 0 [phi:utoa_append->utoa_append::@1#0] -- vbuxx=vbuc1 
    ldx #0
    // [245] phi utoa_append::value#2 = utoa_append::value#0 [phi:utoa_append->utoa_append::@1#1] -- register_copy 
    jmp __b1
    // utoa_append::@1
  __b1:
    // [246] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2 -- vwuz1_ge_vwuz2_then_la1 
    lda.z sub+1
    cmp.z value+1
    bne !+
    lda.z sub
    cmp.z value
    beq __b2
  !:
    bcc __b2
    jmp __b3
    // utoa_append::@3
  __b3:
    // [247] *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:
    // [248] return 
    rts
    // utoa_append::@2
  __b2:
    // [249] utoa_append::digit#1 = ++ utoa_append::digit#2 -- vbuxx=_inc_vbuxx 
    inx
    // [250] 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
    // [245] phi from utoa_append::@2 to utoa_append::@1 [phi:utoa_append::@2->utoa_append::@1]
  __b1_from___b2:
    // [245] phi utoa_append::digit#2 = utoa_append::digit#1 [phi:utoa_append::@2->utoa_append::@1#0] -- register_copy 
    // [245] phi utoa_append::value#2 = utoa_append::value#1 [phi:utoa_append::@2->utoa_append::@1#1] -- register_copy 
    jmp __b1
}
  // File Data
.segment Data
  // The digits used for numbers
  DIGITS: .text "0123456789abcdef"
  // Values of decimal digits
  RADIX_DECIMAL_VALUES: .word $2710, $3e8, $64, $a
  // create a static table to map char value to screen value
  // use KickAsm functions to create a table of code -> screen code values, using cc65 algorithm
rawmap:
.var ht = Hashtable().put(0,64, 1,0, 2,32, 3,96) // the table for converting bit 6,7 into ora value
	.for(var i=0; i<256; i++) {
		.var idx = (i & $60) / 32
		.var mask = i & $9f
		.byte mask | ht.get(idx)
	}

  // 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 __b3
Removing instruction jmp __b8
Removing instruction jmp convertToScreenCode1
Removing instruction jmp __b6
Removing instruction jmp __b7
Removing instruction jmp __b4
Removing instruction jmp __breturn
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 __b1
Removing instruction jmp __b17
Removing instruction jmp __b18
Removing instruction jmp __b19
Removing instruction jmp __b2
Removing instruction jmp __b20
Removing instruction jmp __b3
Removing instruction jmp __b21
Removing instruction jmp __b22
Removing instruction jmp __b23
Removing instruction jmp __b4
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b4
Removing instruction jmp __b3
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __b2
Removing instruction jmp __b3
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b6
Removing instruction jmp __b5
Removing instruction jmp __b7
Removing instruction jmp __b8
Removing instruction jmp __breturn
Removing instruction jmp __breturn
Removing instruction jmp __breturn
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __breturn
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp clrkb1
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b3
Removing instruction jmp __breturn
Removing instruction jmp __breturn
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b1
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 __b2
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b3
Removing instruction jmp __breturn
Succesful ASM optimization Pass5NextJumpElimination
Removing instruction lda #1
Removing instruction lda #>0
Removing instruction lda #>0
Removing instruction lda #>0
Removing instruction lda #>0
Replacing instruction lda #0 with TXA
Replacing instruction lda #0 with TXA
Removing instruction ldy #0
Replacing instruction ldy #0 with TAY
Replacing instruction lda #0 with TXA
Replacing instruction ldy #0 with TAY
Succesful ASM optimization Pass5UnnecesaryLoadElimination
Replacing label __b1_from___b19 with __b1
Replacing label __b1_from___b19 with __b1
Replacing label __b3_from___b23 with __b3
Replacing label __b3_from___b23 with __b3
Replacing label __b2_from___b1 with __b2
Replacing label __b1_from_newline with __b1
Replacing label __b1_from___b8 with __b1
Replacing label __b1_from___b2 with __b1
Replacing label __b1_from___b2 with __b1
Replacing label __b1_from___b2 with __b1
Replacing label __b2_from___b3 with __b2
Replacing label __b1_from_kbhit with __b1
Replacing label __b2_from___b1 with __b2
Removing instruction __b1_from___init1:
Removing instruction main_from___b1:
Removing instruction __b6_from_convertToScreenCode1:
Removing instruction __b4_from___b7:
Removing instruction __b5_from_main:
Removing instruction __b6_from___b5:
Removing instruction __b7_from___b6:
Removing instruction __b8_from___b7:
Removing instruction __b9_from___b8:
Removing instruction __b10_from___b9:
Removing instruction __b11_from___b10:
Removing instruction printf_str_from___b11:
Removing instruction __b12_from___b11:
Removing instruction printf_string_from___b12:
Removing instruction __b13_from___b12:
Removing instruction printf_str_from___b13:
Removing instruction __b14_from___b13:
Removing instruction __b15_from___b14:
Removing instruction __b16_from___b15:
Removing instruction __b1_from___b19:
Removing instruction printf_str_from___b1:
Removing instruction __b18_from___b17:
Removing instruction printf_str_from___b18:
Removing instruction __b2_from___b19:
Removing instruction waitkey_from___b2:
Removing instruction __b20_from___b2:
Removing instruction __b3_from___b23:
Removing instruction printf_str_from___b3:
Removing instruction __b22_from___b21:
Removing instruction printf_str_from___b22:
Removing instruction __b4_from___b23:
Removing instruction waitkey_from___b4:
Removing instruction __b2_from___b1:
Removing instruction __b2_from___b3:
Removing instruction __b3_from___b2:
Removing instruction gotoxy_from___b3:
Removing instruction __b1_from_newline:
Removing instruction __b1_from___b3:
Removing instruction __b1_from___b8:
Removing instruction __b1_from_cputsxy:
Removing instruction cputs_from___b1:
Removing instruction __b1_from_printf_str:
Removing instruction __b1_from___b2:
Removing instruction __b1_from_printf_string:
Removing instruction printf_str_from___b1:
Removing instruction __b1_from_waitkey:
Removing instruction __b1_from___b2:
Removing instruction __b2_from_printf_sint:
Removing instruction utoa_from___b2:
Removing instruction __b1_from_memcpy:
Removing instruction __b1_from___b2:
Removing instruction __b2_from___b1:
Removing instruction __b2_from___b3:
Removing instruction __b1_from_kbhit:
Removing instruction __breturn_from___b1:
Removing instruction __b4_from___b7:
Removing instruction utoa_append_from___b5:
Removing instruction __b2_from___b1:
Removing instruction __b2_from___b3:
Removing instruction printf_str_from___b2:
Succesful ASM optimization Pass5RedundantLabelElimination
Removing instruction __init1:
Removing instruction __b1:
Removing instruction __breturn:
Removing instruction __b3:
Removing instruction __b8:
Removing instruction convertToScreenCode1:
Removing instruction __b6:
Removing instruction __b7:
Removing instruction __b4:
Removing instruction __b5:
Removing instruction __b6:
Removing instruction __b7:
Removing instruction __b8:
Removing instruction cputsxy_from___b8:
Removing instruction __b9:
Removing instruction gotoxy_from___b9:
Removing instruction __b10:
Removing instruction revers_from___b10:
Removing instruction __b11:
Removing instruction __b12:
Removing instruction __b13:
Removing instruction __b14:
Removing instruction waitkey_from___b14:
Removing instruction __b15:
Removing instruction __b16:
Removing instruction revers_from___b16:
Removing instruction __b1_from___b16:
Removing instruction __b17:
Removing instruction printf_sint_from___b17:
Removing instruction __b18:
Removing instruction __b19:
Removing instruction __b2:
Removing instruction __b20:
Removing instruction __b3_from___b20:
Removing instruction __b21:
Removing instruction printf_sint_from___b21:
Removing instruction __b22:
Removing instruction __b23:
Removing instruction __b4:
Removing instruction __breturn:
Removing instruction __b1:
Removing instruction __breturn:
Removing instruction __b4:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b2:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b6:
Removing instruction __b7:
Removing instruction memset_from___b7:
Removing instruction __b8:
Removing instruction __breturn:
Removing instruction __breturn:
Removing instruction __breturn:
Removing instruction __breturn:
Removing instruction gotoxy_from_cputsxy:
Removing instruction __b1:
Removing instruction __breturn:
Removing instruction __breturn:
Removing instruction __b2:
Removing instruction __breturn:
Removing instruction __b1:
Removing instruction __breturn:
Removing instruction __b2:
Removing instruction clrkb1:
Removing instruction __breturn:
Removing instruction memset_from_clrscr:
Removing instruction __b1:
Removing instruction gotoxy_from___b1:
Removing instruction __breturn:
Removing instruction __b3:
Removing instruction printf_number_buffer_from___b3:
Removing instruction __breturn:
Removing instruction __breturn:
Removing instruction __breturn:
Removing instruction __breturn:
Removing instruction __b1:
Removing instruction __b1_from_cputs:
Removing instruction __breturn:
Removing instruction __b1_from___b2:
Removing instruction __breturn_from_kbhit:
Removing instruction __b1_from_utoa:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b7:
Removing instruction __b1_from___b4:
Removing instruction __b6:
Removing instruction __b4_from___b6:
Removing instruction __b1:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b1_from_utoa_append:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b1_from___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
Replacing jump to rts with rts in jmp __breturn
Skipping double jump to __b2 in jmp __b2_from___b1
Replacing jump to rts with rts in jmp __breturn
Succesful ASM optimization Pass5DoubleJumpElimination
Relabelling long label __b2_from___b1 to __b3
Succesful ASM optimization Pass5RelabelLongLabels
Removing instruction jmp __b1
Removing instruction jmp __b3
Removing instruction jmp __b2
Succesful ASM optimization Pass5NextJumpElimination
Replacing instruction lda #0 with TYA
Replacing instruction ldx #0 with TAX
Removing instruction lda.z digit_value+1
Succesful ASM optimization Pass5UnnecesaryLoadElimination
Removing instruction __breturn:
Removing instruction __breturn:
Removing instruction __b3:
Removing instruction __breturn:
Succesful ASM optimization Pass5UnusedLabelElimination

FINAL SYMBOL TABLE
__constant char * const CH = (char *) 764
__constant unsigned int *COLCRS = (unsigned int *) 85
__constant char * const COLOR1 = (char *) 709
__constant char * const COLOR2 = (char *) 710
__constant char * const COLOR4 = (char *) 712
__constant char * const CRSINH = (char *) 752
__constant const char DARK_ORANGE = $30
__constant char DIGITS[] = "0123456789abcdef"atz
__constant const char MEDIUM_BLUE = $80
__constant char OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS = 1
__constant char ** const OLDADR = (char **) 94
__constant char * const OLDCHR = (char *) 93
__constant char RADIX::BINARY = 2
__constant char RADIX::DECIMAL = $a
__constant char RADIX::HEXADECIMAL = $10
__constant char RADIX::OCTAL = 8
__constant unsigned int RADIX_DECIMAL_VALUES[] = { $2710, $3e8, $64, $a }
__constant char *ROWCRS = (char *) 84
__constant char ** const SAVMSC = (char **) 88
__constant char SIZEOF_STRUCT_PRINTF_BUFFER_NUMBER = $c
__constant unsigned int STACK_BASE = $103
__constant const char WHITE = $fe
void __start()
char bgcolor(char color)
char bgcolor::color
char bgcolor::old
char bgcolor::return
char bordercolor(char color)
char bordercolor::color
char bordercolor::old
char bordercolor::return
void clrscr()
__loadstore char conio_display_cursor // zp[1]:142 677853.0536912751
__loadstore char conio_reverse_value // zp[1]:141 10640.478723404254
__loadstore char conio_scroll_enable // zp[1]:143 8621.58620689655
__stackcall void cputc(volatile char c)
__constant char cputc::OFFSET_STACK_C = 0
__loadstore volatile char cputc::c // zp[1]:144 133334.66666666666
char cputc::convertToScreenCode1_return
char cputc::convertToScreenCode1_return#0 // reg byte x 183333.6666666667
char *cputc::convertToScreenCode1_v
__constant char *cputc::convertToScreenCode1_v#0 = &cputc::c // convertToScreenCode1_v
void cputs(const char *s)
char cputs::c
char cputs::c#1 // reg byte a 10001.0
const char *cputs::s
const char *cputs::s#0 // s zp[2]:139 4000.4
const char *cputs::s#2 // s zp[2]:139 15001.5
void cputsxy(char x , char y , const char *s)
const char *cputsxy::s
char cputsxy::x
__constant char cputsxy::x#0 = 0 // x
char cputsxy::y
__constant char cputsxy::y#0 = 1 // y
char cursor(char onoff)
char cursor::oldValue
char cursor::onoff
__constant char cursor::onoff#0 = 0 // onoff
char cursor::return
char * cursorLocation()
unsigned int cursorLocation::$0 // zp[2]:145 2.000000002E9
char *cursorLocation::$1 // zp[2]:145 2.000000002E9
unsigned int cursorLocation::$3 // zp[2]:145 1.5000000015E9
unsigned int cursorLocation::$4 // zp[2]:147 2.000000002E9
unsigned int cursorLocation::$5 // zp[2]:145 2.000000002E9
char *cursorLocation::return
char *cursorLocation::return#0 // return zp[2]:145 2000002.0
char *cursorLocation::return#1 // return zp[2]:145 2.7525000075E8
char *cursorLocation::return#3 // return zp[2]:145 2.00000002E8
void gotoxy(char x , char y)
char gotoxy::x
char gotoxy::x#4 // reg byte a 1.0000001E7
char gotoxy::y
char gotoxy::y#4 // reg byte x 5000000.5
char kbhit()
char kbhit::return
char kbhit::return#2 // reg byte a 333.6666666666667
char kbhit::return#3 // reg byte a 2002.0
void main()
int main::i
int main::i#1 // i zp[2]:128 151.5
int main::i#2 // i zp[2]:128 50.5
int main::i1
int main::i1#1 // i1 zp[2]:130 151.5
int main::i1#2 // i1 zp[2]:130 50.5
__constant char *main::name = "Mark"at
__constant char main::s[$f] = "Hello, World!
"at
__constant char main::s1[8] = "Hello, "at
__constant char main::s2[$11] = " - press a key!
"at
__constant char main::s3[$15] = "Scrolling lines ... "at
__constant char main::s4[2] = "
"at
__constant char main::s5[$19] = "Some wrapping lines ... "at
void * memcpy(void *destination , void *source , unsigned int num)
void *memcpy::destination
void *memcpy::destination#0 // destination zp[2]:145 333333.6666666667
char *memcpy::dst
char *memcpy::dst#1 // dst zp[2]:145 1.000000001E9
char *memcpy::dst#2 // dst zp[2]:145 1.0033333346666667E9
char *memcpy::dst#4 // dst zp[2]:145 2.0000002E7
unsigned int memcpy::num
__constant unsigned int memcpy::num#0 = (unsigned int)$28*$17 // num
void *memcpy::return
void *memcpy::source
char *memcpy::source#0 // source zp[2]:134 333333.6666666667
char *memcpy::src
char *memcpy::src#1 // src zp[2]:134 2.000000002E9
char *memcpy::src#2 // src zp[2]:134 1.00250000125E9
char *memcpy::src#4 // src zp[2]:134 1.0000001E7
char *memcpy::src_end
char *memcpy::src_end#0 // src_end zp[2]:147 1.2625000025E8
void * memset(void *str , char c , unsigned int num)
char memset::c
char *memset::dst
char *memset::dst#1 // dst zp[2]:136 2.000000002E9
char *memset::dst#2 // dst zp[2]:136 1.3366666683333335E9
char *memset::dst#4 // dst zp[2]:136 2.0000002E7
char *memset::end
char *memset::end#0 // end zp[2]:134 1.683333336666667E8
unsigned int memset::num
unsigned int memset::num#2 // num zp[2]:134 1.0000001E7
void *memset::return
void *memset::str
char *memset::str#1 // str zp[2]:136 1000001.0
void *memset::str#3 // str zp[2]:136 333367.3333333334
void *memset::str#7 // str zp[2]:136 202.0
void *memset::str#8 // str zp[2]:136 2000002.0
void newline()
char *newline::start
char *newline::start#0 // start zp[2]:136 750000.75
__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)
struct printf_buffer_number printf_number_buffer::buffer
char *printf_number_buffer::buffer_digits
__constant char *printf_number_buffer::buffer_digits#0 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS // buffer_digits
char printf_number_buffer::buffer_sign
char printf_number_buffer::buffer_sign#0 // reg byte a 7001.0
struct printf_format_number printf_number_buffer::format
char printf_number_buffer::format_justify_left
char printf_number_buffer::format_min_length
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_zero_padding
signed char printf_number_buffer::len
signed char printf_number_buffer::padding
void (*printf_number_buffer::putc)(char)
__constant void (*printf_number_buffer::putc#0)(char) = &cputc // putc
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
int printf_sint::value#0 // value zp[2]:132 1001.0
int printf_sint::value#1 // value zp[2]:132 202.0
int printf_sint::value#2 // value zp[2]:132 202.0
int printf_sint::value#3 // value zp[2]:132 1068.3333333333335
int printf_sint::value#5 // value zp[2]:132 2002.0
void printf_str(void (*putc)(char) , const char *s)
char printf_str::c
char printf_str::c#1 // reg byte a 1.0000001E7
void (*printf_str::putc)(char)
void (*printf_str::putc#10)(char) // putc zp[2]:132
const char *printf_str::s
const char *printf_str::s#0 // s zp[2]:139 1.0000001E7
const char *printf_str::s#10 // s zp[2]:139 100001.0
const char *printf_str::s#9 // s zp[2]:139 1.5050002E7
void printf_string(void (*putc)(char) , char *str , char format_min_length , char format_justify_left)
struct printf_format_string printf_string::format
char printf_string::format_justify_left
char printf_string::format_min_length
signed char printf_string::len
signed char printf_string::padding
void (*printf_string::putc)(char)
__constant void (*printf_string::putc#0)(char) = &cputc // putc
char *printf_string::str
void putchar(char code)
char putchar::code
char *putchar::loc
char *putchar::loc#0 // loc zp[2]:145 1000001.0
char putchar::newChar
char putchar::newChar#0 // reg byte a 1500001.5
__constant char rawmap[$100] = kickasm {{ .var ht = Hashtable().put(0,64, 1,0, 2,32, 3,96) // the table for converting bit 6,7 into ora value
	.for(var i=0; i<256; i++) {
		.var idx = (i & $60) / 32
		.var mask = i & $9f
		.byte mask | ht.get(idx)
	}
 }}
char revers(char onoff)
char revers::old
char revers::onoff
char revers::onoff#2 // reg byte a 101.0
char revers::return
char scroll(char onoff)
char scroll::old
char scroll::onoff
__constant char scroll::onoff#0 = 0 // onoff
char scroll::return
void setcursor()
char setcursor::c
char setcursor::c#0 // reg byte x 6.6666667333333336E7
char setcursor::c#1 // reg byte x 2.00000002E8
char setcursor::c#3 // reg byte x 3.00000003E8
char *setcursor::loc
char *setcursor::loc#0 // loc zp[2]:145 1.00000001E8
char textcolor(char color)
char textcolor::color
char textcolor::old
char textcolor::return
void utoa(unsigned int value , char *buffer , char radix)
char utoa::$10 // reg byte a 2000002.0
char utoa::$11 // reg byte x 20002.0
char *utoa::buffer
char *utoa::buffer#11 // buffer zp[2]:139 287143.2857142857
char *utoa::buffer#14 // buffer zp[2]:139 1500001.5
char *utoa::buffer#3 // buffer zp[2]:139 20002.0
char *utoa::buffer#4 // buffer zp[2]:139 2000002.0
char utoa::digit
char utoa::digit#1 // digit zp[1]:138 2000002.0
char utoa::digit#2 // digit zp[1]:138 285714.5714285714
unsigned int utoa::digit_value
unsigned int utoa::digit_value#0 // digit_value zp[2]:149 600000.6000000001
unsigned int *utoa::digit_values
char utoa::max_digits
char utoa::radix
char utoa::started
char utoa::started#2 // reg byte x 500000.5
char utoa::started#4 // reg byte x 1000001.0
unsigned int utoa::value
unsigned int utoa::value#0 // value zp[2]:132 1000001.0
unsigned int utoa::value#1 // value zp[2]:132 5501.0
unsigned int utoa::value#2 // value zp[2]:132 572857.857142857
unsigned int utoa::value#6 // value zp[2]:132 1500001.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]:139 1375000.25
char utoa_append::digit
char utoa_append::digit#1 // reg byte x 1.0000000001E10
char utoa_append::digit#2 // reg byte x 1.00050000015E10
unsigned int utoa_append::return
unsigned int utoa_append::return#0 // return zp[2]:132 2000002.0
unsigned int utoa_append::sub
unsigned int utoa_append::sub#0 // sub zp[2]:149 3.3335000005E9
unsigned int utoa_append::value
unsigned int utoa_append::value#0 // value zp[2]:132 3666667.333333333
unsigned int utoa_append::value#1 // value zp[2]:132 2.0000000002E10
unsigned int utoa_append::value#2 // value zp[2]:132 5.001833334166666E9
void waitkey()
char waitkey::$1 // reg byte a 2002.0

zp[2]:128 [ main::i#2 main::i#1 ]
zp[2]:130 [ main::i1#2 main::i1#1 ]
reg byte x [ setcursor::c#3 setcursor::c#0 setcursor::c#1 ]
reg byte a [ gotoxy::x#4 ]
reg byte x [ gotoxy::y#4 ]
reg byte a [ revers::onoff#2 ]
zp[2]:132 [ printf_sint::value#5 printf_sint::value#0 printf_sint::value#3 printf_sint::value#1 printf_sint::value#2 utoa::value#2 utoa::value#6 utoa::value#1 utoa::value#0 utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 utoa_append::return#0 printf_str::putc#10 ]
zp[2]:134 [ memset::num#2 memset::end#0 memcpy::src#2 memcpy::src#4 memcpy::src#1 memcpy::source#0 ]
zp[2]:136 [ memset::str#3 memset::str#7 memset::str#8 memset::dst#2 memset::dst#4 memset::dst#1 memset::str#1 newline::start#0 ]
reg byte a [ kbhit::return#2 ]
zp[1]:138 [ utoa::digit#2 utoa::digit#1 ]
reg byte x [ utoa::started#2 utoa::started#4 ]
zp[2]:139 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 utoa::buffer#3 utoa_append::buffer#0 cputs::s#2 cputs::s#0 printf_str::s#9 printf_str::s#10 printf_str::s#0 ]
reg byte x [ utoa_append::digit#2 utoa_append::digit#1 ]
zp[1]:141 [ conio_reverse_value ]
zp[1]:142 [ conio_display_cursor ]
zp[1]:143 [ conio_scroll_enable ]
zp[1]:144 [ cputc::c ]
reg byte x [ cputc::convertToScreenCode1_return#0 ]
zp[2]:145 [ cursorLocation::return#0 putchar::loc#0 cursorLocation::return#1 cursorLocation::return#3 setcursor::loc#0 cursorLocation::$0 cursorLocation::$1 cursorLocation::$3 cursorLocation::$5 memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 memcpy::destination#0 ]
reg byte a [ putchar::newChar#0 ]
reg byte a [ printf_str::c#1 ]
reg byte a [ kbhit::return#3 ]
reg byte a [ waitkey::$1 ]
reg byte a [ printf_number_buffer::buffer_sign#0 ]
zp[2]:147 [ memcpy::src_end#0 cursorLocation::$4 ]
reg byte a [ cputs::c#1 ]
reg byte x [ utoa::$11 ]
reg byte a [ utoa::$10 ]
zp[2]:149 [ utoa::digit_value#0 utoa_append::sub#0 ]
mem[12] [ printf_buffer ]


FINAL ASSEMBLER
Score: 73008

  // File Comments
// Example usages of conio for Atari XL target.
  // Upstart
  // Atari XL/XE executable XEX file with a single segment
// https://www.atarimax.com/jindroush.atari.org/afmtexe.html
.plugin "dk.camelot64.kickass.xexplugin.AtariXex"
.file [name="atarixl-conio.xex", type="bin", segments="XexFile"]
.segmentdef XexFile [segments="Program", modify="XexFormat", _RunAddr=__start]
.segmentdef Program [segments="Code, Data"]
.segmentdef Code [start=$2000]
.segmentdef Data [startAfter="Code"]
  // Global Constants & labels
  .const DARK_ORANGE = $30
  .const MEDIUM_BLUE = $80
  .const WHITE = $fe
  .const OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS = 1
  .const STACK_BASE = $103
  .const SIZEOF_STRUCT_PRINTF_BUFFER_NUMBER = $c
  /// 2-byte saved memory scan counter
  .label SAVMSC = $58
  /// data under cursor
  .label OLDCHR = $5d
  /// 2-byte saved cursor memory address
  .label OLDADR = $5e
  /// Shadow for 53271 ($D017). Text color in Gr.0
  .label COLOR1 = $2c5
  /// Shadow for 53272 ($D018). Background color in GR.0
  .label COLOR2 = $2c6
  /// Shadow for 53274 ($D01A). Border color in GR.0
  .label COLOR4 = $2c8
  /// Cursor inhibit flag, 0 turns on, any other number turns off. Cursor doesn't change until it moves next.
  .label CRSINH = $2f0
  /// Internal hardware value for the last key pressed. Set to 0xFF to clear.
  .label CH = $2fc
  /// Atari ZP registers
  /// 1-byte cursor row
  .label ROWCRS = $54
  /// 2-byte cursor column
  .label COLCRS = $55
  // The screen width
  // The screen height
  // The current reverse value indicator. Values 0 or 0x80 for reverse text
  .label conio_reverse_value = $8d
  // The current cursor enable flag. 1 = on, 0 = off.
  .label conio_display_cursor = $8e
  // The current scroll enable flag. 1 = on, 0 = off.
  .label conio_scroll_enable = $8f
.segment Code
  // __start
__start: {
    // __start::__init1
    // __ma char conio_reverse_value = 0
    // [1] conio_reverse_value = 0 -- vbuz1=vbuc1 
    lda #0
    sta.z conio_reverse_value
    // __ma char conio_display_cursor = 1
    // [2] conio_display_cursor = 1 -- vbuz1=vbuc1 
    lda #1
    sta.z conio_display_cursor
    // __ma char conio_scroll_enable = 1
    // [3] conio_scroll_enable = 1 -- vbuz1=vbuc1 
    sta.z conio_scroll_enable
    // [4] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
    // __start::@1
    // [5] call main
    // [25] phi from __start::@1 to main [phi:__start::@1->main]
    jsr main
    // __start::@return
    // [6] return 
    rts
}
  // cputc
// Output one character at the current cursor position
// Moves the cursor forward. Scrolls the entire screen if needed
// void cputc(__zp($90) volatile char c)
cputc: {
    .const OFFSET_STACK_C = 0
    .label convertToScreenCode1_v = c
    .label c = $90
    // [7] cputc::c = stackidx(char,cputc::OFFSET_STACK_C) -- vbuz1=_stackidxbyte_vbuc1 
    tsx
    lda STACK_BASE+OFFSET_STACK_C,x
    sta.z c
    // if (c == '\r')
    // [8] if(cputc::c==' 'at) goto cputc::@1 -- vbuz1_eq_vbuc1_then_la1 
  .encoding "ascii"
    lda #'\r'
    cmp.z c
    beq __b1
    // cputc::@3
    // if(c == '\n' || c == 0x9b)
    // [9] if(cputc::c==' 'at) goto cputc::@2 -- vbuz1_eq_vbuc1_then_la1 
    lda #'\$9b'
    cmp.z c
    beq __b2
    // cputc::@8
    // [10] if(cputc::c==$9b) goto cputc::@2 -- vbuz1_eq_vbuc1_then_la1 
    lda #$9b
    cmp.z c
    beq __b2
    // cputc::convertToScreenCode1
    // return rawmap[*v];
    // [11] cputc::convertToScreenCode1_return#0 = rawmap[*cputc::convertToScreenCode1_v#0] -- vbuxx=pbuc1_derefidx_(_deref_pbuc2) 
    ldy.z convertToScreenCode1_v
    ldx rawmap,y
    // [12] phi from cputc::convertToScreenCode1 to cputc::@6 [phi:cputc::convertToScreenCode1->cputc::@6]
    // cputc::@6
    // putchar(convertToScreenCode(&c))
    // [13] call putchar
    jsr putchar
    // cputc::@7
    // (*COLCRS)++;
    // [14] *COLCRS = ++ *COLCRS -- _deref_pwuc1=_inc__deref_pwuc1 
    inc COLCRS
    bne !+
    inc COLCRS+1
  !:
    // if (*COLCRS == CONIO_WIDTH)
    // [15] if(*COLCRS==$28) goto cputc::@5 -- _deref_pwuc1_eq_vbuc2_then_la1 
    lda COLCRS+1
    bne !+
    lda COLCRS
    cmp #$28
    beq __b5
  !:
    // [16] phi from cputc::@7 to cputc::@4 [phi:cputc::@7->cputc::@4]
    // cputc::@4
    // setcursor()
    // [17] call setcursor
    jsr setcursor
    // cputc::@return
    // }
    // [18] return 
    rts
    // cputc::@5
  __b5:
    // *COLCRS = 0
    // [19] *COLCRS = 0 -- _deref_pwuc1=vbuc2 
    lda #<0
    sta COLCRS
    sta COLCRS+1
    // newline()
    // [20] call newline
    jsr newline
    rts
    // cputc::@2
  __b2:
    // *COLCRS = 0
    // [21] *COLCRS = 0 -- _deref_pwuc1=vbuc2 
    // 0x0a LF, or atascii EOL
    lda #<0
    sta COLCRS
    sta COLCRS+1
    // newline()
    // [22] call newline
    jsr newline
    rts
    // cputc::@1
  __b1:
    // *COLCRS = 0
    // [23] *COLCRS = 0 -- _deref_pwuc1=vbuc2 
    // 0x0d, CR = just set the cursor x value to 0
    lda #<0
    sta COLCRS
    sta COLCRS+1
    // setcursor()
    // [24] call setcursor
    jsr setcursor
    rts
}
  // main
main: {
    .label i = $80
    .label i1 = $82
    // cursor(0)
    // [26] call cursor
    // hide the cursor
    jsr cursor
    // [27] phi from main to main::@5 [phi:main->main::@5]
    // main::@5
    // bgcolor(DARK_ORANGE)
    // [28] call bgcolor
    // change colors
    jsr bgcolor
    // [29] phi from main::@5 to main::@6 [phi:main::@5->main::@6]
    // main::@6
    // bordercolor(MEDIUM_BLUE)
    // [30] call bordercolor
    jsr bordercolor
    // [31] phi from main::@6 to main::@7 [phi:main::@6->main::@7]
    // main::@7
    // textcolor(WHITE)
    // [32] call textcolor
    jsr textcolor
    // [33] phi from main::@7 to main::@8 [phi:main::@7->main::@8]
    // main::@8
    // cputsxy(0, 1, "Hello, World!\n")
    // [34] call cputsxy
  // print some text at a location
    // [123] phi from main::@8 to cputsxy [phi:main::@8->cputsxy]
    jsr cputsxy
    // [35] phi from main::@8 to main::@9 [phi:main::@8->main::@9]
    // main::@9
    // gotoxy(0, 3)
    // [36] call gotoxy
  // skip a line
    // [128] phi from main::@9 to gotoxy [phi:main::@9->gotoxy]
    // [128] phi gotoxy::y#4 = 3 [phi:main::@9->gotoxy#0] -- vbuxx=vbuc1 
    ldx #3
    // [128] phi gotoxy::x#4 = 0 [phi:main::@9->gotoxy#1] -- vbuaa=vbuc1 
    lda #0
    jsr gotoxy
    // [37] phi from main::@9 to main::@10 [phi:main::@9->main::@10]
    // main::@10
    // revers(1)
    // [38] call revers
  // set inverse text and use printf to output a string
    // [133] phi from main::@10 to revers [phi:main::@10->revers]
    // [133] phi revers::onoff#2 = 1 [phi:main::@10->revers#0] -- vbuaa=vbuc1 
    lda #1
    jsr revers
    // [39] phi from main::@10 to main::@11 [phi:main::@10->main::@11]
    // main::@11
    // printf("Hello, %s - press a key!\n", name)
    // [40] call printf_str
    // [138] phi from main::@11 to printf_str [phi:main::@11->printf_str]
    // [138] phi printf_str::putc#10 = &cputc [phi:main::@11->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [138] phi printf_str::s#10 = main::s1 [phi:main::@11->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::@11 to main::@12 [phi:main::@11->main::@12]
    // main::@12
    // printf("Hello, %s - press a key!\n", name)
    // [42] call printf_string
    // [147] phi from main::@12 to printf_string [phi:main::@12->printf_string]
    jsr printf_string
    // [43] phi from main::@12 to main::@13 [phi:main::@12->main::@13]
    // main::@13
    // printf("Hello, %s - press a key!\n", name)
    // [44] call printf_str
    // [138] phi from main::@13 to printf_str [phi:main::@13->printf_str]
    // [138] phi printf_str::putc#10 = &cputc [phi:main::@13->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [138] phi printf_str::s#10 = main::s2 [phi:main::@13->printf_str#1] -- pbuz1=pbuc1 
    lda #<s2
    sta.z printf_str.s
    lda #>s2
    sta.z printf_str.s+1
    jsr printf_str
    // [45] phi from main::@13 to main::@14 [phi:main::@13->main::@14]
    // main::@14
    // waitkey()
    // [46] call waitkey
  // wait for user keypress
    // [151] phi from main::@14 to waitkey [phi:main::@14->waitkey]
    jsr waitkey
    // [47] phi from main::@14 to main::@15 [phi:main::@14->main::@15]
    // main::@15
    // clrscr()
    // [48] call clrscr
    // clear screen
    jsr clrscr
    // [49] phi from main::@15 to main::@16 [phi:main::@15->main::@16]
    // main::@16
    // revers(0)
    // [50] call revers
  // reset reverse and do some scrolling lines.
    // [133] phi from main::@16 to revers [phi:main::@16->revers]
    // [133] phi revers::onoff#2 = 0 [phi:main::@16->revers#0] -- vbuaa=vbuc1 
    lda #0
    jsr revers
    // [51] phi from main::@16 to main::@1 [phi:main::@16->main::@1]
    // [51] phi main::i#2 = 0 [phi:main::@16->main::@1#0] -- vwsz1=vwsc1 
    lda #<0
    sta.z i
    sta.z i+1
    // [51] phi from main::@19 to main::@1 [phi:main::@19->main::@1]
    // [51] phi main::i#2 = main::i#1 [phi:main::@19->main::@1#0] -- register_copy 
    // main::@1
  __b1:
    // printf("Scrolling lines ... %d\n", i)
    // [52] call printf_str
    // [138] phi from main::@1 to printf_str [phi:main::@1->printf_str]
    // [138] phi printf_str::putc#10 = &cputc [phi:main::@1->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [138] phi printf_str::s#10 = main::s3 [phi:main::@1->printf_str#1] -- pbuz1=pbuc1 
    lda #<s3
    sta.z printf_str.s
    lda #>s3
    sta.z printf_str.s+1
    jsr printf_str
    // main::@17
    // printf("Scrolling lines ... %d\n", i)
    // [53] printf_sint::value#1 = main::i#2 -- vwsz1=vwsz2 
    lda.z i
    sta.z printf_sint.value
    lda.z i+1
    sta.z printf_sint.value+1
    // [54] call printf_sint
    // [164] phi from main::@17 to printf_sint [phi:main::@17->printf_sint]
    // [164] phi printf_sint::value#3 = printf_sint::value#1 [phi:main::@17->printf_sint#0] -- register_copy 
    jsr printf_sint
    // [55] phi from main::@17 to main::@18 [phi:main::@17->main::@18]
    // main::@18
    // printf("Scrolling lines ... %d\n", i)
    // [56] call printf_str
    // [138] phi from main::@18 to printf_str [phi:main::@18->printf_str]
    // [138] phi printf_str::putc#10 = &cputc [phi:main::@18->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [138] phi printf_str::s#10 = main::s4 [phi:main::@18->printf_str#1] -- pbuz1=pbuc1 
    lda #<s4
    sta.z printf_str.s
    lda #>s4
    sta.z printf_str.s+1
    jsr printf_str
    // main::@19
    // for(int i: 0..50)
    // [57] main::i#1 = ++ main::i#2 -- vwsz1=_inc_vwsz1 
    inc.z i
    bne !+
    inc.z i+1
  !:
    // [58] if(main::i#1!=$33) goto main::@1 -- vwsz1_neq_vwuc1_then_la1 
    lda.z i+1
    cmp #>$33
    bne __b1
    lda.z i
    cmp #<$33
    bne __b1
    // [59] phi from main::@19 to main::@2 [phi:main::@19->main::@2]
    // main::@2
    // waitkey()
    // [60] call waitkey
    // [151] phi from main::@2 to waitkey [phi:main::@2->waitkey]
    jsr waitkey
    // [61] phi from main::@2 to main::@20 [phi:main::@2->main::@20]
    // main::@20
    // scroll(0)
    // [62] call scroll
    // turn scroll off and do more lines
    jsr scroll
    // [63] phi from main::@20 to main::@3 [phi:main::@20->main::@3]
    // [63] phi main::i1#2 = $33 [phi:main::@20->main::@3#0] -- vwsz1=vwsc1 
    lda #<$33
    sta.z i1
    lda #>$33
    sta.z i1+1
    // [63] phi from main::@23 to main::@3 [phi:main::@23->main::@3]
    // [63] phi main::i1#2 = main::i1#1 [phi:main::@23->main::@3#0] -- register_copy 
    // main::@3
  __b3:
    // printf("Some wrapping lines ... %d\n", i)
    // [64] call printf_str
    // [138] phi from main::@3 to printf_str [phi:main::@3->printf_str]
    // [138] phi printf_str::putc#10 = &cputc [phi:main::@3->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [138] phi printf_str::s#10 = main::s5 [phi:main::@3->printf_str#1] -- pbuz1=pbuc1 
    lda #<s5
    sta.z printf_str.s
    lda #>s5
    sta.z printf_str.s+1
    jsr printf_str
    // main::@21
    // printf("Some wrapping lines ... %d\n", i)
    // [65] printf_sint::value#2 = main::i1#2 -- vwsz1=vwsz2 
    lda.z i1
    sta.z printf_sint.value
    lda.z i1+1
    sta.z printf_sint.value+1
    // [66] call printf_sint
    // [164] phi from main::@21 to printf_sint [phi:main::@21->printf_sint]
    // [164] phi printf_sint::value#3 = printf_sint::value#2 [phi:main::@21->printf_sint#0] -- register_copy 
    jsr printf_sint
    // [67] phi from main::@21 to main::@22 [phi:main::@21->main::@22]
    // main::@22
    // printf("Some wrapping lines ... %d\n", i)
    // [68] call printf_str
    // [138] phi from main::@22 to printf_str [phi:main::@22->printf_str]
    // [138] phi printf_str::putc#10 = &cputc [phi:main::@22->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [138] phi printf_str::s#10 = main::s4 [phi:main::@22->printf_str#1] -- pbuz1=pbuc1 
    lda #<s4
    sta.z printf_str.s
    lda #>s4
    sta.z printf_str.s+1
    jsr printf_str
    // main::@23
    // for(int i: 51..200)
    // [69] main::i1#1 = ++ main::i1#2 -- vwsz1=_inc_vwsz1 
    inc.z i1
    bne !+
    inc.z i1+1
  !:
    // [70] if(main::i1#1!=$c9) goto main::@3 -- vwsz1_neq_vwsc1_then_la1 
    lda.z i1+1
    cmp #>$c9
    bne __b3
    lda.z i1
    cmp #<$c9
    bne __b3
    // [71] phi from main::@23 to main::@4 [phi:main::@23->main::@4]
    // main::@4
    // waitkey()
    // [72] call waitkey
    // [151] phi from main::@4 to waitkey [phi:main::@4->waitkey]
    jsr waitkey
    // main::@return
    // }
    // [73] return 
    rts
  .segment Data
    name: .text "Mark"
    .byte 0
    s: .text @"Hello, World!\$9b"
    .byte 0
    s1: .text "Hello, "
    .byte 0
    s2: .text @" - press a key!\$9b"
    .byte 0
    s3: .text "Scrolling lines ... "
    .byte 0
    s4: .text @"\$9b"
    .byte 0
    s5: .text "Some wrapping lines ... "
    .byte 0
}
.segment Code
  // putchar
// Puts a character to the screen a the current location. Uses internal screencode. Deals with storing the old cursor value
// void putchar(char code)
putchar: {
    .label loc = $91
    // **OLDADR = *OLDCHR
    // [74] *(*OLDADR) = *OLDCHR -- _deref_(_deref_qbuc1)=_deref_pbuc2 
    lda OLDCHR
    ldy OLDADR
    sty.z $fe
    ldy OLDADR+1
    sty.z $ff
    ldy #0
    sta ($fe),y
    // char * loc = cursorLocation()
    // [75] call cursorLocation
    jsr cursorLocation
    // [76] cursorLocation::return#0 = cursorLocation::return#1
    // putchar::@1
    // [77] putchar::loc#0 = cursorLocation::return#0
    // char newChar = code | conio_reverse_value
    // [78] putchar::newChar#0 = cputc::convertToScreenCode1_return#0 | conio_reverse_value -- vbuaa=vbuxx_bor_vbuz1 
    txa
    ora.z conio_reverse_value
    // *loc = newChar
    // [79] *putchar::loc#0 = putchar::newChar#0 -- _deref_pbuz1=vbuaa 
    ldy #0
    sta (loc),y
    // *OLDCHR = newChar
    // [80] *OLDCHR = putchar::newChar#0 -- _deref_pbuc1=vbuaa 
    sta OLDCHR
    // setcursor()
    // [81] call setcursor
    jsr setcursor
    // putchar::@return
    // }
    // [82] return 
    rts
}
  // setcursor
// Handles cursor movement, displaying it if required, and inverting character it is over if there is one (and enabled)
setcursor: {
    .label loc = $91
    // **OLDADR = *OLDCHR
    // [83] *(*OLDADR) = *OLDCHR -- _deref_(_deref_qbuc1)=_deref_pbuc2 
    // save the current oldchr into oldadr
    lda OLDCHR
    ldy OLDADR
    sty.z $fe
    ldy OLDADR+1
    sty.z $ff
    ldy #0
    sta ($fe),y
    // char * loc = cursorLocation()
    // [84] call cursorLocation
    // work out the new location for oldadr based on new column/row
    jsr cursorLocation
    // [85] cursorLocation::return#3 = cursorLocation::return#1
    // setcursor::@4
    // [86] setcursor::loc#0 = cursorLocation::return#3
    // char c = *loc
    // [87] setcursor::c#0 = *setcursor::loc#0 -- vbuxx=_deref_pbuz1 
    ldy #0
    lda (loc),y
    tax
    // *OLDCHR = c
    // [88] *OLDCHR = setcursor::c#0 -- _deref_pbuc1=vbuxx 
    stx OLDCHR
    // *OLDADR = loc
    // [89] *OLDADR = setcursor::loc#0 -- _deref_qbuc1=pbuz1 
    lda.z loc
    sta OLDADR
    lda.z loc+1
    sta OLDADR+1
    // if (conio_display_cursor == 0)
    // [90] if(conio_display_cursor==0) goto setcursor::@1 -- vbuz1_eq_0_then_la1 
    lda.z conio_display_cursor
    beq __b1
    // setcursor::@3
    // *CRSINH = 0
    // [91] *CRSINH = 0 -- _deref_pbuc1=vbuc2 
    // cursor is on, so invert the inverse bit and turn cursor on
    tya
    sta CRSINH
    // c = c ^ 0x80
    // [92] setcursor::c#1 = setcursor::c#0 ^ $80 -- vbuxx=vbuxx_bxor_vbuc1 
    txa
    eor #$80
    tax
    // [93] phi from setcursor::@1 setcursor::@3 to setcursor::@2 [phi:setcursor::@1/setcursor::@3->setcursor::@2]
    // [93] phi setcursor::c#3 = setcursor::c#0 [phi:setcursor::@1/setcursor::@3->setcursor::@2#0] -- register_copy 
    // setcursor::@2
  __b2:
    // **OLDADR = c
    // [94] *(*OLDADR) = setcursor::c#3 -- _deref_(_deref_qbuc1)=vbuxx 
    txa
    ldy OLDADR
    sty.z $fe
    ldy OLDADR+1
    sty.z $ff
    ldy #0
    sta ($fe),y
    // setcursor::@return
    // }
    // [95] return 
    rts
    // setcursor::@1
  __b1:
    // *CRSINH = 1
    // [96] *CRSINH = 1 -- _deref_pbuc1=vbuc2 
    // cursor is off, don't affect the character at all, but do turn off cursor
    lda #1
    sta CRSINH
    jmp __b2
}
  // newline
newline: {
    .label start = $88
    // if ((*ROWCRS)++ == CONIO_HEIGHT)
    // [97] *ROWCRS = ++ *ROWCRS -- _deref_pbuc1=_inc__deref_pbuc1 
    inc ROWCRS
    // [98] if(*ROWCRS!=$18) goto newline::@1 -- _deref_pbuc1_neq_vbuc2_then_la1 
    lda #$18
    cmp ROWCRS
    bne __b1
    // newline::@2
    // if (conio_scroll_enable == 1)
    // [99] if(conio_scroll_enable==1) goto newline::@4 -- vbuz1_eq_vbuc1_then_la1 
    lda #1
    cmp.z conio_scroll_enable
    beq __b4
    // [100] phi from newline::@2 to newline::@3 [phi:newline::@2->newline::@3]
    // newline::@3
    // gotoxy(0, 0)
    // [101] call gotoxy
    // [128] phi from newline::@3 to gotoxy [phi:newline::@3->gotoxy]
    // [128] phi gotoxy::y#4 = 0 [phi:newline::@3->gotoxy#0] -- vbuxx=vbuc1 
    ldx #0
    // [128] phi gotoxy::x#4 = 0 [phi:newline::@3->gotoxy#1] -- vbuaa=vbuc1 
    txa
    jsr gotoxy
    // [102] phi from newline newline::@3 newline::@8 to newline::@1 [phi:newline/newline::@3/newline::@8->newline::@1]
    // newline::@1
  __b1:
    // setcursor()
    // [103] call setcursor
    jsr setcursor
    // newline::@return
    // }
    // [104] return 
    rts
    // newline::@4
  __b4:
    // if (conio_display_cursor == 1)
    // [105] if(conio_display_cursor!=1) goto newline::@5 -- vbuz1_neq_vbuc1_then_la1 
    lda #1
    cmp.z conio_display_cursor
    bne __b5
    // newline::@6
    // **OLDADR ^= 0x80
    // [106] *(*OLDADR) = *(*OLDADR) ^ $80 -- _deref_(_deref_qbuc1)=_deref_(_deref_qbuc1)_bxor_vbuc2 
    ldy OLDADR
    sty.z $fe
    ldy OLDADR+1
    sty.z $ff
    ldy #0
    lda ($fe),y
    eor #$80
    sta ($fe),y
    // newline::@5
  __b5:
    // char * start = *SAVMSC
    // [107] newline::start#0 = *SAVMSC -- pbuz1=_deref_qbuc1 
    // move screen up 1 line
    lda SAVMSC
    sta.z start
    lda SAVMSC+1
    sta.z start+1
    // start + CONIO_WIDTH
    // [108] memcpy::source#0 = newline::start#0 + $28 -- pbuz1=pbuz2_plus_vbuc1 
    lda #$28
    clc
    adc.z start
    sta.z memcpy.source
    lda #0
    adc.z start+1
    sta.z memcpy.source+1
    // memcpy(start, start + CONIO_WIDTH, CONIO_WIDTH * 23)
    // [109] memcpy::destination#0 = (void *)newline::start#0 -- pvoz1=pvoz2 
    lda.z start
    sta.z memcpy.destination
    lda.z start+1
    sta.z memcpy.destination+1
    // [110] call memcpy
    jsr memcpy
    // newline::@7
    // start + CONIO_WIDTH * 23
    // [111] memset::str#1 = newline::start#0 + (unsigned int)$28*$17 -- pbuz1=pbuz1_plus_vwuc1 
    lda.z memset.str
    clc
    adc #<$28*$17
    sta.z memset.str
    lda.z memset.str+1
    adc #>$28*$17
    sta.z memset.str+1
    // [112] memset::str#8 = (void *)memset::str#1
    // memset(start + CONIO_WIDTH * 23, 0x00, CONIO_WIDTH)
    // [113] call memset
    // [193] phi from newline::@7 to memset [phi:newline::@7->memset]
    // [193] phi memset::str#3 = memset::str#8 [phi:newline::@7->memset#0] -- register_copy 
    // [193] phi memset::num#2 = $28 [phi:newline::@7->memset#1] -- vwuz1=vbuc1 
    lda #<$28
    sta.z memset.num
    lda #>$28
    sta.z memset.num+1
    jsr memset
    // newline::@8
    // *ROWCRS = CONIO_HEIGHT - 1
    // [114] *ROWCRS = $18-1 -- _deref_pbuc1=vbuc2 
    lda #$18-1
    sta ROWCRS
    jmp __b1
}
  // cursor
// If onoff is 1, a cursor is displayed when any text is output.
// If onoff is 0, the cursor is hidden instead.
// char cursor(char onoff)
cursor: {
    .const onoff = 0
    // conio_display_cursor = onoff
    // [115] conio_display_cursor = cursor::onoff#0 -- vbuz1=vbuc1 
    lda #onoff
    sta.z conio_display_cursor
    // cursor::@return
    // }
    // [116] return 
    rts
}
  // bgcolor
// Set the color for the background. The old color setting is returned.
// char bgcolor(char color)
bgcolor: {
    // *COLOR2 = color
    // [117] *COLOR2 = DARK_ORANGE -- _deref_pbuc1=vbuc2 
    lda #DARK_ORANGE
    sta COLOR2
    // bgcolor::@return
    // }
    // [118] return 
    rts
}
  // bordercolor
// Set the color for the border. The old color setting is returned.
// char bordercolor(char color)
bordercolor: {
    // *COLOR4 = color
    // [119] *COLOR4 = MEDIUM_BLUE -- _deref_pbuc1=vbuc2 
    lda #MEDIUM_BLUE
    sta COLOR4
    // bordercolor::@return
    // }
    // [120] return 
    rts
}
  // textcolor
// Set the color for the text. The old color setting is returned.
// char textcolor(char color)
textcolor: {
    // *COLOR1 = color
    // [121] *COLOR1 = WHITE -- _deref_pbuc1=vbuc2 
    lda #WHITE
    sta COLOR1
    // textcolor::@return
    // }
    // [122] return 
    rts
}
  // cputsxy
// Move cursor and output a NUL-terminated string
// Same as "gotoxy (x, y); puts (s);"
// void cputsxy(char x, char y, const char *s)
cputsxy: {
    .const x = 0
    .const y = 1
    // gotoxy(x, y)
    // [124] call gotoxy
    // [128] phi from cputsxy to gotoxy [phi:cputsxy->gotoxy]
    // [128] phi gotoxy::y#4 = cputsxy::y#0 [phi:cputsxy->gotoxy#0] -- vbuxx=vbuc1 
    ldx #y
    // [128] phi gotoxy::x#4 = cputsxy::x#0 [phi:cputsxy->gotoxy#1] -- vbuaa=vbuc1 
    lda #x
    jsr gotoxy
    // [125] phi from cputsxy to cputsxy::@1 [phi:cputsxy->cputsxy::@1]
    // cputsxy::@1
    // cputs(s)
    // [126] call cputs
    // [202] phi from cputsxy::@1 to cputs [phi:cputsxy::@1->cputs]
    jsr cputs
    // cputsxy::@return
    // }
    // [127] return 
    rts
}
  // gotoxy
// Set the cursor to the specified position
// void gotoxy(__register(A) char x, __register(X) char y)
gotoxy: {
    // *COLCRS = x
    // [129] *COLCRS = gotoxy::x#4 -- _deref_pwuc1=vbuaa 
    sta COLCRS
    lda #0
    sta COLCRS+1
    // *ROWCRS = y
    // [130] *ROWCRS = gotoxy::y#4 -- _deref_pbuc1=vbuxx 
    stx ROWCRS
    // setcursor()
    // [131] call setcursor
    jsr setcursor
    // gotoxy::@return
    // }
    // [132] return 
    rts
}
  // revers
// Sets reverse mode for text. 1 enables reverse, 0 disables. Returns the old value.
// char revers(__register(A) char onoff)
revers: {
    // if (onoff == 0)
    // [134] if(revers::onoff#2==0) goto revers::@1 -- vbuaa_eq_0_then_la1 
    cmp #0
    beq __b1
    // revers::@2
    // conio_reverse_value = 0x80
    // [135] conio_reverse_value = $80 -- vbuz1=vbuc1 
    lda #$80
    sta.z conio_reverse_value
    // revers::@return
    // }
    // [136] return 
    rts
    // revers::@1
  __b1:
    // conio_reverse_value = 0
    // [137] conio_reverse_value = 0 -- vbuz1=vbuc1 
    lda #0
    sta.z conio_reverse_value
    rts
}
  // printf_str
/// Print a NUL-terminated string
// void printf_str(__zp($84) void (*putc)(char), __zp($8b) const char *s)
printf_str: {
    .label s = $8b
    .label putc = $84
    // [139] phi from printf_str printf_str::@2 to printf_str::@1 [phi:printf_str/printf_str::@2->printf_str::@1]
    // [139] phi printf_str::s#9 = printf_str::s#10 [phi:printf_str/printf_str::@2->printf_str::@1#0] -- register_copy 
    // printf_str::@1
  __b1:
    // while(c=*s++)
    // [140] printf_str::c#1 = *printf_str::s#9 -- vbuaa=_deref_pbuz1 
    ldy #0
    lda (s),y
    // [141] printf_str::s#0 = ++ printf_str::s#9 -- pbuz1=_inc_pbuz1 
    inc.z s
    bne !+
    inc.z s+1
  !:
    // [142] if(0!=printf_str::c#1) goto printf_str::@2 -- 0_neq_vbuaa_then_la1 
    cmp #0
    bne __b2
    // printf_str::@return
    // }
    // [143] return 
    rts
    // printf_str::@2
  __b2:
    // putc(c)
    // [144] stackpush(char) = printf_str::c#1 -- _stackpushbyte_=vbuaa 
    pha
    // [145] callexecute *printf_str::putc#10  -- call__deref_pprz1 
    jsr icall1
    // sideeffect stackpullbytes(1) -- _stackpullbyte_1 
    pla
    jmp __b1
    // Outside Flow
  icall1:
    jmp (putc)
}
  // printf_string
// Print a string value using a specific format
// Handles justification and min length 
// void printf_string(void (*putc)(char), char *str, char format_min_length, char format_justify_left)
printf_string: {
    .label putc = cputc
    // [148] phi from printf_string to printf_string::@1 [phi:printf_string->printf_string::@1]
    // printf_string::@1
    // printf_str(putc, str)
    // [149] call printf_str
    // [138] phi from printf_string::@1 to printf_str [phi:printf_string::@1->printf_str]
    // [138] phi printf_str::putc#10 = printf_string::putc#0 [phi:printf_string::@1->printf_str#0] -- pprz1=pprc1 
    lda #<putc
    sta.z printf_str.putc
    lda #>putc
    sta.z printf_str.putc+1
    // [138] phi printf_str::s#10 = main::name [phi:printf_string::@1->printf_str#1] -- pbuz1=pbuc1 
    lda #<main.name
    sta.z printf_str.s
    lda #>main.name
    sta.z printf_str.s+1
    jsr printf_str
    // printf_string::@return
    // }
    // [150] return 
    rts
}
  // waitkey
waitkey: {
    // [152] phi from waitkey waitkey::@2 to waitkey::@1 [phi:waitkey/waitkey::@2->waitkey::@1]
    // waitkey::@1
  __b1:
    // kbhit()
    // [153] call kbhit
    jsr kbhit
    // [154] kbhit::return#3 = kbhit::return#2
    // waitkey::@2
    // [155] waitkey::$1 = kbhit::return#3
    // while(!kbhit())
    // [156] if(0==waitkey::$1) goto waitkey::@1 -- 0_eq_vbuaa_then_la1 
    cmp #0
    beq __b1
    // waitkey::clrkb1
    // *CH = 0xff
    // [157] *CH = $ff -- _deref_pbuc1=vbuc2 
    lda #$ff
    sta CH
    // waitkey::@return
    // }
    // [158] return 
    rts
}
  // clrscr
// clears the screen and moves the cursor to the upper left-hand corner of the screen.
clrscr: {
    // [159] memset::str#7 = (void *)*SAVMSC -- pvoz1=_deref_qvoc1 
    lda SAVMSC
    sta.z memset.str
    lda SAVMSC+1
    sta.z memset.str+1
    // memset(*SAVMSC, 0x00, CONIO_WIDTH * CONIO_HEIGHT)
    // [160] call memset
  // Fill entire screen with spaces
    // [193] phi from clrscr to memset [phi:clrscr->memset]
    // [193] phi memset::str#3 = memset::str#7 [phi:clrscr->memset#0] -- register_copy 
    // [193] phi memset::num#2 = (unsigned int)$28*$18 [phi:clrscr->memset#1] -- vwuz1=vwuc1 
    lda #<$28*$18
    sta.z memset.num
    lda #>$28*$18
    sta.z memset.num+1
    jsr memset
    // clrscr::@1
    // *OLDCHR = 0x00
    // [161] *OLDCHR = 0 -- _deref_pbuc1=vbuc2 
    // 0x00 is screencode for space character
    // set the old character to a space so the cursor doesn't reappear at the last position it was at
    lda #0
    sta OLDCHR
    // gotoxy(0,0)
    // [162] call gotoxy
    // [128] phi from clrscr::@1 to gotoxy [phi:clrscr::@1->gotoxy]
    // [128] phi gotoxy::y#4 = 0 [phi:clrscr::@1->gotoxy#0] -- vbuxx=vbuc1 
    tax
    // [128] phi gotoxy::x#4 = 0 [phi:clrscr::@1->gotoxy#1] -- vbuaa=vbuc1 
    txa
    jsr gotoxy
    // clrscr::@return
    // }
    // [163] return 
    rts
}
  // printf_sint
// Print a signed integer using a specific format
// void printf_sint(void (*putc)(char), __zp($84) 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: {
    .label value = $84
    // printf_buffer.sign = 0
    // [165] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2 
    // Handle any sign
    lda #0
    sta printf_buffer
    // if(value<0)
    // [166] if(printf_sint::value#3<0) goto printf_sint::@1 -- vwsz1_lt_0_then_la1 
    lda.z value+1
    bmi __b1
    // [169] phi from printf_sint printf_sint::@1 to printf_sint::@2 [phi:printf_sint/printf_sint::@1->printf_sint::@2]
    // [169] phi printf_sint::value#5 = printf_sint::value#3 [phi:printf_sint/printf_sint::@1->printf_sint::@2#0] -- register_copy 
    jmp __b2
    // printf_sint::@1
  __b1:
    // value = -value
    // [167] printf_sint::value#0 = - printf_sint::value#3 -- vwsz1=_neg_vwsz1 
    lda #0
    sec
    sbc.z value
    sta.z value
    lda #0
    sbc.z value+1
    sta.z value+1
    // printf_buffer.sign = '-'
    // [168] *((char *)&printf_buffer) = '-'at -- _deref_pbuc1=vbuc2 
    lda #'-'
    sta printf_buffer
    // printf_sint::@2
  __b2:
    // utoa(uvalue, printf_buffer.digits, format.radix)
    // [170] utoa::value#1 = (unsigned int)printf_sint::value#5
    // [171] call utoa
    // [215] phi from printf_sint::@2 to utoa [phi:printf_sint::@2->utoa]
    jsr utoa
    // printf_sint::@3
    // printf_number_buffer(putc, printf_buffer, format)
    // [172] printf_number_buffer::buffer_sign#0 = *((char *)&printf_buffer) -- vbuaa=_deref_pbuc1 
    lda printf_buffer
    // [173] call printf_number_buffer
  // Print using format
    // [236] phi from printf_sint::@3 to printf_number_buffer [phi:printf_sint::@3->printf_number_buffer]
    jsr printf_number_buffer
    // printf_sint::@return
    // }
    // [174] return 
    rts
}
  // scroll
// If onoff is 1, scrolling is enabled when outputting past the end of the screen
// If onoff is 0, scrolling is disabled and the cursor instead moves to (0,0)
// The function returns the old scroll setting.
// char scroll(char onoff)
scroll: {
    .const onoff = 0
    // conio_scroll_enable = onoff
    // [175] conio_scroll_enable = scroll::onoff#0 -- vbuz1=vbuc1 
    lda #onoff
    sta.z conio_scroll_enable
    // scroll::@return
    // }
    // [176] return 
    rts
}
  // cursorLocation
// Return a pointer to the location of the cursor
cursorLocation: {
    .label __0 = $91
    .label __1 = $91
    .label __3 = $91
    .label return = $91
    .label __4 = $93
    .label __5 = $91
    // (word)(*ROWCRS)*CONIO_WIDTH
    // [177] cursorLocation::$3 = (unsigned int)*ROWCRS -- vwuz1=_word__deref_pbuc1 
    lda ROWCRS
    sta.z __3
    lda #0
    sta.z __3+1
    // [178] cursorLocation::$4 = cursorLocation::$3 << 2 -- vwuz1=vwuz2_rol_2 
    lda.z __3
    asl
    sta.z __4
    lda.z __3+1
    rol
    sta.z __4+1
    asl.z __4
    rol.z __4+1
    // [179] cursorLocation::$5 = cursorLocation::$4 + cursorLocation::$3 -- vwuz1=vwuz2_plus_vwuz1 
    clc
    lda.z __5
    adc.z __4
    sta.z __5
    lda.z __5+1
    adc.z __4+1
    sta.z __5+1
    // [180] cursorLocation::$0 = cursorLocation::$5 << 3 -- vwuz1=vwuz1_rol_3 
    asl.z __0
    rol.z __0+1
    asl.z __0
    rol.z __0+1
    asl.z __0
    rol.z __0+1
    // *SAVMSC + (word)(*ROWCRS)*CONIO_WIDTH
    // [181] cursorLocation::$1 = *SAVMSC + cursorLocation::$0 -- pbuz1=_deref_qbuc1_plus_vwuz1 
    clc
    lda.z __1
    adc SAVMSC
    sta.z __1
    lda.z __1+1
    adc SAVMSC+1
    sta.z __1+1
    // *SAVMSC + (word)(*ROWCRS)*CONIO_WIDTH + *COLCRS
    // [182] cursorLocation::return#1 = cursorLocation::$1 + *COLCRS -- pbuz1=pbuz1_plus__deref_pwuc1 
    clc
    lda.z return
    adc COLCRS
    sta.z return
    lda.z return+1
    adc COLCRS+1
    sta.z return+1
    // cursorLocation::@return
    // }
    // [183] return 
    rts
}
  // memcpy
// Copy block of memory (forwards)
// Copies the values of num bytes from the location pointed to by source directly to the memory block pointed to by destination.
// void * memcpy(__zp($91) void *destination, __zp($86) char *source, unsigned int num)
memcpy: {
    .const num = $28*$17
    .label src_end = $93
    .label dst = $91
    .label src = $86
    .label destination = $91
    .label source = $86
    // char* src_end = (char*)source+num
    // [184] memcpy::src_end#0 = (char *)(void *)memcpy::source#0 + memcpy::num#0 -- pbuz1=pbuz2_plus_vwuc1 
    lda.z source
    clc
    adc #<num
    sta.z src_end
    lda.z source+1
    adc #>num
    sta.z src_end+1
    // [185] memcpy::src#4 = (char *)(void *)memcpy::source#0
    // [186] memcpy::dst#4 = (char *)memcpy::destination#0
    // [187] phi from memcpy memcpy::@2 to memcpy::@1 [phi:memcpy/memcpy::@2->memcpy::@1]
    // [187] phi memcpy::dst#2 = memcpy::dst#4 [phi:memcpy/memcpy::@2->memcpy::@1#0] -- register_copy 
    // [187] phi memcpy::src#2 = memcpy::src#4 [phi:memcpy/memcpy::@2->memcpy::@1#1] -- register_copy 
    // memcpy::@1
  __b1:
    // while(src!=src_end)
    // [188] 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
    // }
    // [189] return 
    rts
    // memcpy::@2
  __b2:
    // *dst++ = *src++
    // [190] *memcpy::dst#2 = *memcpy::src#2 -- _deref_pbuz1=_deref_pbuz2 
    ldy #0
    lda (src),y
    sta (dst),y
    // *dst++ = *src++;
    // [191] memcpy::dst#1 = ++ memcpy::dst#2 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    // [192] 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($88) char *str, char c, __zp($86) unsigned int num)
memset: {
    .label end = $86
    .label dst = $88
    .label str = $88
    .label num = $86
    // if(num>0)
    // [194] if(memset::num#2<=0) goto memset::@return -- vwuz1_le_0_then_la1 
    lda.z num
    bne !+
    lda.z num+1
    beq __breturn
  !:
    // memset::@1
    // char* end = (char*)str + num
    // [195] memset::end#0 = (char *)memset::str#3 + memset::num#2 -- pbuz1=pbuz2_plus_vwuz1 
    clc
    lda.z end
    adc.z str
    sta.z end
    lda.z end+1
    adc.z str+1
    sta.z end+1
    // [196] memset::dst#4 = (char *)memset::str#3
    // [197] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2]
    // [197] 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++)
    // [198] 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
  __breturn:
    // }
    // [199] return 
    rts
    // memset::@3
  __b3:
    // *dst = c
    // [200] *memset::dst#2 = 0 -- _deref_pbuz1=vbuc1 
    lda #0
    tay
    sta (dst),y
    // for(char* dst = str; dst!=end; dst++)
    // [201] memset::dst#1 = ++ memset::dst#2 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    jmp __b2
}
  // cputs
// Output a NUL-terminated string at the current cursor position
// void cputs(__zp($8b) const char *s)
cputs: {
    .label s = $8b
    // [203] phi from cputs to cputs::@1 [phi:cputs->cputs::@1]
    // [203] phi cputs::s#2 = main::s [phi:cputs->cputs::@1#0] -- pbuz1=pbuc1 
    lda #<main.s
    sta.z s
    lda #>main.s
    sta.z s+1
    // cputs::@1
  __b1:
    // while (c = *s++)
    // [204] cputs::c#1 = *cputs::s#2 -- vbuaa=_deref_pbuz1 
    ldy #0
    lda (s),y
    // [205] cputs::s#0 = ++ cputs::s#2 -- pbuz1=_inc_pbuz1 
    inc.z s
    bne !+
    inc.z s+1
  !:
    // [206] if(0!=cputs::c#1) goto cputs::@2 -- 0_neq_vbuaa_then_la1 
    cmp #0
    bne __b2
    // cputs::@return
    // }
    // [207] return 
    rts
    // cputs::@2
  __b2:
    // cputc(c)
    // [208] stackpush(char) = cputs::c#1 -- _stackpushbyte_=vbuaa 
    pha
    // [209] callexecute cputc  -- call_vprc1 
    jsr cputc
    // sideeffect stackpullbytes(1) -- _stackpullbyte_1 
    pla
    // [203] phi from cputs::@2 to cputs::@1 [phi:cputs::@2->cputs::@1]
    // [203] phi cputs::s#2 = cputs::s#0 [phi:cputs::@2->cputs::@1#0] -- register_copy 
    jmp __b1
}
  // kbhit
// Return 1 if there's a key waiting, return 0 if not
kbhit: {
    // if (*CH == 0xff)
    // [211] if(*CH==$ff) goto kbhit::@1 -- _deref_pbuc1_eq_vbuc2_then_la1 
    lda #$ff
    cmp CH
    beq __b1
    // [213] phi from kbhit to kbhit::@return [phi:kbhit->kbhit::@return]
    // [213] phi kbhit::return#2 = 1 [phi:kbhit->kbhit::@return#0] -- vbuaa=vbuc1 
    lda #1
    rts
    // [212] phi from kbhit to kbhit::@1 [phi:kbhit->kbhit::@1]
    // kbhit::@1
  __b1:
    // [213] phi from kbhit::@1 to kbhit::@return [phi:kbhit::@1->kbhit::@return]
    // [213] phi kbhit::return#2 = 0 [phi:kbhit::@1->kbhit::@return#0] -- vbuaa=vbuc1 
    lda #0
    // kbhit::@return
    // }
    // [214] 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($84) unsigned int value, __zp($8b) char *buffer, char radix)
utoa: {
    .label digit_value = $95
    .label buffer = $8b
    .label digit = $8a
    .label value = $84
    // [216] phi from utoa to utoa::@1 [phi:utoa->utoa::@1]
    // [216] phi utoa::buffer#11 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:utoa->utoa::@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
    // [216] phi utoa::started#2 = 0 [phi:utoa->utoa::@1#1] -- vbuxx=vbuc1 
    ldx #0
    // [216] phi utoa::value#2 = utoa::value#1 [phi:utoa->utoa::@1#2] -- register_copy 
    // [216] phi utoa::digit#2 = 0 [phi:utoa->utoa::@1#3] -- vbuz1=vbuc1 
    txa
    sta.z digit
    // utoa::@1
  __b1:
    // for( char digit=0; digit<max_digits-1; digit++ )
    // [217] if(utoa::digit#2<5-1) goto utoa::@2 -- vbuz1_lt_vbuc1_then_la1 
    lda.z digit
    cmp #5-1
    bcc __b2
    // utoa::@3
    // *buffer++ = DIGITS[(char)value]
    // [218] utoa::$11 = (char)utoa::value#2 -- vbuxx=_byte_vwuz1 
    ldx.z value
    // [219] *utoa::buffer#11 = DIGITS[utoa::$11] -- _deref_pbuz1=pbuc1_derefidx_vbuxx 
    lda DIGITS,x
    ldy #0
    sta (buffer),y
    // *buffer++ = DIGITS[(char)value];
    // [220] utoa::buffer#3 = ++ utoa::buffer#11 -- pbuz1=_inc_pbuz1 
    inc.z buffer
    bne !+
    inc.z buffer+1
  !:
    // *buffer = 0
    // [221] *utoa::buffer#3 = 0 -- _deref_pbuz1=vbuc1 
    lda #0
    tay
    sta (buffer),y
    // utoa::@return
    // }
    // [222] return 
    rts
    // utoa::@2
  __b2:
    // unsigned int digit_value = digit_values[digit]
    // [223] utoa::$10 = utoa::digit#2 << 1 -- vbuaa=vbuz1_rol_1 
    lda.z digit
    asl
    // [224] utoa::digit_value#0 = RADIX_DECIMAL_VALUES[utoa::$10] -- vwuz1=pwuc1_derefidx_vbuaa 
    tay
    lda RADIX_DECIMAL_VALUES,y
    sta.z digit_value
    lda RADIX_DECIMAL_VALUES+1,y
    sta.z digit_value+1
    // if (started || value >= digit_value)
    // [225] if(0!=utoa::started#2) goto utoa::@5 -- 0_neq_vbuxx_then_la1 
    cpx #0
    bne __b5
    // utoa::@7
    // [226] if(utoa::value#2>=utoa::digit_value#0) goto utoa::@5 -- vwuz1_ge_vwuz2_then_la1 
    cmp.z value+1
    bne !+
    lda.z digit_value
    cmp.z value
    beq __b5
  !:
    bcc __b5
    // [227] phi from utoa::@7 to utoa::@4 [phi:utoa::@7->utoa::@4]
    // [227] phi utoa::buffer#14 = utoa::buffer#11 [phi:utoa::@7->utoa::@4#0] -- register_copy 
    // [227] phi utoa::started#4 = utoa::started#2 [phi:utoa::@7->utoa::@4#1] -- register_copy 
    // [227] phi utoa::value#6 = utoa::value#2 [phi:utoa::@7->utoa::@4#2] -- register_copy 
    // utoa::@4
  __b4:
    // for( char digit=0; digit<max_digits-1; digit++ )
    // [228] utoa::digit#1 = ++ utoa::digit#2 -- vbuz1=_inc_vbuz1 
    inc.z digit
    // [216] phi from utoa::@4 to utoa::@1 [phi:utoa::@4->utoa::@1]
    // [216] phi utoa::buffer#11 = utoa::buffer#14 [phi:utoa::@4->utoa::@1#0] -- register_copy 
    // [216] phi utoa::started#2 = utoa::started#4 [phi:utoa::@4->utoa::@1#1] -- register_copy 
    // [216] phi utoa::value#2 = utoa::value#6 [phi:utoa::@4->utoa::@1#2] -- register_copy 
    // [216] phi utoa::digit#2 = utoa::digit#1 [phi:utoa::@4->utoa::@1#3] -- register_copy 
    jmp __b1
    // utoa::@5
  __b5:
    // utoa_append(buffer++, value, digit_value)
    // [229] utoa_append::buffer#0 = utoa::buffer#11
    // [230] utoa_append::value#0 = utoa::value#2
    // [231] utoa_append::sub#0 = utoa::digit_value#0
    // [232] call utoa_append
    // [244] phi from utoa::@5 to utoa_append [phi:utoa::@5->utoa_append]
    jsr utoa_append
    // utoa_append(buffer++, value, digit_value)
    // [233] utoa_append::return#0 = utoa_append::value#2
    // utoa::@6
    // value = utoa_append(buffer++, value, digit_value)
    // [234] utoa::value#0 = utoa_append::return#0
    // value = utoa_append(buffer++, value, digit_value);
    // [235] utoa::buffer#4 = ++ utoa::buffer#11 -- pbuz1=_inc_pbuz1 
    inc.z buffer
    bne !+
    inc.z buffer+1
  !:
    // [227] phi from utoa::@6 to utoa::@4 [phi:utoa::@6->utoa::@4]
    // [227] phi utoa::buffer#14 = utoa::buffer#4 [phi:utoa::@6->utoa::@4#0] -- register_copy 
    // [227] phi utoa::started#4 = 1 [phi:utoa::@6->utoa::@4#1] -- vbuxx=vbuc1 
    ldx #1
    // [227] phi utoa::value#6 = utoa::value#0 [phi:utoa::@6->utoa::@4#2] -- register_copy 
    jmp __b4
}
  // 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(void (*putc)(char), __register(A) 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: {
    .label buffer_digits = printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
    .label putc = cputc
    // printf_number_buffer::@1
    // if(buffer.sign)
    // [237] if(0==printf_number_buffer::buffer_sign#0) goto printf_number_buffer::@2 -- 0_eq_vbuaa_then_la1 
    cmp #0
    beq __b2
    // printf_number_buffer::@3
    // putc(buffer.sign)
    // [238] stackpush(char) = printf_number_buffer::buffer_sign#0 -- _stackpushbyte_=vbuaa 
    pha
    // [239] callexecute cputc  -- call_vprc1 
    jsr cputc
    // sideeffect stackpullbytes(1) -- _stackpullbyte_1 
    pla
    // [241] phi from printf_number_buffer::@1 printf_number_buffer::@3 to printf_number_buffer::@2 [phi:printf_number_buffer::@1/printf_number_buffer::@3->printf_number_buffer::@2]
    // printf_number_buffer::@2
  __b2:
    // printf_str(putc, buffer.digits)
    // [242] call printf_str
    // [138] phi from printf_number_buffer::@2 to printf_str [phi:printf_number_buffer::@2->printf_str]
    // [138] phi printf_str::putc#10 = printf_number_buffer::putc#0 [phi:printf_number_buffer::@2->printf_str#0] -- pprz1=pprc1 
    lda #<putc
    sta.z printf_str.putc
    lda #>putc
    sta.z printf_str.putc+1
    // [138] phi printf_str::s#10 = printf_number_buffer::buffer_digits#0 [phi:printf_number_buffer::@2->printf_str#1] -- pbuz1=pbuc1 
    lda #<buffer_digits
    sta.z printf_str.s
    lda #>buffer_digits
    sta.z printf_str.s+1
    jsr printf_str
    // printf_number_buffer::@return
    // }
    // [243] return 
    rts
}
  // utoa_append
// Used to convert a single digit of an unsigned number value to a string representation
// Counts a single digit up from '0' as long as the value is larger than sub.
// Each time the digit is increased sub is subtracted from value.
// - buffer : pointer to the char that receives the digit
// - value : The value where the digit will be derived from
// - sub : the value of a '1' in the digit. Subtracted continually while the digit is increased.
//        (For decimal the subs used are 10000, 1000, 100, 10, 1)
// returns : the value reduced by sub * digit so that it is less than sub.
// __zp($84) unsigned int utoa_append(__zp($8b) char *buffer, __zp($84) unsigned int value, __zp($95) unsigned int sub)
utoa_append: {
    .label buffer = $8b
    .label value = $84
    .label sub = $95
    .label return = $84
    // [245] phi from utoa_append to utoa_append::@1 [phi:utoa_append->utoa_append::@1]
    // [245] phi utoa_append::digit#2 = 0 [phi:utoa_append->utoa_append::@1#0] -- vbuxx=vbuc1 
    ldx #0
    // [245] 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)
    // [246] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2 -- vwuz1_ge_vwuz2_then_la1 
    lda.z sub+1
    cmp.z value+1
    bne !+
    lda.z sub
    cmp.z value
    beq __b2
  !:
    bcc __b2
    // utoa_append::@3
    // *buffer = DIGITS[digit]
    // [247] *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
    // }
    // [248] return 
    rts
    // utoa_append::@2
  __b2:
    // digit++;
    // [249] utoa_append::digit#1 = ++ utoa_append::digit#2 -- vbuxx=_inc_vbuxx 
    inx
    // value -= sub
    // [250] 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
    // [245] phi from utoa_append::@2 to utoa_append::@1 [phi:utoa_append::@2->utoa_append::@1]
    // [245] phi utoa_append::digit#2 = utoa_append::digit#1 [phi:utoa_append::@2->utoa_append::@1#0] -- register_copy 
    // [245] phi utoa_append::value#2 = utoa_append::value#1 [phi:utoa_append::@2->utoa_append::@1#1] -- register_copy 
    jmp __b1
}
  // File Data
.segment Data
  // The digits used for numbers
  DIGITS: .text "0123456789abcdef"
  // Values of decimal digits
  RADIX_DECIMAL_VALUES: .word $2710, $3e8, $64, $a
  // create a static table to map char value to screen value
  // use KickAsm functions to create a table of code -> screen code values, using cc65 algorithm
rawmap:
.var ht = Hashtable().put(0,64, 1,0, 2,32, 3,96) // the table for converting bit 6,7 into ora value
	.for(var i=0; i<256; i++) {
		.var idx = (i & $60) / 32
		.var mask = i & $9f
		.byte mask | ht.get(idx)
	}

  // Buffer used for stringified number being printed
  printf_buffer: .fill SIZEOF_STRUCT_PRINTF_BUFFER_NUMBER, 0

