diff --git a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java index 2bce94b43..b5f0482a2 100644 --- a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java +++ b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java @@ -45,6 +45,11 @@ public class TestPrograms { compileAndCompare("complex/polygon/polygon.c"); } + @Test + public void testRand1() throws IOException, URISyntaxException { + compileAndCompare("rand-1.c"); + } + @Test public void testPrngXorshift() throws IOException, URISyntaxException { compileAndCompare("prng-xorshift.c"); diff --git a/src/test/kc/rand-1.c b/src/test/kc/rand-1.c new file mode 100644 index 000000000..1fc88036e --- /dev/null +++ b/src/test/kc/rand-1.c @@ -0,0 +1,35 @@ +// Test the pseudorandom number generator in stdlib.h +// Source http://www.retroprogramming.com/2017/07/xorshift-pseudorandom-numbers-in-z80.html +// Information https://en.wikipedia.org/wiki/Xorshift + +#include +#include +#include + +void main() { + clrscr(); + textcolor(WHITE); + printf("generating unique randoms..."); + unsigned int first = rand(); + unsigned long cnt = 0; + textcolor(LIGHT_BLUE); + char col = 3, row = 1; + unsigned int rnd = first; + do { + cnt++; + if((char)cnt==0) { + gotoxy(col,row); + printf("%5u",rnd); + if(++row==25) { + row = 1; + col+=6; + if(col>40-5) + col = 3; + } + } + rnd = rand(); + } while(rnd!=first); + gotoxy(28,0); + textcolor(WHITE); + printf("found %lu",cnt); +} diff --git a/src/test/ref/rand-1.asm b/src/test/ref/rand-1.asm new file mode 100644 index 000000000..bb75b9e83 --- /dev/null +++ b/src/test/ref/rand-1.asm @@ -0,0 +1,1207 @@ +// Test the pseudorandom number generator in stdlib.h +// Source http://www.retroprogramming.com/2017/07/xorshift-pseudorandom-numbers-in-z80.html +// Information https://en.wikipedia.org/wiki/Xorshift +.pc = $801 "Basic" +:BasicUpstart(__bbegin) +.pc = $80d "Program" + // The default text color + .const CONIO_TEXTCOLOR_DEFAULT = $e + .const WHITE = 1 + .const LIGHT_BLUE = $e + .const OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS = 1 + .const SIZEOF_STRUCT_PRINTF_BUFFER_NUMBER = $c + // The screen width + // The screen height + // The screen bytes + // The text screen address + .label CONIO_SCREEN_TEXT = $400 + // The color screen address + .label CONIO_SCREEN_COLORS = $d800 + .label conio_cursor_x = $16 + .label conio_cursor_y = $17 + .label conio_cursor_text = $18 + .label conio_cursor_color = $1a + .label conio_textcolor = $1c + // The random state variable + .label rand_state = $11 +__bbegin: + // conio_cursor_x = 0 + // The current cursor x-position + lda #0 + sta.z conio_cursor_x + // conio_cursor_y = 0 + // The current cursor y-position + sta.z conio_cursor_y + // conio_cursor_text = CONIO_SCREEN_TEXT + // The current cursor address + lda #CONIO_SCREEN_TEXT + sta.z conio_cursor_text+1 + // conio_cursor_color = CONIO_SCREEN_COLORS + // The current cursor address + lda #CONIO_SCREEN_COLORS + sta.z conio_cursor_color+1 + // conio_textcolor = CONIO_TEXTCOLOR_DEFAULT + // The current text color + lda #CONIO_TEXTCOLOR_DEFAULT + sta.z conio_textcolor + jsr main + rts +main: { + .label first = $1d + .label cnt = 2 + .label rnd = 8 + .label row = 7 + .label col = 6 + // clrscr() + jsr clrscr + // textcolor(WHITE) + lda #WHITE + jsr textcolor + // printf("generating unique randoms...") + lda #s + sta.z cputs.s+1 + jsr cputs + // rand() + lda #<1 + sta.z rand_state + lda #>1 + sta.z rand_state+1 + jsr rand + // rand() + lda.z rand.return + sta.z rand.return_1 + lda.z rand.return+1 + sta.z rand.return_1+1 + // textcolor(LIGHT_BLUE) + lda #LIGHT_BLUE + jsr textcolor + lda.z first + sta.z rnd + lda.z first+1 + sta.z rnd+1 + lda #1 + sta.z row + lda #3 + sta.z col + lda #<0 + sta.z cnt + sta.z cnt+1 + lda #<0>>$10 + sta.z cnt+2 + lda #>0>>$10 + sta.z cnt+3 + __b1: + // cnt++; + inc.z cnt + bne !+ + inc.z cnt+1 + bne !+ + inc.z cnt+2 + bne !+ + inc.z cnt+3 + !: + // (char)cnt==0 + lda.z cnt + // if((char)cnt==0) + cmp #0 + bne __b2 + // gotoxy(col,row) + ldx.z col + lda.z row + jsr gotoxy + // printf("%5u",rnd) + jsr printf_uint + // if(++row==25) + inc.z row + lda #$19 + cmp.z row + bne __b2 + // col+=6 + lax.z col + axs #-[6] + stx.z col + // if(col>40-5) + txa + cmp #$28-5+1 + bcc __b17 + lda #1 + sta.z row + lda #3 + sta.z col + jmp __b2 + __b17: + lda #1 + sta.z row + __b2: + // rand() + jsr rand + // rand() + // rnd = rand() + // while(rnd!=first) + lda.z rnd+1 + cmp.z first+1 + bne __b1 + lda.z rnd + cmp.z first + bne __b1 + // gotoxy(28,0) + ldx #$1c + lda #0 + jsr gotoxy + // textcolor(WHITE) + lda #WHITE + jsr textcolor + // printf("found %lu",cnt) + lda #s1 + sta.z cputs.s+1 + jsr cputs + // printf("found %lu",cnt) + jsr printf_ulong + // } + rts + s: .text "generating unique randoms..." + .byte 0 + s1: .text "found " + .byte 0 +} +// Print an unsigned int using a specific format +// printf_ulong(dword zp(2) uvalue) +printf_ulong: { + .const format_min_length = 0 + .const format_justify_left = 0 + .const format_zero_padding = 0 + .const format_upper_case = 0 + .label uvalue = 2 + // printf_buffer.sign = format.sign_always?'+':0 + // Handle any sign + lda #0 + sta printf_buffer + // ultoa(uvalue, printf_buffer.digits, format.radix) + // Format number into buffer + jsr ultoa + // printf_number_buffer(printf_buffer, format) + lda printf_buffer + sta.z printf_number_buffer.buffer_sign + // Print using format + lda #format_upper_case + sta.z printf_number_buffer.format_upper_case + lda #format_zero_padding + sta.z printf_number_buffer.format_zero_padding + lda #format_justify_left + sta.z printf_number_buffer.format_justify_left + ldx #format_min_length + jsr printf_number_buffer + // } + rts +} +// Print the contents of the number buffer using a specific format. +// This handles minimum length, zero-filling, and left/right justification from the format +// printf_number_buffer(byte zp($a) buffer_sign, byte register(X) format_min_length, byte zp($10) format_justify_left, byte zp($13) format_zero_padding, byte zp($b) format_upper_case) +printf_number_buffer: { + .label __19 = $27 + .label buffer_sign = $a + .label padding = $c + .label format_zero_padding = $13 + .label format_justify_left = $10 + .label format_upper_case = $b + // if(format.min_length) + cpx #0 + beq __b6 + // strlen(buffer.digits) + jsr strlen + // strlen(buffer.digits) + // len = (signed char)strlen(buffer.digits) + // There is a minimum length - work out the padding + lda.z __19 + tay + // if(buffer.sign) + lda #0 + cmp.z buffer_sign + beq __b13 + // len++; + iny + __b13: + // padding = (signed char)format.min_length - len + txa + sty.z $ff + sec + sbc.z $ff + sta.z padding + // if(padding<0) + cmp #0 + bpl __b1 + __b6: + lda #0 + sta.z padding + __b1: + // if(!format.justify_left && !format.zero_padding && padding) + lda #0 + cmp.z format_justify_left + bne __b2 + cmp.z format_zero_padding + bne __b2 + cmp.z padding + bne __b8 + jmp __b2 + __b8: + // printf_padding(' ',(char)padding) + lda.z padding + sta.z printf_padding.length + lda #' ' + sta.z printf_padding.pad + jsr printf_padding + __b2: + // if(buffer.sign) + lda #0 + cmp.z buffer_sign + beq __b3 + // cputc(buffer.sign) + lda.z buffer_sign + jsr cputc + __b3: + // if(format.zero_padding && padding) + lda #0 + cmp.z format_zero_padding + beq __b4 + cmp.z padding + bne __b10 + jmp __b4 + __b10: + // printf_padding('0',(char)padding) + lda.z padding + sta.z printf_padding.length + lda #'0' + sta.z printf_padding.pad + jsr printf_padding + __b4: + // if(format.upper_case) + lda #0 + cmp.z format_upper_case + beq __b5 + // strupr(buffer.digits) + jsr strupr + __b5: + // cputs(buffer.digits) + lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + sta.z cputs.s+1 + jsr cputs + // if(format.justify_left && !format.zero_padding && padding) + lda #0 + cmp.z format_justify_left + beq __breturn + cmp.z format_zero_padding + bne __breturn + cmp.z padding + bne __b12 + rts + __b12: + // printf_padding(' ',(char)padding) + lda.z padding + sta.z printf_padding.length + lda #' ' + sta.z printf_padding.pad + jsr printf_padding + __breturn: + // } + rts +} +// Print a padding char a number of times +// printf_padding(byte zp($e) pad, byte zp($d) length) +printf_padding: { + .label i = $f + .label length = $d + .label pad = $e + lda #0 + sta.z i + __b1: + // for(char i=0;iCONIO_SCREEN_TEXT + sta.z memcpy.destination+1 + lda #CONIO_SCREEN_TEXT+$28 + sta.z memcpy.source+1 + jsr memcpy + // memcpy(CONIO_SCREEN_COLORS, CONIO_SCREEN_COLORS+CONIO_WIDTH, CONIO_BYTES-CONIO_WIDTH) + lda #CONIO_SCREEN_COLORS + sta.z memcpy.destination+1 + lda #CONIO_SCREEN_COLORS+$28 + sta.z memcpy.source+1 + jsr memcpy + // memset(CONIO_SCREEN_TEXT+CONIO_BYTES-CONIO_WIDTH, ' ', CONIO_WIDTH) + ldx #' ' + lda #CONIO_SCREEN_TEXT+$19*$28-$28 + sta.z memset.str+1 + jsr memset + // memset(CONIO_SCREEN_COLORS+CONIO_BYTES-CONIO_WIDTH, conio_textcolor, CONIO_WIDTH) + ldx.z conio_textcolor + lda #CONIO_SCREEN_COLORS+$19*$28-$28 + sta.z memset.str+1 + jsr memset + // conio_cursor_text-CONIO_WIDTH + lda.z __7 + sec + sbc #<$28 + sta.z __7 + lda.z __7+1 + sbc #>$28 + sta.z __7+1 + // conio_cursor_text = conio_cursor_text-CONIO_WIDTH + // conio_cursor_color-CONIO_WIDTH + lda.z __8 + sec + sbc #<$28 + sta.z __8 + lda.z __8+1 + sbc #>$28 + sta.z __8+1 + // conio_cursor_color = conio_cursor_color-CONIO_WIDTH + // conio_cursor_y--; + dec.z conio_cursor_y + __breturn: + // } + rts +} +// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str. +// memset(void* zp($27) str, byte register(X) c) +memset: { + .label end = $25 + .label dst = $27 + .label str = $27 + // end = (char*)str + num + lda #$28 + clc + adc.z str + sta.z end + lda #0 + adc.z str+1 + sta.z end+1 + __b2: + // for(char* dst = str; dst!=end; dst++) + lda.z dst+1 + cmp.z end+1 + bne __b3 + lda.z dst + cmp.z end + bne __b3 + // } + rts + __b3: + // *dst = c + txa + ldy #0 + sta (dst),y + // for(char* dst = str; dst!=end; dst++) + inc.z dst + bne !+ + inc.z dst+1 + !: + jmp __b2 +} +// 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. +// memcpy(void* zp($14) destination, void* zp($27) source) +memcpy: { + .label src_end = $25 + .label dst = $14 + .label src = $27 + .label source = $27 + .label destination = $14 + // src_end = (char*)source+num + lda.z source + clc + adc #<$19*$28-$28 + sta.z src_end + lda.z source+1 + adc #>$19*$28-$28 + sta.z src_end+1 + __b1: + // while(src!=src_end) + lda.z src+1 + cmp.z src_end+1 + bne __b2 + lda.z src + cmp.z src_end + bne __b2 + // } + rts + __b2: + // *dst++ = *src++ + ldy #0 + lda (src),y + sta (dst),y + // *dst++ = *src++; + inc.z dst + bne !+ + inc.z dst+1 + !: + inc.z src + bne !+ + inc.z src+1 + !: + jmp __b1 +} +// Output a NUL-terminated string at the current cursor position +// cputs(byte* zp($23) s) +cputs: { + .label s = $23 + __b1: + // c=*s++ + ldy #0 + lda (s),y + // while(c=*s++) + inc.z s + bne !+ + inc.z s+1 + !: + cmp #0 + bne __b2 + // } + rts + __b2: + // cputc(c) + jsr cputc + jmp __b1 +} +// Converts a string to uppercase. +strupr: { + .label str = printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + .label src = $14 + lda #str + sta.z src+1 + __b1: + // while(*src) + ldy #0 + lda (src),y + cmp #0 + bne __b2 + // } + rts + __b2: + // toupper(*src) + ldy #0 + lda (src),y + jsr toupper + // *src = toupper(*src) + ldy #0 + sta (src),y + // src++; + inc.z src + bne !+ + inc.z src+1 + !: + jmp __b1 +} +// Convert lowercase alphabet to uppercase +// Returns uppercase equivalent to c, if such value exists, else c remains unchanged +// toupper(byte register(A) ch) +toupper: { + // if(ch>='a' && ch<='z') + cmp #'a' + bcc __breturn + cmp #'z' + bcc __b1 + beq __b1 + rts + __b1: + // return ch + ('A'-'a'); + clc + adc #'A'-'a' + __breturn: + // } + rts +} +// Computes the length of the string str up to but not including the terminating null character. +// strlen(byte* zp($23) str) +strlen: { + .label len = $27 + .label str = $23 + .label return = $27 + lda #<0 + sta.z len + sta.z len+1 + lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + sta.z str+1 + __b1: + // while(*str) + ldy #0 + lda (str),y + cmp #0 + bne __b2 + // } + rts + __b2: + // len++; + inc.z len + bne !+ + inc.z len+1 + !: + // str++; + inc.z str + bne !+ + inc.z str+1 + !: + jmp __b1 +} +// 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) +// ultoa(dword zp(2) value, byte* zp($27) buffer) +ultoa: { + .const max_digits = $a + .label digit_value = $1f + .label buffer = $27 + .label digit = $10 + .label value = 2 + lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + sta.z buffer+1 + ldx #0 + txa + sta.z digit + __b1: + // for( char digit=0; digit= digit_value) + cpx #0 + bne __b5 + lda.z value+3 + cmp.z digit_value+3 + bcc !+ + bne __b5 + lda.z value+2 + cmp.z digit_value+2 + bcc !+ + bne __b5 + lda.z value+1 + cmp.z digit_value+1 + bcc !+ + bne __b5 + lda.z value + cmp.z digit_value + bcs __b5 + !: + __b4: + // for( char digit=0; digit= sub) + lda.z value+3 + cmp.z sub+3 + bcc !+ + bne __b2 + lda.z value+2 + cmp.z sub+2 + bcc !+ + bne __b2 + lda.z value+1 + cmp.z sub+1 + bcc !+ + bne __b2 + lda.z value + cmp.z sub + bcs __b2 + !: + // *buffer = DIGITS[digit] + lda DIGITS,x + ldy #0 + sta (buffer),y + // } + rts + __b2: + // digit++; + inx + // value -= sub + lda.z value + sec + sbc.z sub + sta.z value + lda.z value+1 + sbc.z sub+1 + sta.z value+1 + lda.z value+2 + sbc.z sub+2 + sta.z value+2 + lda.z value+3 + sbc.z sub+3 + sta.z value+3 + jmp __b1 +} +// Set the color for text output. The old color setting is returned. +// textcolor(byte register(A) color) +textcolor: { + // conio_textcolor = color + sta.z conio_textcolor + // } + rts +} +// Set the cursor to the specified position +// gotoxy(byte register(X) x, byte register(A) y) +gotoxy: { + .label __4 = $1a + .label __6 = $18 + .label __7 = $1a + .label __8 = $1a + .label offset = $1a + .label __9 = $23 + .label __10 = $1a + // if(y>CONIO_HEIGHT) + cmp #$19+1 + bcc __b1 + lda #0 + __b1: + // if(x>=CONIO_WIDTH) + cpx #$28 + bcc __b2 + ldx #0 + __b2: + // conio_cursor_x = x + stx.z conio_cursor_x + // conio_cursor_y = y + sta.z conio_cursor_y + // (unsigned int)y*CONIO_WIDTH + sta.z __8 + lda #0 + sta.z __8+1 + lda.z __8 + asl + sta.z __9 + lda.z __8+1 + rol + sta.z __9+1 + asl.z __9 + rol.z __9+1 + lda.z __10 + clc + adc.z __9 + sta.z __10 + lda.z __10+1 + adc.z __9+1 + sta.z __10+1 + asl.z __4 + rol.z __4+1 + asl.z __4 + rol.z __4+1 + asl.z __4 + rol.z __4+1 + // offset = (unsigned int)y*CONIO_WIDTH + x + txa + clc + adc.z offset + sta.z offset + bcc !+ + inc.z offset+1 + !: + // CONIO_SCREEN_TEXT + offset + lda.z offset + clc + adc #CONIO_SCREEN_TEXT + sta.z __6+1 + // conio_cursor_text = CONIO_SCREEN_TEXT + offset + // CONIO_SCREEN_COLORS + offset + clc + lda.z __7 + adc #CONIO_SCREEN_COLORS + sta.z __7+1 + // conio_cursor_color = CONIO_SCREEN_COLORS + offset + // } + rts +} +// Returns a pseudo-random number in the range of 0 to RAND_MAX (65535) +// Uses an xorshift pseudorandom number generator that hits all different values +// Information https://en.wikipedia.org/wiki/Xorshift +// Source http://www.retroprogramming.com/2017/07/xorshift-pseudorandom-numbers-in-z80.html +rand: { + .label __0 = $23 + .label __1 = $27 + .label __2 = $25 + .label return = 8 + .label return_1 = $1d + // rand_state << 7 + lda.z rand_state+1 + lsr + lda.z rand_state + ror + sta.z __0+1 + lda #0 + ror + sta.z __0 + // rand_state ^= rand_state << 7 + lda.z rand_state + eor.z __0 + sta.z rand_state + lda.z rand_state+1 + eor.z __0+1 + sta.z rand_state+1 + // rand_state >> 9 + lsr + sta.z __1 + lda #0 + sta.z __1+1 + // rand_state ^= rand_state >> 9 + lda.z rand_state + eor.z __1 + sta.z rand_state + lda.z rand_state+1 + eor.z __1+1 + sta.z rand_state+1 + // rand_state << 8 + lda.z rand_state + sta.z __2+1 + lda #0 + sta.z __2 + // rand_state ^= rand_state << 8 + lda.z rand_state + eor.z __2 + sta.z rand_state + lda.z rand_state+1 + eor.z __2+1 + sta.z rand_state+1 + // return rand_state; + lda.z rand_state + sta.z return + lda.z rand_state+1 + sta.z return+1 + // } + rts +} +// Print an unsigned int using a specific format +// printf_uint(word zp(8) uvalue) +printf_uint: { + .const format_min_length = 5 + .const format_justify_left = 0 + .const format_zero_padding = 0 + .const format_upper_case = 0 + .label uvalue = 8 + // printf_buffer.sign = format.sign_always?'+':0 + // Handle any sign + lda #0 + sta printf_buffer + // utoa(uvalue, printf_buffer.digits, format.radix) + // Format number into buffer + jsr utoa + // printf_number_buffer(printf_buffer, format) + lda printf_buffer + sta.z printf_number_buffer.buffer_sign + // Print using format + lda #format_upper_case + sta.z printf_number_buffer.format_upper_case + lda #format_zero_padding + sta.z printf_number_buffer.format_zero_padding + lda #format_justify_left + sta.z printf_number_buffer.format_justify_left + ldx #format_min_length + jsr printf_number_buffer + // } + rts +} +// 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) +// utoa(word zp(8) value, byte* zp($14) buffer) +utoa: { + .const max_digits = 5 + .label digit_value = $27 + .label buffer = $14 + .label digit = $13 + .label value = 8 + lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + sta.z buffer+1 + ldx #0 + txa + sta.z digit + __b1: + // for( char digit=0; digit= digit_value) + cpx #0 + bne __b5 + cmp.z value+1 + bne !+ + lda.z digit_value + cmp.z value + beq __b5 + !: + bcc __b5 + __b4: + // for( char digit=0; digit= sub) + lda.z sub+1 + cmp.z value+1 + bne !+ + lda.z sub + cmp.z value + beq __b2 + !: + bcc __b2 + // *buffer = DIGITS[digit] + lda DIGITS,x + ldy #0 + sta (buffer),y + // } + rts + __b2: + // digit++; + inx + // value -= sub + lda.z value + sec + sbc.z sub + sta.z value + lda.z value+1 + sbc.z sub+1 + sta.z value+1 + jmp __b1 +} +// clears the screen and moves the cursor to the upper left-hand corner of the screen. +clrscr: { + .label line_text = $14 + .label line_cols = $18 + lda #CONIO_SCREEN_COLORS + sta.z line_cols+1 + lda #CONIO_SCREEN_TEXT + sta.z line_text+1 + ldx #0 + __b1: + // for( char l=0;lCONIO_SCREEN_TEXT + sta.z conio_cursor_text+1 + // conio_cursor_color = CONIO_SCREEN_COLORS + lda #CONIO_SCREEN_COLORS + sta.z conio_cursor_color+1 + // } + rts + __b2: + ldy #0 + __b3: + // for( char c=0;c=(signed byte) 0) goto printf_number_buffer::@21 + to:printf_number_buffer::@1 +printf_number_buffer::@21: scope:[printf_number_buffer] from printf_number_buffer::@13 + [68] phi() + to:printf_number_buffer::@1 +printf_number_buffer::@1: scope:[printf_number_buffer] from printf_number_buffer printf_number_buffer::@13 printf_number_buffer::@21 + [69] (signed byte) printf_number_buffer::padding#10 ← phi( printf_number_buffer/(signed byte) 0 printf_number_buffer::@21/(signed byte) printf_number_buffer::padding#1 printf_number_buffer::@13/(signed byte) 0 ) + [70] if((byte) 0!=(byte) printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@2 + to:printf_number_buffer::@17 +printf_number_buffer::@17: scope:[printf_number_buffer] from printf_number_buffer::@1 + [71] if((byte) 0!=(byte) printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2 + to:printf_number_buffer::@16 +printf_number_buffer::@16: scope:[printf_number_buffer] from printf_number_buffer::@17 + [72] if((signed byte) 0!=(signed byte) printf_number_buffer::padding#10) goto printf_number_buffer::@8 + to:printf_number_buffer::@2 +printf_number_buffer::@8: scope:[printf_number_buffer] from printf_number_buffer::@16 + [73] (byte) printf_padding::length#0 ← (byte)(signed byte) printf_number_buffer::padding#10 + [74] call printf_padding + to:printf_number_buffer::@2 +printf_number_buffer::@2: scope:[printf_number_buffer] from printf_number_buffer::@1 printf_number_buffer::@16 printf_number_buffer::@17 printf_number_buffer::@8 + [75] if((byte) 0==(byte) printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@3 + to:printf_number_buffer::@9 +printf_number_buffer::@9: scope:[printf_number_buffer] from printf_number_buffer::@2 + [76] (byte) cputc::c#2 ← (byte) printf_number_buffer::buffer_sign#10 + [77] call cputc + to:printf_number_buffer::@3 +printf_number_buffer::@3: scope:[printf_number_buffer] from printf_number_buffer::@2 printf_number_buffer::@9 + [78] if((byte) 0==(byte) printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4 + to:printf_number_buffer::@18 +printf_number_buffer::@18: scope:[printf_number_buffer] from printf_number_buffer::@3 + [79] if((signed byte) 0!=(signed byte) printf_number_buffer::padding#10) goto printf_number_buffer::@10 + to:printf_number_buffer::@4 +printf_number_buffer::@10: scope:[printf_number_buffer] from printf_number_buffer::@18 + [80] (byte) printf_padding::length#1 ← (byte)(signed byte) printf_number_buffer::padding#10 + [81] call printf_padding + to:printf_number_buffer::@4 +printf_number_buffer::@4: scope:[printf_number_buffer] from printf_number_buffer::@10 printf_number_buffer::@18 printf_number_buffer::@3 + [82] if((byte) 0==(byte) printf_number_buffer::format_upper_case#10) goto printf_number_buffer::@5 + to:printf_number_buffer::@11 +printf_number_buffer::@11: scope:[printf_number_buffer] from printf_number_buffer::@4 + [83] phi() + [84] call strupr + to:printf_number_buffer::@5 +printf_number_buffer::@5: scope:[printf_number_buffer] from printf_number_buffer::@11 printf_number_buffer::@4 + [85] phi() + [86] call cputs + to:printf_number_buffer::@15 +printf_number_buffer::@15: scope:[printf_number_buffer] from printf_number_buffer::@5 + [87] if((byte) 0==(byte) printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@return + to:printf_number_buffer::@20 +printf_number_buffer::@20: scope:[printf_number_buffer] from printf_number_buffer::@15 + [88] if((byte) 0!=(byte) printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@return + to:printf_number_buffer::@19 +printf_number_buffer::@19: scope:[printf_number_buffer] from printf_number_buffer::@20 + [89] if((signed byte) 0!=(signed byte) printf_number_buffer::padding#10) goto printf_number_buffer::@12 + to:printf_number_buffer::@return +printf_number_buffer::@12: scope:[printf_number_buffer] from printf_number_buffer::@19 + [90] (byte) printf_padding::length#2 ← (byte)(signed byte) printf_number_buffer::padding#10 + [91] call printf_padding + to:printf_number_buffer::@return +printf_number_buffer::@return: scope:[printf_number_buffer] from printf_number_buffer::@12 printf_number_buffer::@15 printf_number_buffer::@19 printf_number_buffer::@20 + [92] return + to:@return + +(void()) printf_padding((byte) printf_padding::pad , (byte) printf_padding::length) +printf_padding: scope:[printf_padding] from printf_number_buffer::@10 printf_number_buffer::@12 printf_number_buffer::@8 + [93] (byte) printf_padding::pad#5 ← phi( printf_number_buffer::@10/(byte) '0' printf_number_buffer::@12/(byte) ' ' printf_number_buffer::@8/(byte) ' ' ) + [93] (byte) printf_padding::length#4 ← phi( printf_number_buffer::@10/(byte) printf_padding::length#1 printf_number_buffer::@12/(byte) printf_padding::length#2 printf_number_buffer::@8/(byte) printf_padding::length#0 ) + to:printf_padding::@1 +printf_padding::@1: scope:[printf_padding] from printf_padding printf_padding::@3 + [94] (byte) printf_padding::i#2 ← phi( printf_padding/(byte) 0 printf_padding::@3/(byte) printf_padding::i#1 ) + [95] if((byte) printf_padding::i#2<(byte) printf_padding::length#4) goto printf_padding::@2 + to:printf_padding::@return +printf_padding::@return: scope:[printf_padding] from printf_padding::@1 + [96] return + to:@return +printf_padding::@2: scope:[printf_padding] from printf_padding::@1 + [97] (byte) cputc::c#1 ← (byte) printf_padding::pad#5 + [98] call cputc + to:printf_padding::@3 +printf_padding::@3: scope:[printf_padding] from printf_padding::@2 + [99] (byte) printf_padding::i#1 ← ++ (byte) printf_padding::i#2 + to:printf_padding::@1 + +(void()) cputc((byte) cputc::c) +cputc: scope:[cputc] from cputs::@2 printf_number_buffer::@9 printf_padding::@2 + [100] (byte) cputc::c#3 ← phi( cputs::@2/(byte) cputc::c#0 printf_number_buffer::@9/(byte) cputc::c#2 printf_padding::@2/(byte) cputc::c#1 ) + [101] if((byte) cputc::c#3==(byte) ' +') goto cputc::@1 + to:cputc::@2 +cputc::@2: scope:[cputc] from cputc + [102] *((byte*) conio_cursor_text) ← (byte) cputc::c#3 + [103] (byte*) conio_cursor_text ← ++ (byte*) conio_cursor_text + [104] *((byte*) conio_cursor_color) ← (byte) conio_textcolor + [105] (byte*) conio_cursor_color ← ++ (byte*) conio_cursor_color + [106] (byte) conio_cursor_x ← ++ (byte) conio_cursor_x + [107] if((byte) conio_cursor_x!=(byte) $28) goto cputc::@return + to:cputc::@3 +cputc::@3: scope:[cputc] from cputc::@2 + [108] (byte) conio_cursor_x ← (byte) 0 + [109] (byte) conio_cursor_y ← ++ (byte) conio_cursor_y + [110] call cscroll + to:cputc::@return +cputc::@return: scope:[cputc] from cputc::@1 cputc::@2 cputc::@3 + [111] return + to:@return +cputc::@1: scope:[cputc] from cputc + [112] phi() + [113] call cputln + to:cputc::@return + +(void()) cputln() +cputln: scope:[cputln] from cputc::@1 + [114] (byte*~) cputln::$0 ← (byte*) conio_cursor_text - (byte) conio_cursor_x + [115] (byte*~) cputln::$1 ← (byte*~) cputln::$0 + (byte) $28 + [116] (byte*) conio_cursor_text ← (byte*~) cputln::$1 + [117] (byte*~) cputln::$2 ← (byte*) conio_cursor_color - (byte) conio_cursor_x + [118] (byte*~) cputln::$3 ← (byte*~) cputln::$2 + (byte) $28 + [119] (byte*) conio_cursor_color ← (byte*~) cputln::$3 + [120] (byte) conio_cursor_x ← (byte) 0 + [121] (byte) conio_cursor_y ← ++ (byte) conio_cursor_y + [122] call cscroll + to:cputln::@return +cputln::@return: scope:[cputln] from cputln + [123] return + to:@return + +(void()) cscroll() +cscroll: scope:[cscroll] from cputc::@3 cputln + [124] if((byte) conio_cursor_y!=(byte) $19) goto cscroll::@return + to:cscroll::@1 +cscroll::@1: scope:[cscroll] from cscroll + [125] phi() + [126] call memcpy + to:cscroll::@2 +cscroll::@2: scope:[cscroll] from cscroll::@1 + [127] phi() + [128] call memcpy + to:cscroll::@3 +cscroll::@3: scope:[cscroll] from cscroll::@2 + [129] phi() + [130] call memset + to:cscroll::@4 +cscroll::@4: scope:[cscroll] from cscroll::@3 + [131] (byte) memset::c#1 ← (byte) conio_textcolor + [132] call memset + to:cscroll::@5 +cscroll::@5: scope:[cscroll] from cscroll::@4 + [133] (byte*~) cscroll::$7 ← (byte*) conio_cursor_text - (byte) $28 + [134] (byte*) conio_cursor_text ← (byte*~) cscroll::$7 + [135] (byte*~) cscroll::$8 ← (byte*) conio_cursor_color - (byte) $28 + [136] (byte*) conio_cursor_color ← (byte*~) cscroll::$8 + [137] (byte) conio_cursor_y ← -- (byte) conio_cursor_y + to:cscroll::@return +cscroll::@return: scope:[cscroll] from cscroll cscroll::@5 + [138] return + to:@return + +(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) +memset: scope:[memset] from cscroll::@3 cscroll::@4 + [139] (byte) memset::c#4 ← phi( cscroll::@3/(byte) ' ' cscroll::@4/(byte) memset::c#1 ) + [139] (void*) memset::str#3 ← phi( cscroll::@3/(void*)(const nomodify byte*) CONIO_SCREEN_TEXT+(word)(number) $19*(number) $28-(byte) $28 cscroll::@4/(void*)(const nomodify byte*) CONIO_SCREEN_COLORS+(word)(number) $19*(number) $28-(byte) $28 ) + to:memset::@1 +memset::@1: scope:[memset] from memset + [140] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (byte) $28 + [141] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3 + to:memset::@2 +memset::@2: scope:[memset] from memset::@1 memset::@3 + [142] (byte*) memset::dst#2 ← phi( memset::@1/(byte*) memset::dst#4 memset::@3/(byte*) memset::dst#1 ) + [143] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 + to:memset::@return +memset::@return: scope:[memset] from memset::@2 + [144] return + to:@return +memset::@3: scope:[memset] from memset::@2 + [145] *((byte*) memset::dst#2) ← (byte) memset::c#4 + [146] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 + to:memset::@2 + +(void*()) memcpy((void*) memcpy::destination , (void*) memcpy::source , (word) memcpy::num) +memcpy: scope:[memcpy] from cscroll::@1 cscroll::@2 + [147] (void*) memcpy::destination#2 ← phi( cscroll::@1/(void*)(const nomodify byte*) CONIO_SCREEN_TEXT cscroll::@2/(void*)(const nomodify byte*) CONIO_SCREEN_COLORS ) + [147] (void*) memcpy::source#2 ← phi( cscroll::@1/(void*)(const nomodify byte*) CONIO_SCREEN_TEXT+(byte) $28 cscroll::@2/(void*)(const nomodify byte*) CONIO_SCREEN_COLORS+(byte) $28 ) + [148] (byte*) memcpy::src_end#0 ← (byte*)(void*) memcpy::source#2 + (word)(number) $19*(number) $28-(number) $28 + [149] (byte*) memcpy::src#4 ← (byte*)(void*) memcpy::source#2 + [150] (byte*) memcpy::dst#4 ← (byte*)(void*) memcpy::destination#2 + to:memcpy::@1 +memcpy::@1: scope:[memcpy] from memcpy memcpy::@2 + [151] (byte*) memcpy::dst#2 ← phi( memcpy/(byte*) memcpy::dst#4 memcpy::@2/(byte*) memcpy::dst#1 ) + [151] (byte*) memcpy::src#2 ← phi( memcpy/(byte*) memcpy::src#4 memcpy::@2/(byte*) memcpy::src#1 ) + [152] if((byte*) memcpy::src#2!=(byte*) memcpy::src_end#0) goto memcpy::@2 + to:memcpy::@return +memcpy::@return: scope:[memcpy] from memcpy::@1 + [153] return + to:@return +memcpy::@2: scope:[memcpy] from memcpy::@1 + [154] *((byte*) memcpy::dst#2) ← *((byte*) memcpy::src#2) + [155] (byte*) memcpy::dst#1 ← ++ (byte*) memcpy::dst#2 + [156] (byte*) memcpy::src#1 ← ++ (byte*) memcpy::src#2 + to:memcpy::@1 + +(void()) cputs((to_nomodify byte*) cputs::s) +cputs: scope:[cputs] from main::@15 main::@7 printf_number_buffer::@5 + [157] (to_nomodify byte*) cputs::s#5 ← phi( main::@15/(const byte*) main::s1 main::@7/(const byte*) main::s printf_number_buffer::@5/(byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS ) + to:cputs::@1 +cputs::@1: scope:[cputs] from cputs cputs::@2 + [158] (to_nomodify byte*) cputs::s#4 ← phi( cputs/(to_nomodify byte*) cputs::s#5 cputs::@2/(to_nomodify byte*) cputs::s#0 ) + [159] (byte) cputs::c#1 ← *((to_nomodify byte*) cputs::s#4) + [160] (to_nomodify byte*) cputs::s#0 ← ++ (to_nomodify byte*) cputs::s#4 + [161] if((byte) 0!=(byte) cputs::c#1) goto cputs::@2 + to:cputs::@return +cputs::@return: scope:[cputs] from cputs::@1 + [162] return + to:@return +cputs::@2: scope:[cputs] from cputs::@1 + [163] (byte) cputc::c#0 ← (byte) cputs::c#1 + [164] call cputc + to:cputs::@1 + +(byte*()) strupr((byte*) strupr::str) +strupr: scope:[strupr] from printf_number_buffer::@11 + [165] phi() + to:strupr::@1 +strupr::@1: scope:[strupr] from strupr strupr::@3 + [166] (byte*) strupr::src#2 ← phi( strupr/(const byte*) strupr::str#0 strupr::@3/(byte*) strupr::src#1 ) + [167] if((byte) 0!=*((byte*) strupr::src#2)) goto strupr::@2 + to:strupr::@return +strupr::@return: scope:[strupr] from strupr::@1 + [168] return + to:@return +strupr::@2: scope:[strupr] from strupr::@1 + [169] (byte) toupper::ch#0 ← *((byte*) strupr::src#2) + [170] call toupper + [171] (byte) toupper::return#3 ← (byte) toupper::return#2 + to:strupr::@3 +strupr::@3: scope:[strupr] from strupr::@2 + [172] (byte~) strupr::$0 ← (byte) toupper::return#3 + [173] *((byte*) strupr::src#2) ← (byte~) strupr::$0 + [174] (byte*) strupr::src#1 ← ++ (byte*) strupr::src#2 + to:strupr::@1 + +(byte()) toupper((byte) toupper::ch) +toupper: scope:[toupper] from strupr::@2 + [175] if((byte) toupper::ch#0<(byte) 'a') goto toupper::@return + to:toupper::@2 +toupper::@2: scope:[toupper] from toupper + [176] if((byte) toupper::ch#0<=(byte) 'z') goto toupper::@1 + to:toupper::@return +toupper::@1: scope:[toupper] from toupper::@2 + [177] (byte) toupper::return#0 ← (byte) toupper::ch#0 + (byte) 'A'-(byte) 'a' + to:toupper::@return +toupper::@return: scope:[toupper] from toupper toupper::@1 toupper::@2 + [178] (byte) toupper::return#2 ← phi( toupper::@1/(byte) toupper::return#0 toupper/(byte) toupper::ch#0 toupper::@2/(byte) toupper::ch#0 ) + [179] return + to:@return + +(word()) strlen((byte*) strlen::str) +strlen: scope:[strlen] from printf_number_buffer::@6 + [180] phi() + to:strlen::@1 +strlen::@1: scope:[strlen] from strlen strlen::@2 + [181] (word) strlen::len#2 ← phi( strlen/(word) 0 strlen::@2/(word) strlen::len#1 ) + [181] (byte*) strlen::str#2 ← phi( strlen/(byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS strlen::@2/(byte*) strlen::str#0 ) + [182] if((byte) 0!=*((byte*) strlen::str#2)) goto strlen::@2 + to:strlen::@return +strlen::@return: scope:[strlen] from strlen::@1 + [183] return + to:@return +strlen::@2: scope:[strlen] from strlen::@1 + [184] (word) strlen::len#1 ← ++ (word) strlen::len#2 + [185] (byte*) strlen::str#0 ← ++ (byte*) strlen::str#2 + to:strlen::@1 + +(void()) ultoa((dword) ultoa::value , (byte*) ultoa::buffer , (byte) ultoa::radix) +ultoa: scope:[ultoa] from printf_ulong::@1 + [186] phi() + to:ultoa::@1 +ultoa::@1: scope:[ultoa] from ultoa ultoa::@4 + [187] (byte*) ultoa::buffer#11 ← phi( ultoa::@4/(byte*) ultoa::buffer#14 ultoa/(byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS ) + [187] (byte) ultoa::started#2 ← phi( ultoa::@4/(byte) ultoa::started#4 ultoa/(byte) 0 ) + [187] (dword) ultoa::value#2 ← phi( ultoa::@4/(dword) ultoa::value#6 ultoa/(dword) ultoa::value#1 ) + [187] (byte) ultoa::digit#2 ← phi( ultoa::@4/(byte) ultoa::digit#1 ultoa/(byte) 0 ) + [188] if((byte) ultoa::digit#2<(const byte) ultoa::max_digits#1-(byte) 1) goto ultoa::@2 + to:ultoa::@3 +ultoa::@3: scope:[ultoa] from ultoa::@1 + [189] (byte~) ultoa::$11 ← (byte)(dword) ultoa::value#2 + [190] *((byte*) ultoa::buffer#11) ← *((const byte*) DIGITS + (byte~) ultoa::$11) + [191] (byte*) ultoa::buffer#3 ← ++ (byte*) ultoa::buffer#11 + [192] *((byte*) ultoa::buffer#3) ← (byte) 0 + to:ultoa::@return +ultoa::@return: scope:[ultoa] from ultoa::@3 + [193] return + to:@return +ultoa::@2: scope:[ultoa] from ultoa::@1 + [194] (byte~) ultoa::$10 ← (byte) ultoa::digit#2 << (byte) 2 + [195] (dword) ultoa::digit_value#0 ← *((const dword*) RADIX_DECIMAL_VALUES_LONG + (byte~) ultoa::$10) + [196] if((byte) 0!=(byte) ultoa::started#2) goto ultoa::@5 + to:ultoa::@7 +ultoa::@7: scope:[ultoa] from ultoa::@2 + [197] if((dword) ultoa::value#2>=(dword) ultoa::digit_value#0) goto ultoa::@5 + to:ultoa::@4 +ultoa::@4: scope:[ultoa] from ultoa::@6 ultoa::@7 + [198] (byte*) ultoa::buffer#14 ← phi( ultoa::@7/(byte*) ultoa::buffer#11 ultoa::@6/(byte*) ultoa::buffer#4 ) + [198] (byte) ultoa::started#4 ← phi( ultoa::@7/(byte) ultoa::started#2 ultoa::@6/(byte) 1 ) + [198] (dword) ultoa::value#6 ← phi( ultoa::@7/(dword) ultoa::value#2 ultoa::@6/(dword) ultoa::value#0 ) + [199] (byte) ultoa::digit#1 ← ++ (byte) ultoa::digit#2 + to:ultoa::@1 +ultoa::@5: scope:[ultoa] from ultoa::@2 ultoa::@7 + [200] (byte*) ultoa_append::buffer#0 ← (byte*) ultoa::buffer#11 + [201] (dword) ultoa_append::value#0 ← (dword) ultoa::value#2 + [202] (dword) ultoa_append::sub#0 ← (dword) ultoa::digit_value#0 + [203] call ultoa_append + [204] (dword) ultoa_append::return#0 ← (dword) ultoa_append::value#2 + to:ultoa::@6 +ultoa::@6: scope:[ultoa] from ultoa::@5 + [205] (dword) ultoa::value#0 ← (dword) ultoa_append::return#0 + [206] (byte*) ultoa::buffer#4 ← ++ (byte*) ultoa::buffer#11 + to:ultoa::@4 + +(dword()) ultoa_append((byte*) ultoa_append::buffer , (dword) ultoa_append::value , (dword) ultoa_append::sub) +ultoa_append: scope:[ultoa_append] from ultoa::@5 + [207] phi() + to:ultoa_append::@1 +ultoa_append::@1: scope:[ultoa_append] from ultoa_append ultoa_append::@2 + [208] (byte) ultoa_append::digit#2 ← phi( ultoa_append/(byte) 0 ultoa_append::@2/(byte) ultoa_append::digit#1 ) + [208] (dword) ultoa_append::value#2 ← phi( ultoa_append/(dword) ultoa_append::value#0 ultoa_append::@2/(dword) ultoa_append::value#1 ) + [209] if((dword) ultoa_append::value#2>=(dword) ultoa_append::sub#0) goto ultoa_append::@2 + to:ultoa_append::@3 +ultoa_append::@3: scope:[ultoa_append] from ultoa_append::@1 + [210] *((byte*) ultoa_append::buffer#0) ← *((const byte*) DIGITS + (byte) ultoa_append::digit#2) + to:ultoa_append::@return +ultoa_append::@return: scope:[ultoa_append] from ultoa_append::@3 + [211] return + to:@return +ultoa_append::@2: scope:[ultoa_append] from ultoa_append::@1 + [212] (byte) ultoa_append::digit#1 ← ++ (byte) ultoa_append::digit#2 + [213] (dword) ultoa_append::value#1 ← (dword) ultoa_append::value#2 - (dword) ultoa_append::sub#0 + to:ultoa_append::@1 + +(byte()) textcolor((byte) textcolor::color) +textcolor: scope:[textcolor] from main::@14 main::@6 main::@9 + [214] (byte) textcolor::color#3 ← phi( main::@9/(const nomodify byte) LIGHT_BLUE main::@14/(const nomodify byte) WHITE main::@6/(const nomodify byte) WHITE ) + [215] (byte) conio_textcolor ← (byte) textcolor::color#3 + to:textcolor::@return +textcolor::@return: scope:[textcolor] from textcolor + [216] return + to:@return + +(void()) gotoxy((byte) gotoxy::x , (byte) gotoxy::y) +gotoxy: scope:[gotoxy] from main::@3 main::@5 + [217] (byte) gotoxy::x#4 ← phi( main::@3/(byte) gotoxy::x#2 main::@5/(byte) $1c ) + [217] (byte) gotoxy::y#4 ← phi( main::@3/(byte) gotoxy::y#2 main::@5/(byte) 0 ) + [218] if((byte) gotoxy::y#4<(byte) $19+(byte) 1) goto gotoxy::@3 + to:gotoxy::@1 +gotoxy::@3: scope:[gotoxy] from gotoxy + [219] phi() + to:gotoxy::@1 +gotoxy::@1: scope:[gotoxy] from gotoxy gotoxy::@3 + [220] (byte) gotoxy::y#5 ← phi( gotoxy::@3/(byte) gotoxy::y#4 gotoxy/(byte) 0 ) + [221] if((byte) gotoxy::x#4<(byte) $28) goto gotoxy::@4 + to:gotoxy::@2 +gotoxy::@4: scope:[gotoxy] from gotoxy::@1 + [222] phi() + to:gotoxy::@2 +gotoxy::@2: scope:[gotoxy] from gotoxy::@1 gotoxy::@4 + [223] (byte) gotoxy::x#5 ← phi( gotoxy::@4/(byte) gotoxy::x#4 gotoxy::@1/(byte) 0 ) + [224] (byte) conio_cursor_x ← (byte) gotoxy::x#5 + [225] (byte) conio_cursor_y ← (byte) gotoxy::y#5 + [226] (word~) gotoxy::$8 ← (word)(byte) gotoxy::y#5 + [227] (word~) gotoxy::$9 ← (word~) gotoxy::$8 << (byte) 2 + [228] (word~) gotoxy::$10 ← (word~) gotoxy::$9 + (word~) gotoxy::$8 + [229] (word~) gotoxy::$4 ← (word~) gotoxy::$10 << (byte) 3 + [230] (word) gotoxy::offset#0 ← (word~) gotoxy::$4 + (byte) gotoxy::x#5 + [231] (byte*~) gotoxy::$6 ← (const nomodify byte*) CONIO_SCREEN_TEXT + (word) gotoxy::offset#0 + [232] (byte*) conio_cursor_text ← (byte*~) gotoxy::$6 + [233] (byte*~) gotoxy::$7 ← (const nomodify byte*) CONIO_SCREEN_COLORS + (word) gotoxy::offset#0 + [234] (byte*) conio_cursor_color ← (byte*~) gotoxy::$7 + to:gotoxy::@return +gotoxy::@return: scope:[gotoxy] from gotoxy::@2 + [235] return + to:@return + +(word()) rand() +rand: scope:[rand] from main::@2 main::@8 + [236] (word) rand_state#9 ← phi( main::@2/(word) rand_state#10 main::@8/(word) 1 ) + [237] (word~) rand::$0 ← (word) rand_state#9 << (byte) 7 + [238] (word) rand_state#1 ← (word) rand_state#9 ^ (word~) rand::$0 + [239] (word~) rand::$1 ← (word) rand_state#1 >> (byte) 9 + [240] (word) rand_state#2 ← (word) rand_state#1 ^ (word~) rand::$1 + [241] (word~) rand::$2 ← (word) rand_state#2 << (byte) 8 + [242] (word) rand_state#10 ← (word) rand_state#2 ^ (word~) rand::$2 + [243] (word) rand::return#0 ← (word) rand_state#10 + to:rand::@return +rand::@return: scope:[rand] from rand + [244] return + to:@return + +(void()) printf_uint((word) printf_uint::uvalue , (byte) printf_uint::format_min_length , (byte) printf_uint::format_justify_left , (byte) printf_uint::format_sign_always , (byte) printf_uint::format_zero_padding , (byte) printf_uint::format_upper_case , (byte) printf_uint::format_radix) +printf_uint: scope:[printf_uint] from main::@12 + [245] phi() + to:printf_uint::@1 +printf_uint::@1: scope:[printf_uint] from printf_uint + [246] *((byte*)&(struct printf_buffer_number) printf_buffer) ← (byte) 0 + [247] (word) utoa::value#1 ← (word) printf_uint::uvalue#0 + [248] call utoa + to:printf_uint::@2 +printf_uint::@2: scope:[printf_uint] from printf_uint::@1 + [249] (byte) printf_number_buffer::buffer_sign#1 ← *((byte*)&(struct printf_buffer_number) printf_buffer) + [250] call printf_number_buffer + to:printf_uint::@return +printf_uint::@return: scope:[printf_uint] from printf_uint::@2 + [251] return + to:@return + +(void()) utoa((word) utoa::value , (byte*) utoa::buffer , (byte) utoa::radix) +utoa: scope:[utoa] from printf_uint::@1 + [252] phi() + to:utoa::@1 +utoa::@1: scope:[utoa] from utoa utoa::@4 + [253] (byte*) utoa::buffer#11 ← phi( utoa::@4/(byte*) utoa::buffer#14 utoa/(byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS ) + [253] (byte) utoa::started#2 ← phi( utoa::@4/(byte) utoa::started#4 utoa/(byte) 0 ) + [253] (word) utoa::value#2 ← phi( utoa::@4/(word) utoa::value#6 utoa/(word) utoa::value#1 ) + [253] (byte) utoa::digit#2 ← phi( utoa::@4/(byte) utoa::digit#1 utoa/(byte) 0 ) + [254] if((byte) utoa::digit#2<(const byte) utoa::max_digits#1-(byte) 1) goto utoa::@2 + to:utoa::@3 +utoa::@3: scope:[utoa] from utoa::@1 + [255] (byte~) utoa::$11 ← (byte)(word) utoa::value#2 + [256] *((byte*) utoa::buffer#11) ← *((const byte*) DIGITS + (byte~) utoa::$11) + [257] (byte*) utoa::buffer#3 ← ++ (byte*) utoa::buffer#11 + [258] *((byte*) utoa::buffer#3) ← (byte) 0 + to:utoa::@return +utoa::@return: scope:[utoa] from utoa::@3 + [259] return + to:@return +utoa::@2: scope:[utoa] from utoa::@1 + [260] (byte~) utoa::$10 ← (byte) utoa::digit#2 << (byte) 1 + [261] (word) utoa::digit_value#0 ← *((const word*) RADIX_DECIMAL_VALUES + (byte~) utoa::$10) + [262] if((byte) 0!=(byte) utoa::started#2) goto utoa::@5 + to:utoa::@7 +utoa::@7: scope:[utoa] from utoa::@2 + [263] if((word) utoa::value#2>=(word) utoa::digit_value#0) goto utoa::@5 + to:utoa::@4 +utoa::@4: scope:[utoa] from utoa::@6 utoa::@7 + [264] (byte*) utoa::buffer#14 ← phi( utoa::@7/(byte*) utoa::buffer#11 utoa::@6/(byte*) utoa::buffer#4 ) + [264] (byte) utoa::started#4 ← phi( utoa::@7/(byte) utoa::started#2 utoa::@6/(byte) 1 ) + [264] (word) utoa::value#6 ← phi( utoa::@7/(word) utoa::value#2 utoa::@6/(word) utoa::value#0 ) + [265] (byte) utoa::digit#1 ← ++ (byte) utoa::digit#2 + to:utoa::@1 +utoa::@5: scope:[utoa] from utoa::@2 utoa::@7 + [266] (byte*) utoa_append::buffer#0 ← (byte*) utoa::buffer#11 + [267] (word) utoa_append::value#0 ← (word) utoa::value#2 + [268] (word) utoa_append::sub#0 ← (word) utoa::digit_value#0 + [269] call utoa_append + [270] (word) utoa_append::return#0 ← (word) utoa_append::value#2 + to:utoa::@6 +utoa::@6: scope:[utoa] from utoa::@5 + [271] (word) utoa::value#0 ← (word) utoa_append::return#0 + [272] (byte*) utoa::buffer#4 ← ++ (byte*) utoa::buffer#11 + to:utoa::@4 + +(word()) utoa_append((byte*) utoa_append::buffer , (word) utoa_append::value , (word) utoa_append::sub) +utoa_append: scope:[utoa_append] from utoa::@5 + [273] phi() + to:utoa_append::@1 +utoa_append::@1: scope:[utoa_append] from utoa_append utoa_append::@2 + [274] (byte) utoa_append::digit#2 ← phi( utoa_append/(byte) 0 utoa_append::@2/(byte) utoa_append::digit#1 ) + [274] (word) utoa_append::value#2 ← phi( utoa_append/(word) utoa_append::value#0 utoa_append::@2/(word) utoa_append::value#1 ) + [275] if((word) utoa_append::value#2>=(word) utoa_append::sub#0) goto utoa_append::@2 + to:utoa_append::@3 +utoa_append::@3: scope:[utoa_append] from utoa_append::@1 + [276] *((byte*) utoa_append::buffer#0) ← *((const byte*) DIGITS + (byte) utoa_append::digit#2) + to:utoa_append::@return +utoa_append::@return: scope:[utoa_append] from utoa_append::@3 + [277] return + to:@return +utoa_append::@2: scope:[utoa_append] from utoa_append::@1 + [278] (byte) utoa_append::digit#1 ← ++ (byte) utoa_append::digit#2 + [279] (word) utoa_append::value#1 ← (word) utoa_append::value#2 - (word) utoa_append::sub#0 + to:utoa_append::@1 + +(void()) clrscr() +clrscr: scope:[clrscr] from main + [280] phi() + to:clrscr::@1 +clrscr::@1: scope:[clrscr] from clrscr clrscr::@5 + [281] (byte*) clrscr::line_cols#5 ← phi( clrscr/(const nomodify byte*) CONIO_SCREEN_COLORS clrscr::@5/(byte*) clrscr::line_cols#1 ) + [281] (byte*) clrscr::line_text#5 ← phi( clrscr/(const nomodify byte*) CONIO_SCREEN_TEXT clrscr::@5/(byte*) clrscr::line_text#1 ) + [281] (byte) clrscr::l#2 ← phi( clrscr/(byte) 0 clrscr::@5/(byte) clrscr::l#1 ) + [282] if((byte) clrscr::l#2<(byte) $19) goto clrscr::@3 + to:clrscr::@2 +clrscr::@2: scope:[clrscr] from clrscr::@1 + [283] (byte) conio_cursor_x ← (byte) 0 + [284] (byte) conio_cursor_y ← (byte) 0 + [285] (byte*) conio_cursor_text ← (const nomodify byte*) CONIO_SCREEN_TEXT + [286] (byte*) conio_cursor_color ← (const nomodify byte*) CONIO_SCREEN_COLORS + to:clrscr::@return +clrscr::@return: scope:[clrscr] from clrscr::@2 + [287] return + to:@return +clrscr::@3: scope:[clrscr] from clrscr::@1 clrscr::@4 + [288] (byte) clrscr::c#2 ← phi( clrscr::@1/(byte) 0 clrscr::@4/(byte) clrscr::c#1 ) + [289] if((byte) clrscr::c#2<(byte) $28) goto clrscr::@4 + to:clrscr::@5 +clrscr::@5: scope:[clrscr] from clrscr::@3 + [290] (byte*) clrscr::line_text#1 ← (byte*) clrscr::line_text#5 + (byte) $28 + [291] (byte*) clrscr::line_cols#1 ← (byte*) clrscr::line_cols#5 + (byte) $28 + [292] (byte) clrscr::l#1 ← ++ (byte) clrscr::l#2 + to:clrscr::@1 +clrscr::@4: scope:[clrscr] from clrscr::@3 + [293] *((byte*) clrscr::line_text#5 + (byte) clrscr::c#2) ← (byte) ' ' + [294] *((byte*) clrscr::line_cols#5 + (byte) clrscr::c#2) ← (byte) conio_textcolor + [295] (byte) clrscr::c#1 ← ++ (byte) clrscr::c#2 + to:clrscr::@3 diff --git a/src/test/ref/rand-1.log b/src/test/ref/rand-1.log new file mode 100644 index 000000000..db9d12471 --- /dev/null +++ b/src/test/ref/rand-1.log @@ -0,0 +1,12595 @@ +Fixing struct type size struct printf_buffer_number to 12 +Fixing struct type size struct printf_buffer_number to 12 +Fixing struct type SIZE_OF struct printf_buffer_number to 12 +Fixing struct type SIZE_OF struct printf_buffer_number to 12 +Added struct type cast to parameter value list call printf_uint (word) main::rnd (struct printf_format_number){ (byte) 5, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (const byte) DECIMAL } +Added struct type cast to parameter value list call printf_ulong (dword) main::cnt (struct printf_format_number){ (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (const byte) DECIMAL } +Inlined call (byte~) vicSelectGfxBank::$0 ← call toDd00 (byte*) vicSelectGfxBank::gfx +Eliminating unused variable with no statement (void~) main::$2 +Eliminating unused variable with no statement (void~) main::$7 +Eliminating unused variable with no statement (void~) main::$11 + +CONTROL FLOW GRAPH SSA +@begin: scope:[] from + to:@1 + +(byte()) toupper((byte) toupper::ch) +toupper: scope:[toupper] from strupr::@2 + (byte) toupper::ch#1 ← phi( strupr::@2/(byte) toupper::ch#0 ) + (bool~) toupper::$0 ← (byte) toupper::ch#1 >= (byte) 'a' + (bool~) toupper::$1 ← (byte) toupper::ch#1 <= (byte) 'z' + (bool~) toupper::$2 ← (bool~) toupper::$0 && (bool~) toupper::$1 + if((bool~) toupper::$2) goto toupper::@1 + to:toupper::@2 +toupper::@1: scope:[toupper] from toupper + (byte) toupper::ch#2 ← phi( toupper/(byte) toupper::ch#1 ) + (byte~) toupper::$3 ← (byte) toupper::ch#2 + (byte) 'A'-(byte) 'a' + (byte) toupper::return#0 ← (byte~) toupper::$3 + to:toupper::@return +toupper::@2: scope:[toupper] from toupper + (byte) toupper::ch#3 ← phi( toupper/(byte) toupper::ch#1 ) + (byte) toupper::return#1 ← (byte) toupper::ch#3 + to:toupper::@return +toupper::@return: scope:[toupper] from toupper::@1 toupper::@2 + (byte) toupper::return#4 ← phi( toupper::@1/(byte) toupper::return#0 toupper::@2/(byte) toupper::return#1 ) + (byte) toupper::return#2 ← (byte) toupper::return#4 + return + to:@return + +(void*()) memcpy((void*) memcpy::destination , (void*) memcpy::source , (word) memcpy::num) +memcpy: scope:[memcpy] from cscroll::@3 cscroll::@4 + (word) memcpy::num#2 ← phi( cscroll::@3/(word) memcpy::num#0 cscroll::@4/(word) memcpy::num#1 ) + (void*) memcpy::destination#2 ← phi( cscroll::@3/(void*) memcpy::destination#0 cscroll::@4/(void*) memcpy::destination#1 ) + (void*) memcpy::source#2 ← phi( cscroll::@3/(void*) memcpy::source#0 cscroll::@4/(void*) memcpy::source#1 ) + (byte*) memcpy::src#0 ← ((byte*)) (void*) memcpy::source#2 + (byte*) memcpy::dst#0 ← ((byte*)) (void*) memcpy::destination#2 + (byte*~) memcpy::$2 ← (byte*)(void*) memcpy::source#2 + (byte*~) memcpy::$0 ← (byte*~) memcpy::$2 + (word) memcpy::num#2 + (byte*) memcpy::src_end#0 ← (byte*~) memcpy::$0 + to:memcpy::@1 +memcpy::@1: scope:[memcpy] from memcpy memcpy::@2 + (void*) memcpy::destination#4 ← phi( memcpy/(void*) memcpy::destination#2 memcpy::@2/(void*) memcpy::destination#5 ) + (byte*) memcpy::dst#3 ← phi( memcpy/(byte*) memcpy::dst#0 memcpy::@2/(byte*) memcpy::dst#1 ) + (byte*) memcpy::src_end#1 ← phi( memcpy/(byte*) memcpy::src_end#0 memcpy::@2/(byte*) memcpy::src_end#2 ) + (byte*) memcpy::src#2 ← phi( memcpy/(byte*) memcpy::src#0 memcpy::@2/(byte*) memcpy::src#1 ) + (bool~) memcpy::$1 ← (byte*) memcpy::src#2 != (byte*) memcpy::src_end#1 + if((bool~) memcpy::$1) goto memcpy::@2 + to:memcpy::@3 +memcpy::@2: scope:[memcpy] from memcpy::@1 + (void*) memcpy::destination#5 ← phi( memcpy::@1/(void*) memcpy::destination#4 ) + (byte*) memcpy::src_end#2 ← phi( memcpy::@1/(byte*) memcpy::src_end#1 ) + (byte*) memcpy::dst#2 ← phi( memcpy::@1/(byte*) memcpy::dst#3 ) + (byte*) memcpy::src#3 ← phi( memcpy::@1/(byte*) memcpy::src#2 ) + *((byte*) memcpy::dst#2) ← *((byte*) memcpy::src#3) + (byte*) memcpy::dst#1 ← ++ (byte*) memcpy::dst#2 + (byte*) memcpy::src#1 ← ++ (byte*) memcpy::src#3 + to:memcpy::@1 +memcpy::@3: scope:[memcpy] from memcpy::@1 + (void*) memcpy::destination#3 ← phi( memcpy::@1/(void*) memcpy::destination#4 ) + (void*) memcpy::return#0 ← (void*) memcpy::destination#3 + to:memcpy::@return +memcpy::@return: scope:[memcpy] from memcpy::@3 + (void*) memcpy::return#4 ← phi( memcpy::@3/(void*) memcpy::return#0 ) + (void*) memcpy::return#1 ← (void*) memcpy::return#4 + return + to:@return + +(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) +memset: scope:[memset] from cscroll::@5 cscroll::@6 + (byte) memset::c#5 ← phi( cscroll::@5/(byte) memset::c#0 cscroll::@6/(byte) memset::c#1 ) + (void*) memset::str#4 ← phi( cscroll::@5/(void*) memset::str#0 cscroll::@6/(void*) memset::str#1 ) + (word) memset::num#2 ← phi( cscroll::@5/(word) memset::num#0 cscroll::@6/(word) memset::num#1 ) + (bool~) memset::$0 ← (word) memset::num#2 > (number) 0 + (bool~) memset::$1 ← ! (bool~) memset::$0 + if((bool~) memset::$1) goto memset::@1 + to:memset::@2 +memset::@1: scope:[memset] from memset memset::@3 + (void*) memset::str#2 ← phi( memset/(void*) memset::str#4 memset::@3/(void*) memset::str#5 ) + (void*) memset::return#0 ← (void*) memset::str#2 + to:memset::@return +memset::@2: scope:[memset] from memset + (byte) memset::c#4 ← phi( memset/(byte) memset::c#5 ) + (word) memset::num#3 ← phi( memset/(word) memset::num#2 ) + (void*) memset::str#3 ← phi( memset/(void*) memset::str#4 ) + (byte*~) memset::$4 ← (byte*)(void*) memset::str#3 + (byte*~) memset::$2 ← (byte*~) memset::$4 + (word) memset::num#3 + (byte*) memset::end#0 ← (byte*~) memset::$2 + (byte*) memset::dst#0 ← ((byte*)) (void*) memset::str#3 + to:memset::@3 +memset::@3: scope:[memset] from memset::@2 memset::@4 + (byte) memset::c#3 ← phi( memset::@2/(byte) memset::c#4 memset::@4/(byte) memset::c#2 ) + (void*) memset::str#5 ← phi( memset::@2/(void*) memset::str#3 memset::@4/(void*) memset::str#6 ) + (byte*) memset::end#1 ← phi( memset::@2/(byte*) memset::end#0 memset::@4/(byte*) memset::end#2 ) + (byte*) memset::dst#2 ← phi( memset::@2/(byte*) memset::dst#0 memset::@4/(byte*) memset::dst#1 ) + (bool~) memset::$3 ← (byte*) memset::dst#2 != (byte*) memset::end#1 + if((bool~) memset::$3) goto memset::@4 + to:memset::@1 +memset::@4: scope:[memset] from memset::@3 + (void*) memset::str#6 ← phi( memset::@3/(void*) memset::str#5 ) + (byte*) memset::end#2 ← phi( memset::@3/(byte*) memset::end#1 ) + (byte*) memset::dst#3 ← phi( memset::@3/(byte*) memset::dst#2 ) + (byte) memset::c#2 ← phi( memset::@3/(byte) memset::c#3 ) + *((byte*) memset::dst#3) ← (byte) memset::c#2 + (byte*) memset::dst#1 ← ++ (byte*) memset::dst#3 + to:memset::@3 +memset::@return: scope:[memset] from memset::@1 + (void*) memset::return#4 ← phi( memset::@1/(void*) memset::return#0 ) + (void*) memset::return#1 ← (void*) memset::return#4 + return + to:@return + +(byte*()) strupr((byte*) strupr::str) +strupr: scope:[strupr] from printf_number_buffer::@11 + (byte*) strupr::str#1 ← phi( printf_number_buffer::@11/(byte*) strupr::str#0 ) + (byte*) strupr::src#0 ← (byte*) strupr::str#1 + to:strupr::@1 +strupr::@1: scope:[strupr] from strupr strupr::@4 + (byte*) strupr::str#3 ← phi( strupr/(byte*) strupr::str#1 strupr::@4/(byte*) strupr::str#4 ) + (byte*) strupr::src#2 ← phi( strupr/(byte*) strupr::src#0 strupr::@4/(byte*) strupr::src#1 ) + (bool~) strupr::$1 ← (number) 0 != *((byte*) strupr::src#2) + if((bool~) strupr::$1) goto strupr::@2 + to:strupr::@3 +strupr::@2: scope:[strupr] from strupr::@1 + (byte*) strupr::str#5 ← phi( strupr::@1/(byte*) strupr::str#3 ) + (byte*) strupr::src#3 ← phi( strupr::@1/(byte*) strupr::src#2 ) + (byte) toupper::ch#0 ← *((byte*) strupr::src#3) + call toupper + (byte) toupper::return#3 ← (byte) toupper::return#2 + to:strupr::@4 +strupr::@4: scope:[strupr] from strupr::@2 + (byte*) strupr::str#4 ← phi( strupr::@2/(byte*) strupr::str#5 ) + (byte*) strupr::src#4 ← phi( strupr::@2/(byte*) strupr::src#3 ) + (byte) toupper::return#5 ← phi( strupr::@2/(byte) toupper::return#3 ) + (byte~) strupr::$0 ← (byte) toupper::return#5 + *((byte*) strupr::src#4) ← (byte~) strupr::$0 + (byte*) strupr::src#1 ← ++ (byte*) strupr::src#4 + to:strupr::@1 +strupr::@3: scope:[strupr] from strupr::@1 + (byte*) strupr::str#2 ← phi( strupr::@1/(byte*) strupr::str#3 ) + (byte*) strupr::return#0 ← (byte*) strupr::str#2 + to:strupr::@return +strupr::@return: scope:[strupr] from strupr::@3 + (byte*) strupr::return#3 ← phi( strupr::@3/(byte*) strupr::return#0 ) + (byte*) strupr::return#1 ← (byte*) strupr::return#3 + return + to:@return + +(word()) strlen((byte*) strlen::str) +strlen: scope:[strlen] from printf_number_buffer::@6 + (byte*) strlen::str#4 ← phi( printf_number_buffer::@6/(byte*) strlen::str#1 ) + (word) strlen::len#0 ← (word) 0 + to:strlen::@1 +strlen::@1: scope:[strlen] from strlen strlen::@2 + (word) strlen::len#4 ← phi( strlen/(word) strlen::len#0 strlen::@2/(word) strlen::len#1 ) + (byte*) strlen::str#2 ← phi( strlen/(byte*) strlen::str#4 strlen::@2/(byte*) strlen::str#0 ) + (bool~) strlen::$0 ← (number) 0 != *((byte*) strlen::str#2) + if((bool~) strlen::$0) goto strlen::@2 + to:strlen::@3 +strlen::@2: scope:[strlen] from strlen::@1 + (byte*) strlen::str#3 ← phi( strlen::@1/(byte*) strlen::str#2 ) + (word) strlen::len#2 ← phi( strlen::@1/(word) strlen::len#4 ) + (word) strlen::len#1 ← ++ (word) strlen::len#2 + (byte*) strlen::str#0 ← ++ (byte*) strlen::str#3 + to:strlen::@1 +strlen::@3: scope:[strlen] from strlen::@1 + (word) strlen::len#3 ← phi( strlen::@1/(word) strlen::len#4 ) + (word) strlen::return#0 ← (word) strlen::len#3 + to:strlen::@return +strlen::@return: scope:[strlen] from strlen::@3 + (word) strlen::return#3 ← phi( strlen::@3/(word) strlen::return#0 ) + (word) strlen::return#1 ← (word) strlen::return#3 + return + to:@return + +(void()) utoa((word) utoa::value , (byte*) utoa::buffer , (byte) utoa::radix) +utoa: scope:[utoa] from printf_uint::@3 + (byte*) utoa::buffer#21 ← phi( printf_uint::@3/(byte*) utoa::buffer#5 ) + (word) utoa::value#12 ← phi( printf_uint::@3/(word) utoa::value#1 ) + (byte) utoa::radix#1 ← phi( printf_uint::@3/(byte) utoa::radix#0 ) + (byte) utoa::max_digits#0 ← (byte) 0 + (word*) utoa::digit_values#0 ← (word*) 0 + (bool~) utoa::$0 ← (byte) utoa::radix#1 == (const byte) DECIMAL + if((bool~) utoa::$0) goto utoa::@1 + to:utoa::@6 +utoa::@1: scope:[utoa] from utoa + (byte*) utoa::buffer#17 ← phi( utoa/(byte*) utoa::buffer#21 ) + (word) utoa::value#8 ← phi( utoa/(word) utoa::value#12 ) + (byte) utoa::max_digits#1 ← (number) 5 + (word*) utoa::digit_values#1 ← (const word*) RADIX_DECIMAL_VALUES + to:utoa::@5 +utoa::@6: scope:[utoa] from utoa + (word) utoa::value#13 ← phi( utoa/(word) utoa::value#12 ) + (byte*) utoa::buffer#16 ← phi( utoa/(byte*) utoa::buffer#21 ) + (byte) utoa::radix#2 ← phi( utoa/(byte) utoa::radix#1 ) + (bool~) utoa::$1 ← (byte) utoa::radix#2 == (const byte) HEXADECIMAL + if((bool~) utoa::$1) goto utoa::@2 + to:utoa::@7 +utoa::@2: scope:[utoa] from utoa::@6 + (byte*) utoa::buffer#18 ← phi( utoa::@6/(byte*) utoa::buffer#16 ) + (word) utoa::value#9 ← phi( utoa::@6/(word) utoa::value#13 ) + (byte) utoa::max_digits#2 ← (number) 4 + (word*) utoa::digit_values#2 ← (const word*) RADIX_HEXADECIMAL_VALUES + to:utoa::@5 +utoa::@7: scope:[utoa] from utoa::@6 + (word) utoa::value#14 ← phi( utoa::@6/(word) utoa::value#13 ) + (byte*) utoa::buffer#13 ← phi( utoa::@6/(byte*) utoa::buffer#16 ) + (byte) utoa::radix#3 ← phi( utoa::@6/(byte) utoa::radix#2 ) + (bool~) utoa::$2 ← (byte) utoa::radix#3 == (const byte) OCTAL + if((bool~) utoa::$2) goto utoa::@3 + to:utoa::@8 +utoa::@3: scope:[utoa] from utoa::@7 + (byte*) utoa::buffer#19 ← phi( utoa::@7/(byte*) utoa::buffer#13 ) + (word) utoa::value#10 ← phi( utoa::@7/(word) utoa::value#14 ) + (byte) utoa::max_digits#3 ← (number) 6 + (word*) utoa::digit_values#3 ← (const word*) RADIX_OCTAL_VALUES + to:utoa::@5 +utoa::@8: scope:[utoa] from utoa::@7 + (word) utoa::value#15 ← phi( utoa::@7/(word) utoa::value#14 ) + (byte*) utoa::buffer#10 ← phi( utoa::@7/(byte*) utoa::buffer#13 ) + (byte) utoa::radix#4 ← phi( utoa::@7/(byte) utoa::radix#3 ) + (bool~) utoa::$3 ← (byte) utoa::radix#4 == (const byte) BINARY + if((bool~) utoa::$3) goto utoa::@4 + to:utoa::@9 +utoa::@4: scope:[utoa] from utoa::@8 + (byte*) utoa::buffer#20 ← phi( utoa::@8/(byte*) utoa::buffer#10 ) + (word) utoa::value#11 ← phi( utoa::@8/(word) utoa::value#15 ) + (byte) utoa::max_digits#4 ← (number) $10 + (word*) utoa::digit_values#4 ← (const word*) RADIX_BINARY_VALUES + to:utoa::@5 +utoa::@9: scope:[utoa] from utoa::@8 + (byte*) utoa::buffer#6 ← phi( utoa::@8/(byte*) utoa::buffer#10 ) + *((byte*) utoa::buffer#6) ← (byte) 'e' + (byte*) utoa::buffer#0 ← ++ (byte*) utoa::buffer#6 + *((byte*) utoa::buffer#0) ← (byte) 'r' + (byte*) utoa::buffer#1 ← ++ (byte*) utoa::buffer#0 + *((byte*) utoa::buffer#1) ← (byte) 'r' + (byte*) utoa::buffer#2 ← ++ (byte*) utoa::buffer#1 + *((byte*) utoa::buffer#2) ← (number) 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 + (byte*) utoa::buffer#15 ← phi( utoa::@1/(byte*) utoa::buffer#17 utoa::@2/(byte*) utoa::buffer#18 utoa::@3/(byte*) utoa::buffer#19 utoa::@4/(byte*) utoa::buffer#20 ) + (word) utoa::value#7 ← phi( utoa::@1/(word) utoa::value#8 utoa::@2/(word) utoa::value#9 utoa::@3/(word) utoa::value#10 utoa::@4/(word) utoa::value#11 ) + (word*) utoa::digit_values#8 ← phi( utoa::@1/(word*) utoa::digit_values#1 utoa::@2/(word*) utoa::digit_values#2 utoa::@3/(word*) utoa::digit_values#3 utoa::@4/(word*) utoa::digit_values#4 ) + (byte) utoa::max_digits#7 ← phi( utoa::@1/(byte) utoa::max_digits#1 utoa::@2/(byte) utoa::max_digits#2 utoa::@3/(byte) utoa::max_digits#3 utoa::@4/(byte) utoa::max_digits#4 ) + (byte) utoa::started#0 ← (byte) 0 + (byte) utoa::digit#0 ← (byte) 0 + to:utoa::@10 +utoa::@10: scope:[utoa] from utoa::@13 utoa::@5 + (byte*) utoa::buffer#11 ← phi( utoa::@13/(byte*) utoa::buffer#14 utoa::@5/(byte*) utoa::buffer#15 ) + (byte) utoa::started#3 ← phi( utoa::@13/(byte) utoa::started#4 utoa::@5/(byte) utoa::started#0 ) + (word) utoa::value#5 ← phi( utoa::@13/(word) utoa::value#6 utoa::@5/(word) utoa::value#7 ) + (word*) utoa::digit_values#6 ← phi( utoa::@13/(word*) utoa::digit_values#7 utoa::@5/(word*) utoa::digit_values#8 ) + (byte) utoa::digit#2 ← phi( utoa::@13/(byte) utoa::digit#1 utoa::@5/(byte) utoa::digit#0 ) + (byte) utoa::max_digits#5 ← phi( utoa::@13/(byte) utoa::max_digits#6 utoa::@5/(byte) utoa::max_digits#7 ) + (number~) utoa::$4 ← (byte) utoa::max_digits#5 - (number) 1 + (bool~) utoa::$5 ← (byte) utoa::digit#2 < (number~) utoa::$4 + if((bool~) utoa::$5) goto utoa::@11 + to:utoa::@12 +utoa::@11: scope:[utoa] from utoa::@10 + (byte) utoa::max_digits#8 ← phi( utoa::@10/(byte) utoa::max_digits#5 ) + (byte*) utoa::buffer#12 ← phi( utoa::@10/(byte*) utoa::buffer#11 ) + (byte) utoa::started#2 ← phi( utoa::@10/(byte) utoa::started#3 ) + (word) utoa::value#2 ← phi( utoa::@10/(word) utoa::value#5 ) + (word*) utoa::digit_values#5 ← phi( utoa::@10/(word*) utoa::digit_values#6 ) + (byte) utoa::digit#3 ← phi( utoa::@10/(byte) utoa::digit#2 ) + (byte~) utoa::$10 ← (byte) utoa::digit#3 * (const byte) SIZEOF_WORD + (word) utoa::digit_value#0 ← *((word*) utoa::digit_values#5 + (byte~) utoa::$10) + (bool~) utoa::$6 ← (word) utoa::value#2 >= (word) utoa::digit_value#0 + (bool~) utoa::$7 ← (byte) utoa::started#2 || (bool~) utoa::$6 + (bool~) utoa::$8 ← ! (bool~) utoa::$7 + if((bool~) utoa::$8) goto utoa::@13 + to:utoa::@14 +utoa::@12: scope:[utoa] from utoa::@10 + (byte*) utoa::buffer#7 ← phi( utoa::@10/(byte*) utoa::buffer#11 ) + (word) utoa::value#3 ← phi( utoa::@10/(word) utoa::value#5 ) + (byte~) utoa::$11 ← (byte)(word) utoa::value#3 + *((byte*) utoa::buffer#7) ← *((const byte*) DIGITS + (byte~) utoa::$11) + (byte*) utoa::buffer#3 ← ++ (byte*) utoa::buffer#7 + *((byte*) utoa::buffer#3) ← (number) 0 + to:utoa::@return +utoa::@13: scope:[utoa] from utoa::@11 utoa::@15 + (byte*) utoa::buffer#14 ← phi( utoa::@11/(byte*) utoa::buffer#12 utoa::@15/(byte*) utoa::buffer#4 ) + (byte) utoa::started#4 ← phi( utoa::@11/(byte) utoa::started#2 utoa::@15/(byte) utoa::started#1 ) + (word) utoa::value#6 ← phi( utoa::@11/(word) utoa::value#2 utoa::@15/(word) utoa::value#0 ) + (word*) utoa::digit_values#7 ← phi( utoa::@11/(word*) utoa::digit_values#5 utoa::@15/(word*) utoa::digit_values#9 ) + (byte) utoa::max_digits#6 ← phi( utoa::@11/(byte) utoa::max_digits#8 utoa::@15/(byte) utoa::max_digits#9 ) + (byte) utoa::digit#4 ← phi( utoa::@11/(byte) utoa::digit#3 utoa::@15/(byte) utoa::digit#5 ) + (byte) utoa::digit#1 ← ++ (byte) utoa::digit#4 + to:utoa::@10 +utoa::@14: scope:[utoa] from utoa::@11 + (word*) utoa::digit_values#10 ← phi( utoa::@11/(word*) utoa::digit_values#5 ) + (byte) utoa::max_digits#10 ← phi( utoa::@11/(byte) utoa::max_digits#8 ) + (byte) utoa::digit#6 ← phi( utoa::@11/(byte) utoa::digit#3 ) + (word) utoa::digit_value#1 ← phi( utoa::@11/(word) utoa::digit_value#0 ) + (word) utoa::value#4 ← phi( utoa::@11/(word) utoa::value#2 ) + (byte*) utoa::buffer#8 ← phi( utoa::@11/(byte*) utoa::buffer#12 ) + (byte*) utoa_append::buffer#0 ← (byte*) utoa::buffer#8 + (word) utoa_append::value#0 ← (word) utoa::value#4 + (word) utoa_append::sub#0 ← (word) utoa::digit_value#1 + call utoa_append + (word) utoa_append::return#0 ← (word) utoa_append::return#2 + to:utoa::@15 +utoa::@15: scope:[utoa] from utoa::@14 + (word*) utoa::digit_values#9 ← phi( utoa::@14/(word*) utoa::digit_values#10 ) + (byte) utoa::max_digits#9 ← phi( utoa::@14/(byte) utoa::max_digits#10 ) + (byte) utoa::digit#5 ← phi( utoa::@14/(byte) utoa::digit#6 ) + (byte*) utoa::buffer#9 ← phi( utoa::@14/(byte*) utoa::buffer#8 ) + (word) utoa_append::return#3 ← phi( utoa::@14/(word) utoa_append::return#0 ) + (word~) utoa::$9 ← (word) utoa_append::return#3 + (word) utoa::value#0 ← (word~) utoa::$9 + (byte*) utoa::buffer#4 ← ++ (byte*) utoa::buffer#9 + (byte) utoa::started#1 ← (number) 1 + to:utoa::@13 + +(word()) utoa_append((byte*) utoa_append::buffer , (word) utoa_append::value , (word) utoa_append::sub) +utoa_append: scope:[utoa_append] from utoa::@14 + (byte*) utoa_append::buffer#3 ← phi( utoa::@14/(byte*) utoa_append::buffer#0 ) + (word) utoa_append::sub#3 ← phi( utoa::@14/(word) utoa_append::sub#0 ) + (word) utoa_append::value#5 ← phi( utoa::@14/(word) utoa_append::value#0 ) + (byte) utoa_append::digit#0 ← (byte) 0 + to:utoa_append::@1 +utoa_append::@1: scope:[utoa_append] from utoa_append utoa_append::@2 + (byte*) utoa_append::buffer#2 ← phi( utoa_append/(byte*) utoa_append::buffer#3 utoa_append::@2/(byte*) utoa_append::buffer#4 ) + (byte) utoa_append::digit#4 ← phi( utoa_append/(byte) utoa_append::digit#0 utoa_append::@2/(byte) utoa_append::digit#1 ) + (word) utoa_append::sub#1 ← phi( utoa_append/(word) utoa_append::sub#3 utoa_append::@2/(word) utoa_append::sub#2 ) + (word) utoa_append::value#2 ← phi( utoa_append/(word) utoa_append::value#5 utoa_append::@2/(word) utoa_append::value#1 ) + (bool~) utoa_append::$0 ← (word) utoa_append::value#2 >= (word) utoa_append::sub#1 + if((bool~) utoa_append::$0) goto utoa_append::@2 + to:utoa_append::@3 +utoa_append::@2: scope:[utoa_append] from utoa_append::@1 + (byte*) utoa_append::buffer#4 ← phi( utoa_append::@1/(byte*) utoa_append::buffer#2 ) + (word) utoa_append::sub#2 ← phi( utoa_append::@1/(word) utoa_append::sub#1 ) + (word) utoa_append::value#3 ← phi( utoa_append::@1/(word) utoa_append::value#2 ) + (byte) utoa_append::digit#2 ← phi( utoa_append::@1/(byte) utoa_append::digit#4 ) + (byte) utoa_append::digit#1 ← ++ (byte) utoa_append::digit#2 + (word) utoa_append::value#1 ← (word) utoa_append::value#3 - (word) utoa_append::sub#2 + to:utoa_append::@1 +utoa_append::@3: scope:[utoa_append] from utoa_append::@1 + (word) utoa_append::value#4 ← phi( utoa_append::@1/(word) utoa_append::value#2 ) + (byte*) utoa_append::buffer#1 ← phi( utoa_append::@1/(byte*) utoa_append::buffer#2 ) + (byte) utoa_append::digit#3 ← phi( utoa_append::@1/(byte) utoa_append::digit#4 ) + *((byte*) utoa_append::buffer#1) ← *((const byte*) DIGITS + (byte) utoa_append::digit#3) + (word) utoa_append::return#1 ← (word) utoa_append::value#4 + to:utoa_append::@return +utoa_append::@return: scope:[utoa_append] from utoa_append::@3 + (word) utoa_append::return#4 ← phi( utoa_append::@3/(word) utoa_append::return#1 ) + (word) utoa_append::return#2 ← (word) utoa_append::return#4 + return + to:@return + +(void()) ultoa((dword) ultoa::value , (byte*) ultoa::buffer , (byte) ultoa::radix) +ultoa: scope:[ultoa] from printf_ulong::@3 + (byte*) ultoa::buffer#21 ← phi( printf_ulong::@3/(byte*) ultoa::buffer#5 ) + (dword) ultoa::value#12 ← phi( printf_ulong::@3/(dword) ultoa::value#1 ) + (byte) ultoa::radix#1 ← phi( printf_ulong::@3/(byte) ultoa::radix#0 ) + (byte) ultoa::max_digits#0 ← (byte) 0 + (dword*) ultoa::digit_values#0 ← (dword*) 0 + (bool~) ultoa::$0 ← (byte) ultoa::radix#1 == (const byte) DECIMAL + if((bool~) ultoa::$0) goto ultoa::@1 + to:ultoa::@6 +ultoa::@1: scope:[ultoa] from ultoa + (byte*) ultoa::buffer#17 ← phi( ultoa/(byte*) ultoa::buffer#21 ) + (dword) ultoa::value#8 ← phi( ultoa/(dword) ultoa::value#12 ) + (byte) ultoa::max_digits#1 ← (number) $a + (dword*) ultoa::digit_values#1 ← (const dword*) RADIX_DECIMAL_VALUES_LONG + to:ultoa::@5 +ultoa::@6: scope:[ultoa] from ultoa + (dword) ultoa::value#13 ← phi( ultoa/(dword) ultoa::value#12 ) + (byte*) ultoa::buffer#16 ← phi( ultoa/(byte*) ultoa::buffer#21 ) + (byte) ultoa::radix#2 ← phi( ultoa/(byte) ultoa::radix#1 ) + (bool~) ultoa::$1 ← (byte) ultoa::radix#2 == (const byte) HEXADECIMAL + if((bool~) ultoa::$1) goto ultoa::@2 + to:ultoa::@7 +ultoa::@2: scope:[ultoa] from ultoa::@6 + (byte*) ultoa::buffer#18 ← phi( ultoa::@6/(byte*) ultoa::buffer#16 ) + (dword) ultoa::value#9 ← phi( ultoa::@6/(dword) ultoa::value#13 ) + (byte) ultoa::max_digits#2 ← (number) 8 + (dword*) ultoa::digit_values#2 ← (const dword*) RADIX_HEXADECIMAL_VALUES_LONG + to:ultoa::@5 +ultoa::@7: scope:[ultoa] from ultoa::@6 + (dword) ultoa::value#14 ← phi( ultoa::@6/(dword) ultoa::value#13 ) + (byte*) ultoa::buffer#13 ← phi( ultoa::@6/(byte*) ultoa::buffer#16 ) + (byte) ultoa::radix#3 ← phi( ultoa::@6/(byte) ultoa::radix#2 ) + (bool~) ultoa::$2 ← (byte) ultoa::radix#3 == (const byte) OCTAL + if((bool~) ultoa::$2) goto ultoa::@3 + to:ultoa::@8 +ultoa::@3: scope:[ultoa] from ultoa::@7 + (byte*) ultoa::buffer#19 ← phi( ultoa::@7/(byte*) ultoa::buffer#13 ) + (dword) ultoa::value#10 ← phi( ultoa::@7/(dword) ultoa::value#14 ) + (byte) ultoa::max_digits#3 ← (number) $b + (dword*) ultoa::digit_values#3 ← (const dword*) RADIX_OCTAL_VALUES_LONG + to:ultoa::@5 +ultoa::@8: scope:[ultoa] from ultoa::@7 + (dword) ultoa::value#15 ← phi( ultoa::@7/(dword) ultoa::value#14 ) + (byte*) ultoa::buffer#10 ← phi( ultoa::@7/(byte*) ultoa::buffer#13 ) + (byte) ultoa::radix#4 ← phi( ultoa::@7/(byte) ultoa::radix#3 ) + (bool~) ultoa::$3 ← (byte) ultoa::radix#4 == (const byte) BINARY + if((bool~) ultoa::$3) goto ultoa::@4 + to:ultoa::@9 +ultoa::@4: scope:[ultoa] from ultoa::@8 + (byte*) ultoa::buffer#20 ← phi( ultoa::@8/(byte*) ultoa::buffer#10 ) + (dword) ultoa::value#11 ← phi( ultoa::@8/(dword) ultoa::value#15 ) + (byte) ultoa::max_digits#4 ← (number) $20 + (dword*) ultoa::digit_values#4 ← (const dword*) RADIX_BINARY_VALUES_LONG + to:ultoa::@5 +ultoa::@9: scope:[ultoa] from ultoa::@8 + (byte*) ultoa::buffer#6 ← phi( ultoa::@8/(byte*) ultoa::buffer#10 ) + *((byte*) ultoa::buffer#6) ← (byte) 'e' + (byte*) ultoa::buffer#0 ← ++ (byte*) ultoa::buffer#6 + *((byte*) ultoa::buffer#0) ← (byte) 'r' + (byte*) ultoa::buffer#1 ← ++ (byte*) ultoa::buffer#0 + *((byte*) ultoa::buffer#1) ← (byte) 'r' + (byte*) ultoa::buffer#2 ← ++ (byte*) ultoa::buffer#1 + *((byte*) ultoa::buffer#2) ← (number) 0 + to:ultoa::@return +ultoa::@return: scope:[ultoa] from ultoa::@12 ultoa::@9 + return + to:@return +ultoa::@5: scope:[ultoa] from ultoa::@1 ultoa::@2 ultoa::@3 ultoa::@4 + (byte*) ultoa::buffer#15 ← phi( ultoa::@1/(byte*) ultoa::buffer#17 ultoa::@2/(byte*) ultoa::buffer#18 ultoa::@3/(byte*) ultoa::buffer#19 ultoa::@4/(byte*) ultoa::buffer#20 ) + (dword) ultoa::value#7 ← phi( ultoa::@1/(dword) ultoa::value#8 ultoa::@2/(dword) ultoa::value#9 ultoa::@3/(dword) ultoa::value#10 ultoa::@4/(dword) ultoa::value#11 ) + (dword*) ultoa::digit_values#8 ← phi( ultoa::@1/(dword*) ultoa::digit_values#1 ultoa::@2/(dword*) ultoa::digit_values#2 ultoa::@3/(dword*) ultoa::digit_values#3 ultoa::@4/(dword*) ultoa::digit_values#4 ) + (byte) ultoa::max_digits#7 ← phi( ultoa::@1/(byte) ultoa::max_digits#1 ultoa::@2/(byte) ultoa::max_digits#2 ultoa::@3/(byte) ultoa::max_digits#3 ultoa::@4/(byte) ultoa::max_digits#4 ) + (byte) ultoa::started#0 ← (byte) 0 + (byte) ultoa::digit#0 ← (byte) 0 + to:ultoa::@10 +ultoa::@10: scope:[ultoa] from ultoa::@13 ultoa::@5 + (byte*) ultoa::buffer#11 ← phi( ultoa::@13/(byte*) ultoa::buffer#14 ultoa::@5/(byte*) ultoa::buffer#15 ) + (byte) ultoa::started#3 ← phi( ultoa::@13/(byte) ultoa::started#4 ultoa::@5/(byte) ultoa::started#0 ) + (dword) ultoa::value#5 ← phi( ultoa::@13/(dword) ultoa::value#6 ultoa::@5/(dword) ultoa::value#7 ) + (dword*) ultoa::digit_values#6 ← phi( ultoa::@13/(dword*) ultoa::digit_values#7 ultoa::@5/(dword*) ultoa::digit_values#8 ) + (byte) ultoa::digit#2 ← phi( ultoa::@13/(byte) ultoa::digit#1 ultoa::@5/(byte) ultoa::digit#0 ) + (byte) ultoa::max_digits#5 ← phi( ultoa::@13/(byte) ultoa::max_digits#6 ultoa::@5/(byte) ultoa::max_digits#7 ) + (number~) ultoa::$4 ← (byte) ultoa::max_digits#5 - (number) 1 + (bool~) ultoa::$5 ← (byte) ultoa::digit#2 < (number~) ultoa::$4 + if((bool~) ultoa::$5) goto ultoa::@11 + to:ultoa::@12 +ultoa::@11: scope:[ultoa] from ultoa::@10 + (byte) ultoa::max_digits#8 ← phi( ultoa::@10/(byte) ultoa::max_digits#5 ) + (byte*) ultoa::buffer#12 ← phi( ultoa::@10/(byte*) ultoa::buffer#11 ) + (byte) ultoa::started#2 ← phi( ultoa::@10/(byte) ultoa::started#3 ) + (dword) ultoa::value#2 ← phi( ultoa::@10/(dword) ultoa::value#5 ) + (dword*) ultoa::digit_values#5 ← phi( ultoa::@10/(dword*) ultoa::digit_values#6 ) + (byte) ultoa::digit#3 ← phi( ultoa::@10/(byte) ultoa::digit#2 ) + (byte~) ultoa::$10 ← (byte) ultoa::digit#3 * (const byte) SIZEOF_DWORD + (dword) ultoa::digit_value#0 ← *((dword*) ultoa::digit_values#5 + (byte~) ultoa::$10) + (bool~) ultoa::$6 ← (dword) ultoa::value#2 >= (dword) ultoa::digit_value#0 + (bool~) ultoa::$7 ← (byte) ultoa::started#2 || (bool~) ultoa::$6 + (bool~) ultoa::$8 ← ! (bool~) ultoa::$7 + if((bool~) ultoa::$8) goto ultoa::@13 + to:ultoa::@14 +ultoa::@12: scope:[ultoa] from ultoa::@10 + (byte*) ultoa::buffer#7 ← phi( ultoa::@10/(byte*) ultoa::buffer#11 ) + (dword) ultoa::value#3 ← phi( ultoa::@10/(dword) ultoa::value#5 ) + (byte~) ultoa::$11 ← (byte)(dword) ultoa::value#3 + *((byte*) ultoa::buffer#7) ← *((const byte*) DIGITS + (byte~) ultoa::$11) + (byte*) ultoa::buffer#3 ← ++ (byte*) ultoa::buffer#7 + *((byte*) ultoa::buffer#3) ← (number) 0 + to:ultoa::@return +ultoa::@13: scope:[ultoa] from ultoa::@11 ultoa::@15 + (byte*) ultoa::buffer#14 ← phi( ultoa::@11/(byte*) ultoa::buffer#12 ultoa::@15/(byte*) ultoa::buffer#4 ) + (byte) ultoa::started#4 ← phi( ultoa::@11/(byte) ultoa::started#2 ultoa::@15/(byte) ultoa::started#1 ) + (dword) ultoa::value#6 ← phi( ultoa::@11/(dword) ultoa::value#2 ultoa::@15/(dword) ultoa::value#0 ) + (dword*) ultoa::digit_values#7 ← phi( ultoa::@11/(dword*) ultoa::digit_values#5 ultoa::@15/(dword*) ultoa::digit_values#9 ) + (byte) ultoa::max_digits#6 ← phi( ultoa::@11/(byte) ultoa::max_digits#8 ultoa::@15/(byte) ultoa::max_digits#9 ) + (byte) ultoa::digit#4 ← phi( ultoa::@11/(byte) ultoa::digit#3 ultoa::@15/(byte) ultoa::digit#5 ) + (byte) ultoa::digit#1 ← ++ (byte) ultoa::digit#4 + to:ultoa::@10 +ultoa::@14: scope:[ultoa] from ultoa::@11 + (dword*) ultoa::digit_values#10 ← phi( ultoa::@11/(dword*) ultoa::digit_values#5 ) + (byte) ultoa::max_digits#10 ← phi( ultoa::@11/(byte) ultoa::max_digits#8 ) + (byte) ultoa::digit#6 ← phi( ultoa::@11/(byte) ultoa::digit#3 ) + (dword) ultoa::digit_value#1 ← phi( ultoa::@11/(dword) ultoa::digit_value#0 ) + (dword) ultoa::value#4 ← phi( ultoa::@11/(dword) ultoa::value#2 ) + (byte*) ultoa::buffer#8 ← phi( ultoa::@11/(byte*) ultoa::buffer#12 ) + (byte*) ultoa_append::buffer#0 ← (byte*) ultoa::buffer#8 + (dword) ultoa_append::value#0 ← (dword) ultoa::value#4 + (dword) ultoa_append::sub#0 ← (dword) ultoa::digit_value#1 + call ultoa_append + (dword) ultoa_append::return#0 ← (dword) ultoa_append::return#2 + to:ultoa::@15 +ultoa::@15: scope:[ultoa] from ultoa::@14 + (dword*) ultoa::digit_values#9 ← phi( ultoa::@14/(dword*) ultoa::digit_values#10 ) + (byte) ultoa::max_digits#9 ← phi( ultoa::@14/(byte) ultoa::max_digits#10 ) + (byte) ultoa::digit#5 ← phi( ultoa::@14/(byte) ultoa::digit#6 ) + (byte*) ultoa::buffer#9 ← phi( ultoa::@14/(byte*) ultoa::buffer#8 ) + (dword) ultoa_append::return#3 ← phi( ultoa::@14/(dword) ultoa_append::return#0 ) + (dword~) ultoa::$9 ← (dword) ultoa_append::return#3 + (dword) ultoa::value#0 ← (dword~) ultoa::$9 + (byte*) ultoa::buffer#4 ← ++ (byte*) ultoa::buffer#9 + (byte) ultoa::started#1 ← (number) 1 + to:ultoa::@13 + +(dword()) ultoa_append((byte*) ultoa_append::buffer , (dword) ultoa_append::value , (dword) ultoa_append::sub) +ultoa_append: scope:[ultoa_append] from ultoa::@14 + (byte*) ultoa_append::buffer#3 ← phi( ultoa::@14/(byte*) ultoa_append::buffer#0 ) + (dword) ultoa_append::sub#3 ← phi( ultoa::@14/(dword) ultoa_append::sub#0 ) + (dword) ultoa_append::value#5 ← phi( ultoa::@14/(dword) ultoa_append::value#0 ) + (byte) ultoa_append::digit#0 ← (byte) 0 + to:ultoa_append::@1 +ultoa_append::@1: scope:[ultoa_append] from ultoa_append ultoa_append::@2 + (byte*) ultoa_append::buffer#2 ← phi( ultoa_append/(byte*) ultoa_append::buffer#3 ultoa_append::@2/(byte*) ultoa_append::buffer#4 ) + (byte) ultoa_append::digit#4 ← phi( ultoa_append/(byte) ultoa_append::digit#0 ultoa_append::@2/(byte) ultoa_append::digit#1 ) + (dword) ultoa_append::sub#1 ← phi( ultoa_append/(dword) ultoa_append::sub#3 ultoa_append::@2/(dword) ultoa_append::sub#2 ) + (dword) ultoa_append::value#2 ← phi( ultoa_append/(dword) ultoa_append::value#5 ultoa_append::@2/(dword) ultoa_append::value#1 ) + (bool~) ultoa_append::$0 ← (dword) ultoa_append::value#2 >= (dword) ultoa_append::sub#1 + if((bool~) ultoa_append::$0) goto ultoa_append::@2 + to:ultoa_append::@3 +ultoa_append::@2: scope:[ultoa_append] from ultoa_append::@1 + (byte*) ultoa_append::buffer#4 ← phi( ultoa_append::@1/(byte*) ultoa_append::buffer#2 ) + (dword) ultoa_append::sub#2 ← phi( ultoa_append::@1/(dword) ultoa_append::sub#1 ) + (dword) ultoa_append::value#3 ← phi( ultoa_append::@1/(dword) ultoa_append::value#2 ) + (byte) ultoa_append::digit#2 ← phi( ultoa_append::@1/(byte) ultoa_append::digit#4 ) + (byte) ultoa_append::digit#1 ← ++ (byte) ultoa_append::digit#2 + (dword) ultoa_append::value#1 ← (dword) ultoa_append::value#3 - (dword) ultoa_append::sub#2 + to:ultoa_append::@1 +ultoa_append::@3: scope:[ultoa_append] from ultoa_append::@1 + (dword) ultoa_append::value#4 ← phi( ultoa_append::@1/(dword) ultoa_append::value#2 ) + (byte*) ultoa_append::buffer#1 ← phi( ultoa_append::@1/(byte*) ultoa_append::buffer#2 ) + (byte) ultoa_append::digit#3 ← phi( ultoa_append::@1/(byte) ultoa_append::digit#4 ) + *((byte*) ultoa_append::buffer#1) ← *((const byte*) DIGITS + (byte) ultoa_append::digit#3) + (dword) ultoa_append::return#1 ← (dword) ultoa_append::value#4 + to:ultoa_append::@return +ultoa_append::@return: scope:[ultoa_append] from ultoa_append::@3 + (dword) ultoa_append::return#4 ← phi( ultoa_append::@3/(dword) ultoa_append::return#1 ) + (dword) ultoa_append::return#2 ← (dword) ultoa_append::return#4 + return + to:@return +@1: scope:[] from @begin + (word) rand_state#0 ← (word) 1 + to:@2 + +(word()) rand() +rand: scope:[rand] from main::@2 main::@9 + (word) rand_state#9 ← phi( main::@2/(word) rand_state#15 main::@9/(word) rand_state#16 ) + (word~) rand::$0 ← (word) rand_state#9 << (number) 7 + (word) rand_state#1 ← (word) rand_state#9 ^ (word~) rand::$0 + (word~) rand::$1 ← (word) rand_state#1 >> (number) 9 + (word) rand_state#2 ← (word) rand_state#1 ^ (word~) rand::$1 + (word~) rand::$2 ← (word) rand_state#2 << (number) 8 + (word) rand_state#3 ← (word) rand_state#2 ^ (word~) rand::$2 + (word) rand::return#0 ← (word) rand_state#3 + to:rand::@return +rand::@return: scope:[rand] from rand + (word) rand_state#10 ← phi( rand/(word) rand_state#3 ) + (word) rand::return#4 ← phi( rand/(word) rand::return#0 ) + (word) rand::return#1 ← (word) rand::return#4 + (word) rand_state#4 ← (word) rand_state#10 + return + to:@return +@2: scope:[] from @1 + (word) rand_state#25 ← phi( @1/(word) rand_state#0 ) + (byte) conio_cursor_x ← (byte) 0 + (byte) conio_cursor_y ← (byte) 0 + (byte*) conio_cursor_text ← (const nomodify byte*) CONIO_SCREEN_TEXT + (byte*) conio_cursor_color ← (const nomodify byte*) CONIO_SCREEN_COLORS + (byte) conio_textcolor ← (const nomodify byte) CONIO_TEXTCOLOR_DEFAULT + (byte) conio_scroll_enable ← (byte) 1 + to:@3 + +(void()) clrscr() +clrscr: scope:[clrscr] from main + (byte*) clrscr::line_text#0 ← (const nomodify byte*) CONIO_SCREEN_TEXT + (byte*) clrscr::line_cols#0 ← (const nomodify byte*) CONIO_SCREEN_COLORS + (byte) clrscr::l#0 ← (byte) 0 + to:clrscr::@1 +clrscr::@1: scope:[clrscr] from clrscr clrscr::@6 + (byte*) clrscr::line_cols#6 ← phi( clrscr/(byte*) clrscr::line_cols#0 clrscr::@6/(byte*) clrscr::line_cols#1 ) + (byte*) clrscr::line_text#6 ← phi( clrscr/(byte*) clrscr::line_text#0 clrscr::@6/(byte*) clrscr::line_text#1 ) + (byte) clrscr::l#2 ← phi( clrscr/(byte) clrscr::l#0 clrscr::@6/(byte) clrscr::l#1 ) + (bool~) clrscr::$0 ← (byte) clrscr::l#2 < (number) $19 + if((bool~) clrscr::$0) goto clrscr::@2 + to:clrscr::@3 +clrscr::@2: scope:[clrscr] from clrscr::@1 + (byte) clrscr::l#5 ← phi( clrscr::@1/(byte) clrscr::l#2 ) + (byte*) clrscr::line_cols#5 ← phi( clrscr::@1/(byte*) clrscr::line_cols#6 ) + (byte*) clrscr::line_text#5 ← phi( clrscr::@1/(byte*) clrscr::line_text#6 ) + (byte) clrscr::c#0 ← (byte) 0 + to:clrscr::@4 +clrscr::@3: scope:[clrscr] from clrscr::@1 + (byte) conio_cursor_x ← (number) 0 + (byte) conio_cursor_y ← (number) 0 + (byte*) conio_cursor_text ← (const nomodify byte*) CONIO_SCREEN_TEXT + (byte*) conio_cursor_color ← (const nomodify byte*) CONIO_SCREEN_COLORS + to:clrscr::@return +clrscr::@4: scope:[clrscr] from clrscr::@2 clrscr::@5 + (byte) clrscr::l#4 ← phi( clrscr::@2/(byte) clrscr::l#5 clrscr::@5/(byte) clrscr::l#6 ) + (byte*) clrscr::line_cols#4 ← phi( clrscr::@2/(byte*) clrscr::line_cols#5 clrscr::@5/(byte*) clrscr::line_cols#2 ) + (byte*) clrscr::line_text#4 ← phi( clrscr::@2/(byte*) clrscr::line_text#5 clrscr::@5/(byte*) clrscr::line_text#2 ) + (byte) clrscr::c#2 ← phi( clrscr::@2/(byte) clrscr::c#0 clrscr::@5/(byte) clrscr::c#1 ) + (bool~) clrscr::$1 ← (byte) clrscr::c#2 < (number) $28 + if((bool~) clrscr::$1) goto clrscr::@5 + to:clrscr::@6 +clrscr::@5: scope:[clrscr] from clrscr::@4 + (byte) clrscr::l#6 ← phi( clrscr::@4/(byte) clrscr::l#4 ) + (byte*) clrscr::line_cols#2 ← phi( clrscr::@4/(byte*) clrscr::line_cols#4 ) + (byte) clrscr::c#3 ← phi( clrscr::@4/(byte) clrscr::c#2 ) + (byte*) clrscr::line_text#2 ← phi( clrscr::@4/(byte*) clrscr::line_text#4 ) + *((byte*) clrscr::line_text#2 + (byte) clrscr::c#3) ← (byte) ' ' + *((byte*) clrscr::line_cols#2 + (byte) clrscr::c#3) ← (byte) conio_textcolor + (byte) clrscr::c#1 ← ++ (byte) clrscr::c#3 + to:clrscr::@4 +clrscr::@6: scope:[clrscr] from clrscr::@4 + (byte) clrscr::l#3 ← phi( clrscr::@4/(byte) clrscr::l#4 ) + (byte*) clrscr::line_cols#3 ← phi( clrscr::@4/(byte*) clrscr::line_cols#4 ) + (byte*) clrscr::line_text#3 ← phi( clrscr::@4/(byte*) clrscr::line_text#4 ) + (byte*) clrscr::line_text#1 ← (byte*) clrscr::line_text#3 + (number) $28 + (byte*) clrscr::line_cols#1 ← (byte*) clrscr::line_cols#3 + (number) $28 + (byte) clrscr::l#1 ← ++ (byte) clrscr::l#3 + to:clrscr::@1 +clrscr::@return: scope:[clrscr] from clrscr::@3 + return + to:@return + +(void()) gotoxy((byte) gotoxy::x , (byte) gotoxy::y) +gotoxy: scope:[gotoxy] from cscroll::@2 main::@3 main::@6 + (byte) gotoxy::x#6 ← phi( cscroll::@2/(byte) gotoxy::x#1 main::@3/(byte) gotoxy::x#2 main::@6/(byte) gotoxy::x#3 ) + (byte) gotoxy::y#4 ← phi( cscroll::@2/(byte) gotoxy::y#1 main::@3/(byte) gotoxy::y#2 main::@6/(byte) gotoxy::y#3 ) + (bool~) gotoxy::$0 ← (byte) gotoxy::y#4 > (number) $19 + (bool~) gotoxy::$1 ← ! (bool~) gotoxy::$0 + if((bool~) gotoxy::$1) goto gotoxy::@1 + to:gotoxy::@3 +gotoxy::@1: scope:[gotoxy] from gotoxy gotoxy::@3 + (byte) gotoxy::y#6 ← phi( gotoxy/(byte) gotoxy::y#4 gotoxy::@3/(byte) gotoxy::y#0 ) + (byte) gotoxy::x#4 ← phi( gotoxy/(byte) gotoxy::x#6 gotoxy::@3/(byte) gotoxy::x#7 ) + (bool~) gotoxy::$2 ← (byte) gotoxy::x#4 >= (number) $28 + (bool~) gotoxy::$3 ← ! (bool~) gotoxy::$2 + if((bool~) gotoxy::$3) goto gotoxy::@2 + to:gotoxy::@4 +gotoxy::@3: scope:[gotoxy] from gotoxy + (byte) gotoxy::x#7 ← phi( gotoxy/(byte) gotoxy::x#6 ) + (byte) gotoxy::y#0 ← (number) 0 + to:gotoxy::@1 +gotoxy::@2: scope:[gotoxy] from gotoxy::@1 gotoxy::@4 + (byte) gotoxy::y#5 ← phi( gotoxy::@1/(byte) gotoxy::y#6 gotoxy::@4/(byte) gotoxy::y#7 ) + (byte) gotoxy::x#5 ← phi( gotoxy::@1/(byte) gotoxy::x#4 gotoxy::@4/(byte) gotoxy::x#0 ) + (byte) conio_cursor_x ← (byte) gotoxy::x#5 + (byte) conio_cursor_y ← (byte) gotoxy::y#5 + (word~) gotoxy::$8 ← (word)(byte) gotoxy::y#5 + (number~) gotoxy::$4 ← (word~) gotoxy::$8 * (number) $28 + (number~) gotoxy::$5 ← (number~) gotoxy::$4 + (byte) gotoxy::x#5 + (word) gotoxy::offset#0 ← (number~) gotoxy::$5 + (byte*~) gotoxy::$6 ← (const nomodify byte*) CONIO_SCREEN_TEXT + (word) gotoxy::offset#0 + (byte*) conio_cursor_text ← (byte*~) gotoxy::$6 + (byte*~) gotoxy::$7 ← (const nomodify byte*) CONIO_SCREEN_COLORS + (word) gotoxy::offset#0 + (byte*) conio_cursor_color ← (byte*~) gotoxy::$7 + to:gotoxy::@return +gotoxy::@4: scope:[gotoxy] from gotoxy::@1 + (byte) gotoxy::y#7 ← phi( gotoxy::@1/(byte) gotoxy::y#6 ) + (byte) gotoxy::x#0 ← (number) 0 + to:gotoxy::@2 +gotoxy::@return: scope:[gotoxy] from gotoxy::@2 + return + to:@return + +(void()) cputc((byte) cputc::c) +cputc: scope:[cputc] from cputs::@2 printf_number_buffer::@9 printf_padding::@2 + (byte) cputc::c#3 ← phi( cputs::@2/(byte) cputc::c#0 printf_number_buffer::@9/(byte) cputc::c#2 printf_padding::@2/(byte) cputc::c#1 ) + (bool~) cputc::$0 ← (byte) cputc::c#3 == (byte) ' +' + if((bool~) cputc::$0) goto cputc::@1 + to:cputc::@2 +cputc::@1: scope:[cputc] from cputc + call cputln + to:cputc::@4 +cputc::@4: scope:[cputc] from cputc::@1 + to:cputc::@return +cputc::@2: scope:[cputc] from cputc + (byte) cputc::c#4 ← phi( cputc/(byte) cputc::c#3 ) + *((byte*) conio_cursor_text) ← (byte) cputc::c#4 + (byte*) conio_cursor_text ← ++ (byte*) conio_cursor_text + *((byte*) conio_cursor_color) ← (byte) conio_textcolor + (byte*) conio_cursor_color ← ++ (byte*) conio_cursor_color + (byte) conio_cursor_x ← ++ (byte) conio_cursor_x + (bool~) cputc::$1 ← (byte) conio_cursor_x == (number) $28 + (bool~) cputc::$2 ← ! (bool~) cputc::$1 + if((bool~) cputc::$2) goto cputc::@return + to:cputc::@3 +cputc::@3: scope:[cputc] from cputc::@2 + (byte) conio_cursor_x ← (number) 0 + (byte) conio_cursor_y ← ++ (byte) conio_cursor_y + call cscroll + to:cputc::@5 +cputc::@5: scope:[cputc] from cputc::@3 + to:cputc::@return +cputc::@return: scope:[cputc] from cputc::@2 cputc::@4 cputc::@5 + return + to:@return + +(void()) cputln() +cputln: scope:[cputln] from cputc::@1 + (byte*~) cputln::$0 ← (byte*) conio_cursor_text - (byte) conio_cursor_x + (byte*~) cputln::$1 ← (byte*~) cputln::$0 + (number) $28 + (byte*) conio_cursor_text ← (byte*~) cputln::$1 + (byte*~) cputln::$2 ← (byte*) conio_cursor_color - (byte) conio_cursor_x + (byte*~) cputln::$3 ← (byte*~) cputln::$2 + (number) $28 + (byte*) conio_cursor_color ← (byte*~) cputln::$3 + (byte) conio_cursor_x ← (number) 0 + (byte) conio_cursor_y ← ++ (byte) conio_cursor_y + call cscroll + to:cputln::@1 +cputln::@1: scope:[cputln] from cputln + to:cputln::@return +cputln::@return: scope:[cputln] from cputln::@1 + return + to:@return + +(void()) cscroll() +cscroll: scope:[cscroll] from cputc::@3 cputln + (bool~) cscroll::$0 ← (byte) conio_cursor_y == (number) $19 + (bool~) cscroll::$1 ← ! (bool~) cscroll::$0 + if((bool~) cscroll::$1) goto cscroll::@return + to:cscroll::@1 +cscroll::@1: scope:[cscroll] from cscroll + (bool~) cscroll::$9 ← (number) 0 != (byte) conio_scroll_enable + if((bool~) cscroll::$9) goto cscroll::@3 + to:cscroll::@2 +cscroll::@3: scope:[cscroll] from cscroll::@1 + (void*) memcpy::destination#0 ← (void*)(const nomodify byte*) CONIO_SCREEN_TEXT + (void*) memcpy::source#0 ← (void*)(const nomodify byte*) CONIO_SCREEN_TEXT+(number) $28 + (word) memcpy::num#0 ← (number) $19*(number) $28-(number) $28 + call memcpy + (void*) memcpy::return#2 ← (void*) memcpy::return#1 + to:cscroll::@4 +cscroll::@4: scope:[cscroll] from cscroll::@3 + (void*) memcpy::destination#1 ← (void*)(const nomodify byte*) CONIO_SCREEN_COLORS + (void*) memcpy::source#1 ← (void*)(const nomodify byte*) CONIO_SCREEN_COLORS+(number) $28 + (word) memcpy::num#1 ← (number) $19*(number) $28-(number) $28 + call memcpy + (void*) memcpy::return#3 ← (void*) memcpy::return#1 + to:cscroll::@5 +cscroll::@5: scope:[cscroll] from cscroll::@4 + (void*) memset::str#0 ← (void*)(const nomodify byte*) CONIO_SCREEN_TEXT+(number) $19*(number) $28-(number) $28 + (byte) memset::c#0 ← (byte) ' ' + (word) memset::num#0 ← (number) $28 + call memset + (void*) memset::return#2 ← (void*) memset::return#1 + to:cscroll::@6 +cscroll::@6: scope:[cscroll] from cscroll::@5 + (void*) memset::str#1 ← (void*)(const nomodify byte*) CONIO_SCREEN_COLORS+(number) $19*(number) $28-(number) $28 + (byte) memset::c#1 ← (byte) conio_textcolor + (word) memset::num#1 ← (number) $28 + call memset + (void*) memset::return#3 ← (void*) memset::return#1 + to:cscroll::@7 +cscroll::@7: scope:[cscroll] from cscroll::@6 + (byte*~) cscroll::$7 ← (byte*) conio_cursor_text - (number) $28 + (byte*) conio_cursor_text ← (byte*~) cscroll::$7 + (byte*~) cscroll::$8 ← (byte*) conio_cursor_color - (number) $28 + (byte*) conio_cursor_color ← (byte*~) cscroll::$8 + (byte) conio_cursor_y ← -- (byte) conio_cursor_y + to:cscroll::@return +cscroll::@2: scope:[cscroll] from cscroll::@1 + (byte) gotoxy::x#1 ← (number) 0 + (byte) gotoxy::y#1 ← (number) 0 + call gotoxy + to:cscroll::@8 +cscroll::@8: scope:[cscroll] from cscroll::@2 + to:cscroll::@return +cscroll::@return: scope:[cscroll] from cscroll cscroll::@7 cscroll::@8 + return + to:@return + +(void()) cputs((to_nomodify byte*) cputs::s) +cputs: scope:[cputs] from main::@16 main::@8 printf_number_buffer::@5 + (to_nomodify byte*) cputs::s#5 ← phi( main::@16/(to_nomodify byte*) cputs::s#3 main::@8/(to_nomodify byte*) cputs::s#2 printf_number_buffer::@5/(to_nomodify byte*) cputs::s#1 ) + (byte) cputs::c#0 ← (byte) 0 + to:cputs::@1 +cputs::@1: scope:[cputs] from cputs cputs::@3 + (to_nomodify byte*) cputs::s#4 ← phi( cputs/(to_nomodify byte*) cputs::s#5 cputs::@3/(to_nomodify byte*) cputs::s#6 ) + (byte) cputs::c#1 ← *((to_nomodify byte*) cputs::s#4) + (to_nomodify byte*) cputs::s#0 ← ++ (to_nomodify byte*) cputs::s#4 + (bool~) cputs::$1 ← (number) 0 != (byte) cputs::c#1 + if((bool~) cputs::$1) goto cputs::@2 + to:cputs::@return +cputs::@2: scope:[cputs] from cputs::@1 + (to_nomodify byte*) cputs::s#7 ← phi( cputs::@1/(to_nomodify byte*) cputs::s#0 ) + (byte) cputs::c#2 ← phi( cputs::@1/(byte) cputs::c#1 ) + (byte) cputc::c#0 ← (byte) cputs::c#2 + call cputc + to:cputs::@3 +cputs::@3: scope:[cputs] from cputs::@2 + (to_nomodify byte*) cputs::s#6 ← phi( cputs::@2/(to_nomodify byte*) cputs::s#7 ) + to:cputs::@1 +cputs::@return: scope:[cputs] from cputs::@1 + return + to:@return + +(byte()) textcolor((byte) textcolor::color) +textcolor: scope:[textcolor] from main::@10 main::@15 main::@7 + (byte) textcolor::color#3 ← phi( main::@10/(byte) textcolor::color#1 main::@15/(byte) textcolor::color#2 main::@7/(byte) textcolor::color#0 ) + (byte) textcolor::old#0 ← (byte) conio_textcolor + (byte) conio_textcolor ← (byte) textcolor::color#3 + (byte) textcolor::return#0 ← (byte) textcolor::old#0 + to:textcolor::@return +textcolor::@return: scope:[textcolor] from textcolor + (byte) textcolor::return#5 ← phi( textcolor/(byte) textcolor::return#0 ) + (byte) textcolor::return#1 ← (byte) textcolor::return#5 + return + to:@return + +(void()) printf_padding((byte) printf_padding::pad , (byte) printf_padding::length) +printf_padding: scope:[printf_padding] from printf_number_buffer::@10 printf_number_buffer::@12 printf_number_buffer::@8 + (byte) printf_padding::pad#5 ← phi( printf_number_buffer::@10/(byte) printf_padding::pad#1 printf_number_buffer::@12/(byte) printf_padding::pad#2 printf_number_buffer::@8/(byte) printf_padding::pad#0 ) + (byte) printf_padding::length#4 ← phi( printf_number_buffer::@10/(byte) printf_padding::length#1 printf_number_buffer::@12/(byte) printf_padding::length#2 printf_number_buffer::@8/(byte) printf_padding::length#0 ) + (byte) printf_padding::i#0 ← (byte) 0 + to:printf_padding::@1 +printf_padding::@1: scope:[printf_padding] from printf_padding printf_padding::@3 + (byte) printf_padding::pad#4 ← phi( printf_padding/(byte) printf_padding::pad#5 printf_padding::@3/(byte) printf_padding::pad#6 ) + (byte) printf_padding::length#3 ← phi( printf_padding/(byte) printf_padding::length#4 printf_padding::@3/(byte) printf_padding::length#5 ) + (byte) printf_padding::i#2 ← phi( printf_padding/(byte) printf_padding::i#0 printf_padding::@3/(byte) printf_padding::i#1 ) + (bool~) printf_padding::$0 ← (byte) printf_padding::i#2 < (byte) printf_padding::length#3 + if((bool~) printf_padding::$0) goto printf_padding::@2 + to:printf_padding::@return +printf_padding::@2: scope:[printf_padding] from printf_padding::@1 + (byte) printf_padding::length#6 ← phi( printf_padding::@1/(byte) printf_padding::length#3 ) + (byte) printf_padding::i#4 ← phi( printf_padding::@1/(byte) printf_padding::i#2 ) + (byte) printf_padding::pad#3 ← phi( printf_padding::@1/(byte) printf_padding::pad#4 ) + (byte) cputc::c#1 ← (byte) printf_padding::pad#3 + call cputc + to:printf_padding::@3 +printf_padding::@3: scope:[printf_padding] from printf_padding::@2 + (byte) printf_padding::pad#6 ← phi( printf_padding::@2/(byte) printf_padding::pad#3 ) + (byte) printf_padding::length#5 ← phi( printf_padding::@2/(byte) printf_padding::length#6 ) + (byte) printf_padding::i#3 ← phi( printf_padding::@2/(byte) printf_padding::i#4 ) + (byte) printf_padding::i#1 ← ++ (byte) printf_padding::i#3 + to:printf_padding::@1 +printf_padding::@return: scope:[printf_padding] from printf_padding::@1 + return + to:@return + +(void()) printf_ulong((dword) printf_ulong::uvalue , (byte) printf_ulong::format_min_length , (byte) printf_ulong::format_justify_left , (byte) printf_ulong::format_sign_always , (byte) printf_ulong::format_zero_padding , (byte) printf_ulong::format_upper_case , (byte) printf_ulong::format_radix) +printf_ulong: scope:[printf_ulong] from main::@17 + (byte) printf_ulong::format_upper_case#5 ← phi( main::@17/(byte) printf_ulong::format_upper_case#0 ) + (byte) printf_ulong::format_zero_padding#5 ← phi( main::@17/(byte) printf_ulong::format_zero_padding#0 ) + (byte) printf_ulong::format_justify_left#5 ← phi( main::@17/(byte) printf_ulong::format_justify_left#0 ) + (byte) printf_ulong::format_min_length#5 ← phi( main::@17/(byte) printf_ulong::format_min_length#0 ) + (byte) printf_ulong::format_radix#5 ← phi( main::@17/(byte) printf_ulong::format_radix#0 ) + (dword) printf_ulong::uvalue#4 ← phi( main::@17/(dword) printf_ulong::uvalue#0 ) + (byte) printf_ulong::format_sign_always#1 ← phi( main::@17/(byte) printf_ulong::format_sign_always#0 ) + (bool~) printf_ulong::$5 ← (number) 0 != (byte) printf_ulong::format_sign_always#1 + if((bool~) printf_ulong::$5) goto printf_ulong::@1 + to:printf_ulong::@2 +printf_ulong::@1: scope:[printf_ulong] from printf_ulong + (byte) printf_ulong::format_upper_case#3 ← phi( printf_ulong/(byte) printf_ulong::format_upper_case#5 ) + (byte) printf_ulong::format_zero_padding#3 ← phi( printf_ulong/(byte) printf_ulong::format_zero_padding#5 ) + (byte) printf_ulong::format_sign_always#4 ← phi( printf_ulong/(byte) printf_ulong::format_sign_always#1 ) + (byte) printf_ulong::format_justify_left#3 ← phi( printf_ulong/(byte) printf_ulong::format_justify_left#5 ) + (byte) printf_ulong::format_min_length#3 ← phi( printf_ulong/(byte) printf_ulong::format_min_length#5 ) + (byte) printf_ulong::format_radix#3 ← phi( printf_ulong/(byte) printf_ulong::format_radix#5 ) + (dword) printf_ulong::uvalue#2 ← phi( printf_ulong/(dword) printf_ulong::uvalue#4 ) + (byte~) printf_ulong::$1 ← (byte) '+' + to:printf_ulong::@3 +printf_ulong::@2: scope:[printf_ulong] from printf_ulong + (byte) printf_ulong::format_upper_case#4 ← phi( printf_ulong/(byte) printf_ulong::format_upper_case#5 ) + (byte) printf_ulong::format_zero_padding#4 ← phi( printf_ulong/(byte) printf_ulong::format_zero_padding#5 ) + (byte) printf_ulong::format_sign_always#5 ← phi( printf_ulong/(byte) printf_ulong::format_sign_always#1 ) + (byte) printf_ulong::format_justify_left#4 ← phi( printf_ulong/(byte) printf_ulong::format_justify_left#5 ) + (byte) printf_ulong::format_min_length#4 ← phi( printf_ulong/(byte) printf_ulong::format_min_length#5 ) + (byte) printf_ulong::format_radix#4 ← phi( printf_ulong/(byte) printf_ulong::format_radix#5 ) + (dword) printf_ulong::uvalue#3 ← phi( printf_ulong/(dword) printf_ulong::uvalue#4 ) + (number~) printf_ulong::$0 ← (number) 0 + to:printf_ulong::@3 +printf_ulong::@3: scope:[printf_ulong] from printf_ulong::@1 printf_ulong::@2 + (byte) printf_ulong::format_upper_case#2 ← phi( printf_ulong::@1/(byte) printf_ulong::format_upper_case#3 printf_ulong::@2/(byte) printf_ulong::format_upper_case#4 ) + (byte) printf_ulong::format_zero_padding#2 ← phi( printf_ulong::@1/(byte) printf_ulong::format_zero_padding#3 printf_ulong::@2/(byte) printf_ulong::format_zero_padding#4 ) + (byte) printf_ulong::format_sign_always#3 ← phi( printf_ulong::@1/(byte) printf_ulong::format_sign_always#4 printf_ulong::@2/(byte) printf_ulong::format_sign_always#5 ) + (byte) printf_ulong::format_justify_left#2 ← phi( printf_ulong::@1/(byte) printf_ulong::format_justify_left#3 printf_ulong::@2/(byte) printf_ulong::format_justify_left#4 ) + (byte) printf_ulong::format_min_length#2 ← phi( printf_ulong::@1/(byte) printf_ulong::format_min_length#3 printf_ulong::@2/(byte) printf_ulong::format_min_length#4 ) + (byte) printf_ulong::format_radix#1 ← phi( printf_ulong::@1/(byte) printf_ulong::format_radix#3 printf_ulong::@2/(byte) printf_ulong::format_radix#4 ) + (dword) printf_ulong::uvalue#1 ← phi( printf_ulong::@1/(dword) printf_ulong::uvalue#2 printf_ulong::@2/(dword) printf_ulong::uvalue#3 ) + (number~) printf_ulong::$2 ← phi( printf_ulong::@1/(byte~) printf_ulong::$1 printf_ulong::@2/(number~) printf_ulong::$0 ) + *((byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) ← (number~) printf_ulong::$2 + (dword) ultoa::value#1 ← (dword) printf_ulong::uvalue#1 + (byte*) ultoa::buffer#5 ← (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + (byte) ultoa::radix#0 ← (byte) printf_ulong::format_radix#1 + call ultoa + to:printf_ulong::@4 +printf_ulong::@4: scope:[printf_ulong] from printf_ulong::@3 + (byte) printf_ulong::format_radix#2 ← phi( printf_ulong::@3/(byte) printf_ulong::format_radix#1 ) + (byte) printf_ulong::format_upper_case#1 ← phi( printf_ulong::@3/(byte) printf_ulong::format_upper_case#2 ) + (byte) printf_ulong::format_zero_padding#1 ← phi( printf_ulong::@3/(byte) printf_ulong::format_zero_padding#2 ) + (byte) printf_ulong::format_sign_always#2 ← phi( printf_ulong::@3/(byte) printf_ulong::format_sign_always#3 ) + (byte) printf_ulong::format_justify_left#1 ← phi( printf_ulong::@3/(byte) printf_ulong::format_justify_left#2 ) + (byte) printf_ulong::format_min_length#1 ← phi( printf_ulong::@3/(byte) printf_ulong::format_min_length#2 ) + (byte) printf_number_buffer::buffer_sign#0 ← *((byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) + (byte*) printf_number_buffer::buffer_digits#0 ← (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + (byte) printf_number_buffer::format_min_length#0 ← (byte) printf_ulong::format_min_length#1 + (byte) printf_number_buffer::format_justify_left#0 ← (byte) printf_ulong::format_justify_left#1 + (byte) printf_number_buffer::format_sign_always#0 ← (byte) printf_ulong::format_sign_always#2 + (byte) printf_number_buffer::format_zero_padding#0 ← (byte) printf_ulong::format_zero_padding#1 + (byte) printf_number_buffer::format_upper_case#0 ← (byte) printf_ulong::format_upper_case#1 + (byte) printf_number_buffer::format_radix#0 ← (byte) printf_ulong::format_radix#2 + call printf_number_buffer + to:printf_ulong::@5 +printf_ulong::@5: scope:[printf_ulong] from printf_ulong::@4 + to:printf_ulong::@return +printf_ulong::@return: scope:[printf_ulong] from printf_ulong::@5 + return + to:@return + +(void()) printf_uint((word) printf_uint::uvalue , (byte) printf_uint::format_min_length , (byte) printf_uint::format_justify_left , (byte) printf_uint::format_sign_always , (byte) printf_uint::format_zero_padding , (byte) printf_uint::format_upper_case , (byte) printf_uint::format_radix) +printf_uint: scope:[printf_uint] from main::@13 + (byte) printf_uint::format_upper_case#5 ← phi( main::@13/(byte) printf_uint::format_upper_case#0 ) + (byte) printf_uint::format_zero_padding#5 ← phi( main::@13/(byte) printf_uint::format_zero_padding#0 ) + (byte) printf_uint::format_justify_left#5 ← phi( main::@13/(byte) printf_uint::format_justify_left#0 ) + (byte) printf_uint::format_min_length#5 ← phi( main::@13/(byte) printf_uint::format_min_length#0 ) + (byte) printf_uint::format_radix#5 ← phi( main::@13/(byte) printf_uint::format_radix#0 ) + (word) printf_uint::uvalue#4 ← phi( main::@13/(word) printf_uint::uvalue#0 ) + (byte) printf_uint::format_sign_always#1 ← phi( main::@13/(byte) printf_uint::format_sign_always#0 ) + (bool~) printf_uint::$5 ← (number) 0 != (byte) printf_uint::format_sign_always#1 + if((bool~) printf_uint::$5) goto printf_uint::@1 + to:printf_uint::@2 +printf_uint::@1: scope:[printf_uint] from printf_uint + (byte) printf_uint::format_upper_case#3 ← phi( printf_uint/(byte) printf_uint::format_upper_case#5 ) + (byte) printf_uint::format_zero_padding#3 ← phi( printf_uint/(byte) printf_uint::format_zero_padding#5 ) + (byte) printf_uint::format_sign_always#4 ← phi( printf_uint/(byte) printf_uint::format_sign_always#1 ) + (byte) printf_uint::format_justify_left#3 ← phi( printf_uint/(byte) printf_uint::format_justify_left#5 ) + (byte) printf_uint::format_min_length#3 ← phi( printf_uint/(byte) printf_uint::format_min_length#5 ) + (byte) printf_uint::format_radix#3 ← phi( printf_uint/(byte) printf_uint::format_radix#5 ) + (word) printf_uint::uvalue#2 ← phi( printf_uint/(word) printf_uint::uvalue#4 ) + (byte~) printf_uint::$1 ← (byte) '+' + to:printf_uint::@3 +printf_uint::@2: scope:[printf_uint] from printf_uint + (byte) printf_uint::format_upper_case#4 ← phi( printf_uint/(byte) printf_uint::format_upper_case#5 ) + (byte) printf_uint::format_zero_padding#4 ← phi( printf_uint/(byte) printf_uint::format_zero_padding#5 ) + (byte) printf_uint::format_sign_always#5 ← phi( printf_uint/(byte) printf_uint::format_sign_always#1 ) + (byte) printf_uint::format_justify_left#4 ← phi( printf_uint/(byte) printf_uint::format_justify_left#5 ) + (byte) printf_uint::format_min_length#4 ← phi( printf_uint/(byte) printf_uint::format_min_length#5 ) + (byte) printf_uint::format_radix#4 ← phi( printf_uint/(byte) printf_uint::format_radix#5 ) + (word) printf_uint::uvalue#3 ← phi( printf_uint/(word) printf_uint::uvalue#4 ) + (number~) printf_uint::$0 ← (number) 0 + to:printf_uint::@3 +printf_uint::@3: scope:[printf_uint] from printf_uint::@1 printf_uint::@2 + (byte) printf_uint::format_upper_case#2 ← phi( printf_uint::@1/(byte) printf_uint::format_upper_case#3 printf_uint::@2/(byte) printf_uint::format_upper_case#4 ) + (byte) printf_uint::format_zero_padding#2 ← phi( printf_uint::@1/(byte) printf_uint::format_zero_padding#3 printf_uint::@2/(byte) printf_uint::format_zero_padding#4 ) + (byte) printf_uint::format_sign_always#3 ← phi( printf_uint::@1/(byte) printf_uint::format_sign_always#4 printf_uint::@2/(byte) printf_uint::format_sign_always#5 ) + (byte) printf_uint::format_justify_left#2 ← phi( printf_uint::@1/(byte) printf_uint::format_justify_left#3 printf_uint::@2/(byte) printf_uint::format_justify_left#4 ) + (byte) printf_uint::format_min_length#2 ← phi( printf_uint::@1/(byte) printf_uint::format_min_length#3 printf_uint::@2/(byte) printf_uint::format_min_length#4 ) + (byte) printf_uint::format_radix#1 ← phi( printf_uint::@1/(byte) printf_uint::format_radix#3 printf_uint::@2/(byte) printf_uint::format_radix#4 ) + (word) printf_uint::uvalue#1 ← phi( printf_uint::@1/(word) printf_uint::uvalue#2 printf_uint::@2/(word) printf_uint::uvalue#3 ) + (number~) printf_uint::$2 ← phi( printf_uint::@1/(byte~) printf_uint::$1 printf_uint::@2/(number~) printf_uint::$0 ) + *((byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) ← (number~) printf_uint::$2 + (word) utoa::value#1 ← (word) printf_uint::uvalue#1 + (byte*) utoa::buffer#5 ← (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + (byte) utoa::radix#0 ← (byte) printf_uint::format_radix#1 + call utoa + to:printf_uint::@4 +printf_uint::@4: scope:[printf_uint] from printf_uint::@3 + (byte) printf_uint::format_radix#2 ← phi( printf_uint::@3/(byte) printf_uint::format_radix#1 ) + (byte) printf_uint::format_upper_case#1 ← phi( printf_uint::@3/(byte) printf_uint::format_upper_case#2 ) + (byte) printf_uint::format_zero_padding#1 ← phi( printf_uint::@3/(byte) printf_uint::format_zero_padding#2 ) + (byte) printf_uint::format_sign_always#2 ← phi( printf_uint::@3/(byte) printf_uint::format_sign_always#3 ) + (byte) printf_uint::format_justify_left#1 ← phi( printf_uint::@3/(byte) printf_uint::format_justify_left#2 ) + (byte) printf_uint::format_min_length#1 ← phi( printf_uint::@3/(byte) printf_uint::format_min_length#2 ) + (byte) printf_number_buffer::buffer_sign#1 ← *((byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) + (byte*) printf_number_buffer::buffer_digits#1 ← (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + (byte) printf_number_buffer::format_min_length#1 ← (byte) printf_uint::format_min_length#1 + (byte) printf_number_buffer::format_justify_left#1 ← (byte) printf_uint::format_justify_left#1 + (byte) printf_number_buffer::format_sign_always#1 ← (byte) printf_uint::format_sign_always#2 + (byte) printf_number_buffer::format_zero_padding#1 ← (byte) printf_uint::format_zero_padding#1 + (byte) printf_number_buffer::format_upper_case#1 ← (byte) printf_uint::format_upper_case#1 + (byte) printf_number_buffer::format_radix#1 ← (byte) printf_uint::format_radix#2 + call printf_number_buffer + to:printf_uint::@5 +printf_uint::@5: scope:[printf_uint] from printf_uint::@4 + to:printf_uint::@return +printf_uint::@return: scope:[printf_uint] from printf_uint::@5 + return + to:@return + +(void()) printf_number_buffer((byte) printf_number_buffer::buffer_sign , (byte*) printf_number_buffer::buffer_digits , (byte) printf_number_buffer::format_min_length , (byte) printf_number_buffer::format_justify_left , (byte) printf_number_buffer::format_sign_always , (byte) printf_number_buffer::format_zero_padding , (byte) printf_number_buffer::format_upper_case , (byte) printf_number_buffer::format_radix) +printf_number_buffer: scope:[printf_number_buffer] from printf_uint::@4 printf_ulong::@4 + (byte) printf_number_buffer::format_upper_case#11 ← phi( printf_uint::@4/(byte) printf_number_buffer::format_upper_case#1 printf_ulong::@4/(byte) printf_number_buffer::format_upper_case#0 ) + (byte) printf_number_buffer::buffer_sign#8 ← phi( printf_uint::@4/(byte) printf_number_buffer::buffer_sign#1 printf_ulong::@4/(byte) printf_number_buffer::buffer_sign#0 ) + (byte*) printf_number_buffer::buffer_digits#5 ← phi( printf_uint::@4/(byte*) printf_number_buffer::buffer_digits#1 printf_ulong::@4/(byte*) printf_number_buffer::buffer_digits#0 ) + (byte) printf_number_buffer::format_zero_padding#5 ← phi( printf_uint::@4/(byte) printf_number_buffer::format_zero_padding#1 printf_ulong::@4/(byte) printf_number_buffer::format_zero_padding#0 ) + (byte) printf_number_buffer::format_justify_left#4 ← phi( printf_uint::@4/(byte) printf_number_buffer::format_justify_left#1 printf_ulong::@4/(byte) printf_number_buffer::format_justify_left#0 ) + (byte) printf_number_buffer::format_min_length#2 ← phi( printf_uint::@4/(byte) printf_number_buffer::format_min_length#1 printf_ulong::@4/(byte) printf_number_buffer::format_min_length#0 ) + (signed byte) printf_number_buffer::padding#0 ← (signed byte) 0 + (bool~) printf_number_buffer::$26 ← (number) 0 != (byte) printf_number_buffer::format_min_length#2 + (bool~) printf_number_buffer::$0 ← ! (bool~) printf_number_buffer::$26 + if((bool~) 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 + (byte*) printf_number_buffer::buffer_digits#13 ← phi( printf_number_buffer/(byte*) printf_number_buffer::buffer_digits#5 printf_number_buffer::@13/(byte*) printf_number_buffer::buffer_digits#16 printf_number_buffer::@14/(byte*) printf_number_buffer::buffer_digits#17 ) + (byte) printf_number_buffer::format_upper_case#8 ← phi( printf_number_buffer/(byte) printf_number_buffer::format_upper_case#11 printf_number_buffer::@13/(byte) printf_number_buffer::format_upper_case#12 printf_number_buffer::@14/(byte) printf_number_buffer::format_upper_case#13 ) + (byte) printf_number_buffer::buffer_sign#6 ← phi( printf_number_buffer/(byte) printf_number_buffer::buffer_sign#8 printf_number_buffer::@13/(byte) printf_number_buffer::buffer_sign#9 printf_number_buffer::@14/(byte) printf_number_buffer::buffer_sign#10 ) + (signed byte) printf_number_buffer::padding#3 ← phi( printf_number_buffer/(signed byte) printf_number_buffer::padding#0 printf_number_buffer::@13/(signed byte) printf_number_buffer::padding#1 printf_number_buffer::@14/(signed byte) printf_number_buffer::padding#2 ) + (byte) printf_number_buffer::format_zero_padding#2 ← phi( printf_number_buffer/(byte) printf_number_buffer::format_zero_padding#5 printf_number_buffer::@13/(byte) printf_number_buffer::format_zero_padding#6 printf_number_buffer::@14/(byte) printf_number_buffer::format_zero_padding#7 ) + (byte) printf_number_buffer::format_justify_left#2 ← phi( printf_number_buffer/(byte) printf_number_buffer::format_justify_left#4 printf_number_buffer::@13/(byte) printf_number_buffer::format_justify_left#5 printf_number_buffer::@14/(byte) printf_number_buffer::format_justify_left#6 ) + (bool~) printf_number_buffer::$27 ← (number) 0 != (byte) printf_number_buffer::format_justify_left#2 + (bool~) printf_number_buffer::$1 ← ! (bool~) printf_number_buffer::$27 + (bool~) printf_number_buffer::$28 ← (number) 0 != (byte) printf_number_buffer::format_zero_padding#2 + (bool~) printf_number_buffer::$2 ← ! (bool~) printf_number_buffer::$28 + (bool~) printf_number_buffer::$3 ← (bool~) printf_number_buffer::$1 && (bool~) printf_number_buffer::$2 + (bool~) printf_number_buffer::$4 ← (bool~) printf_number_buffer::$3 && (signed byte) printf_number_buffer::padding#3 + (bool~) printf_number_buffer::$5 ← ! (bool~) printf_number_buffer::$4 + if((bool~) 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 + (byte) printf_number_buffer::format_upper_case#17 ← phi( printf_number_buffer/(byte) printf_number_buffer::format_upper_case#11 ) + (byte) printf_number_buffer::format_zero_padding#17 ← phi( printf_number_buffer/(byte) printf_number_buffer::format_zero_padding#5 ) + (byte) printf_number_buffer::format_justify_left#12 ← phi( printf_number_buffer/(byte) printf_number_buffer::format_justify_left#4 ) + (byte) printf_number_buffer::format_min_length#6 ← phi( printf_number_buffer/(byte) printf_number_buffer::format_min_length#2 ) + (byte) printf_number_buffer::buffer_sign#5 ← phi( printf_number_buffer/(byte) printf_number_buffer::buffer_sign#8 ) + (byte*) printf_number_buffer::buffer_digits#2 ← phi( printf_number_buffer/(byte*) printf_number_buffer::buffer_digits#5 ) + (byte*) strlen::str#1 ← (byte*) printf_number_buffer::buffer_digits#2 + call strlen + (word) strlen::return#2 ← (word) strlen::return#1 + to:printf_number_buffer::@15 +printf_number_buffer::@15: scope:[printf_number_buffer] from printf_number_buffer::@6 + (byte*) printf_number_buffer::buffer_digits#19 ← phi( printf_number_buffer::@6/(byte*) printf_number_buffer::buffer_digits#2 ) + (byte) printf_number_buffer::format_upper_case#15 ← phi( printf_number_buffer::@6/(byte) printf_number_buffer::format_upper_case#17 ) + (byte) printf_number_buffer::format_zero_padding#11 ← phi( printf_number_buffer::@6/(byte) printf_number_buffer::format_zero_padding#17 ) + (byte) printf_number_buffer::format_justify_left#8 ← phi( printf_number_buffer::@6/(byte) printf_number_buffer::format_justify_left#12 ) + (byte) printf_number_buffer::format_min_length#4 ← phi( printf_number_buffer::@6/(byte) printf_number_buffer::format_min_length#6 ) + (byte) printf_number_buffer::buffer_sign#2 ← phi( printf_number_buffer::@6/(byte) printf_number_buffer::buffer_sign#5 ) + (word) strlen::return#4 ← phi( printf_number_buffer::@6/(word) strlen::return#2 ) + (word~) printf_number_buffer::$19 ← (word) strlen::return#4 + (signed byte) printf_number_buffer::len#0 ← (signed byte)(word~) printf_number_buffer::$19 + (bool~) printf_number_buffer::$29 ← (number) 0 != (byte) printf_number_buffer::buffer_sign#2 + (bool~) printf_number_buffer::$20 ← ! (bool~) printf_number_buffer::$29 + if((bool~) 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 + (byte*) printf_number_buffer::buffer_digits#16 ← phi( printf_number_buffer::@15/(byte*) printf_number_buffer::buffer_digits#19 printf_number_buffer::@7/(byte*) printf_number_buffer::buffer_digits#20 ) + (byte) printf_number_buffer::format_upper_case#12 ← phi( printf_number_buffer::@15/(byte) printf_number_buffer::format_upper_case#15 printf_number_buffer::@7/(byte) printf_number_buffer::format_upper_case#16 ) + (byte) printf_number_buffer::buffer_sign#9 ← phi( printf_number_buffer::@15/(byte) printf_number_buffer::buffer_sign#2 printf_number_buffer::@7/(byte) printf_number_buffer::buffer_sign#12 ) + (byte) printf_number_buffer::format_zero_padding#6 ← phi( printf_number_buffer::@15/(byte) printf_number_buffer::format_zero_padding#11 printf_number_buffer::@7/(byte) printf_number_buffer::format_zero_padding#12 ) + (byte) printf_number_buffer::format_justify_left#5 ← phi( printf_number_buffer::@15/(byte) printf_number_buffer::format_justify_left#8 printf_number_buffer::@7/(byte) printf_number_buffer::format_justify_left#9 ) + (signed byte) printf_number_buffer::len#2 ← phi( printf_number_buffer::@15/(signed byte) printf_number_buffer::len#0 printf_number_buffer::@7/(signed byte) printf_number_buffer::len#1 ) + (byte) printf_number_buffer::format_min_length#3 ← phi( printf_number_buffer::@15/(byte) printf_number_buffer::format_min_length#4 printf_number_buffer::@7/(byte) printf_number_buffer::format_min_length#5 ) + (signed byte~) printf_number_buffer::$25 ← (signed byte)(byte) printf_number_buffer::format_min_length#3 + (signed byte~) printf_number_buffer::$21 ← (signed byte~) printf_number_buffer::$25 - (signed byte) printf_number_buffer::len#2 + (signed byte) printf_number_buffer::padding#1 ← (signed byte~) printf_number_buffer::$21 + (bool~) printf_number_buffer::$22 ← (signed byte) printf_number_buffer::padding#1 < (number) 0 + (bool~) printf_number_buffer::$23 ← ! (bool~) printf_number_buffer::$22 + if((bool~) 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 + (byte*) printf_number_buffer::buffer_digits#20 ← phi( printf_number_buffer::@15/(byte*) printf_number_buffer::buffer_digits#19 ) + (byte) printf_number_buffer::format_upper_case#16 ← phi( printf_number_buffer::@15/(byte) printf_number_buffer::format_upper_case#15 ) + (byte) printf_number_buffer::buffer_sign#12 ← phi( printf_number_buffer::@15/(byte) printf_number_buffer::buffer_sign#2 ) + (byte) printf_number_buffer::format_zero_padding#12 ← phi( printf_number_buffer::@15/(byte) printf_number_buffer::format_zero_padding#11 ) + (byte) printf_number_buffer::format_justify_left#9 ← phi( printf_number_buffer::@15/(byte) printf_number_buffer::format_justify_left#8 ) + (byte) printf_number_buffer::format_min_length#5 ← phi( printf_number_buffer::@15/(byte) printf_number_buffer::format_min_length#4 ) + (signed byte) printf_number_buffer::len#3 ← phi( printf_number_buffer::@15/(signed byte) printf_number_buffer::len#0 ) + (signed byte) printf_number_buffer::len#1 ← ++ (signed byte) printf_number_buffer::len#3 + to:printf_number_buffer::@13 +printf_number_buffer::@14: scope:[printf_number_buffer] from printf_number_buffer::@13 + (byte*) printf_number_buffer::buffer_digits#17 ← phi( printf_number_buffer::@13/(byte*) printf_number_buffer::buffer_digits#16 ) + (byte) printf_number_buffer::format_upper_case#13 ← phi( printf_number_buffer::@13/(byte) printf_number_buffer::format_upper_case#12 ) + (byte) printf_number_buffer::buffer_sign#10 ← phi( printf_number_buffer::@13/(byte) printf_number_buffer::buffer_sign#9 ) + (byte) printf_number_buffer::format_zero_padding#7 ← phi( printf_number_buffer::@13/(byte) printf_number_buffer::format_zero_padding#6 ) + (byte) printf_number_buffer::format_justify_left#6 ← phi( printf_number_buffer::@13/(byte) printf_number_buffer::format_justify_left#5 ) + (signed byte) printf_number_buffer::padding#2 ← (number) 0 + to:printf_number_buffer::@1 +printf_number_buffer::@2: scope:[printf_number_buffer] from printf_number_buffer::@1 printf_number_buffer::@16 + (byte) printf_number_buffer::format_justify_left#17 ← phi( printf_number_buffer::@1/(byte) printf_number_buffer::format_justify_left#2 printf_number_buffer::@16/(byte) printf_number_buffer::format_justify_left#19 ) + (byte*) printf_number_buffer::buffer_digits#11 ← phi( printf_number_buffer::@1/(byte*) printf_number_buffer::buffer_digits#13 printf_number_buffer::@16/(byte*) printf_number_buffer::buffer_digits#14 ) + (byte) printf_number_buffer::format_upper_case#6 ← phi( printf_number_buffer::@1/(byte) printf_number_buffer::format_upper_case#8 printf_number_buffer::@16/(byte) printf_number_buffer::format_upper_case#9 ) + (signed byte) printf_number_buffer::padding#10 ← phi( printf_number_buffer::@1/(signed byte) printf_number_buffer::padding#3 printf_number_buffer::@16/(signed byte) printf_number_buffer::padding#12 ) + (byte) printf_number_buffer::format_zero_padding#9 ← phi( printf_number_buffer::@1/(byte) printf_number_buffer::format_zero_padding#2 printf_number_buffer::@16/(byte) printf_number_buffer::format_zero_padding#13 ) + (byte) printf_number_buffer::buffer_sign#3 ← phi( printf_number_buffer::@1/(byte) printf_number_buffer::buffer_sign#6 printf_number_buffer::@16/(byte) printf_number_buffer::buffer_sign#7 ) + (bool~) printf_number_buffer::$30 ← (number) 0 != (byte) printf_number_buffer::buffer_sign#3 + (bool~) printf_number_buffer::$7 ← ! (bool~) printf_number_buffer::$30 + if((bool~) 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 + (byte) printf_number_buffer::format_justify_left#21 ← phi( printf_number_buffer::@1/(byte) printf_number_buffer::format_justify_left#2 ) + (byte*) printf_number_buffer::buffer_digits#18 ← phi( printf_number_buffer::@1/(byte*) printf_number_buffer::buffer_digits#13 ) + (byte) printf_number_buffer::format_upper_case#14 ← phi( printf_number_buffer::@1/(byte) printf_number_buffer::format_upper_case#8 ) + (byte) printf_number_buffer::format_zero_padding#18 ← phi( printf_number_buffer::@1/(byte) printf_number_buffer::format_zero_padding#2 ) + (byte) printf_number_buffer::buffer_sign#11 ← phi( printf_number_buffer::@1/(byte) printf_number_buffer::buffer_sign#6 ) + (signed byte) printf_number_buffer::padding#4 ← phi( printf_number_buffer::@1/(signed byte) printf_number_buffer::padding#3 ) + (byte) printf_padding::pad#0 ← (byte) ' ' + (byte) printf_padding::length#0 ← (byte)(signed byte) 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 + (byte) printf_number_buffer::format_justify_left#19 ← phi( printf_number_buffer::@8/(byte) printf_number_buffer::format_justify_left#21 ) + (byte*) printf_number_buffer::buffer_digits#14 ← phi( printf_number_buffer::@8/(byte*) printf_number_buffer::buffer_digits#18 ) + (byte) printf_number_buffer::format_upper_case#9 ← phi( printf_number_buffer::@8/(byte) printf_number_buffer::format_upper_case#14 ) + (signed byte) printf_number_buffer::padding#12 ← phi( printf_number_buffer::@8/(signed byte) printf_number_buffer::padding#4 ) + (byte) printf_number_buffer::format_zero_padding#13 ← phi( printf_number_buffer::@8/(byte) printf_number_buffer::format_zero_padding#18 ) + (byte) printf_number_buffer::buffer_sign#7 ← phi( printf_number_buffer::@8/(byte) printf_number_buffer::buffer_sign#11 ) + to:printf_number_buffer::@2 +printf_number_buffer::@3: scope:[printf_number_buffer] from printf_number_buffer::@17 printf_number_buffer::@2 + (byte) printf_number_buffer::format_justify_left#14 ← phi( printf_number_buffer::@17/(byte) printf_number_buffer::format_justify_left#16 printf_number_buffer::@2/(byte) printf_number_buffer::format_justify_left#17 ) + (byte*) printf_number_buffer::buffer_digits#9 ← phi( printf_number_buffer::@17/(byte*) printf_number_buffer::buffer_digits#10 printf_number_buffer::@2/(byte*) printf_number_buffer::buffer_digits#11 ) + (byte) printf_number_buffer::format_upper_case#4 ← phi( printf_number_buffer::@17/(byte) printf_number_buffer::format_upper_case#5 printf_number_buffer::@2/(byte) printf_number_buffer::format_upper_case#6 ) + (signed byte) printf_number_buffer::padding#5 ← phi( printf_number_buffer::@17/(signed byte) printf_number_buffer::padding#9 printf_number_buffer::@2/(signed byte) printf_number_buffer::padding#10 ) + (byte) printf_number_buffer::format_zero_padding#3 ← phi( printf_number_buffer::@17/(byte) printf_number_buffer::format_zero_padding#8 printf_number_buffer::@2/(byte) printf_number_buffer::format_zero_padding#9 ) + (bool~) printf_number_buffer::$9 ← (byte) printf_number_buffer::format_zero_padding#3 && (signed byte) printf_number_buffer::padding#5 + (bool~) printf_number_buffer::$10 ← ! (bool~) printf_number_buffer::$9 + if((bool~) 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 + (byte) printf_number_buffer::format_justify_left#20 ← phi( printf_number_buffer::@2/(byte) printf_number_buffer::format_justify_left#17 ) + (byte*) printf_number_buffer::buffer_digits#15 ← phi( printf_number_buffer::@2/(byte*) printf_number_buffer::buffer_digits#11 ) + (byte) printf_number_buffer::format_upper_case#10 ← phi( printf_number_buffer::@2/(byte) printf_number_buffer::format_upper_case#6 ) + (signed byte) printf_number_buffer::padding#13 ← phi( printf_number_buffer::@2/(signed byte) printf_number_buffer::padding#10 ) + (byte) printf_number_buffer::format_zero_padding#14 ← phi( printf_number_buffer::@2/(byte) printf_number_buffer::format_zero_padding#9 ) + (byte) printf_number_buffer::buffer_sign#4 ← phi( printf_number_buffer::@2/(byte) printf_number_buffer::buffer_sign#3 ) + (byte) cputc::c#2 ← (byte) printf_number_buffer::buffer_sign#4 + call cputc + to:printf_number_buffer::@17 +printf_number_buffer::@17: scope:[printf_number_buffer] from printf_number_buffer::@9 + (byte) printf_number_buffer::format_justify_left#16 ← phi( printf_number_buffer::@9/(byte) printf_number_buffer::format_justify_left#20 ) + (byte*) printf_number_buffer::buffer_digits#10 ← phi( printf_number_buffer::@9/(byte*) printf_number_buffer::buffer_digits#15 ) + (byte) printf_number_buffer::format_upper_case#5 ← phi( printf_number_buffer::@9/(byte) printf_number_buffer::format_upper_case#10 ) + (signed byte) printf_number_buffer::padding#9 ← phi( printf_number_buffer::@9/(signed byte) printf_number_buffer::padding#13 ) + (byte) printf_number_buffer::format_zero_padding#8 ← phi( printf_number_buffer::@9/(byte) printf_number_buffer::format_zero_padding#14 ) + to:printf_number_buffer::@3 +printf_number_buffer::@4: scope:[printf_number_buffer] from printf_number_buffer::@18 printf_number_buffer::@3 + (signed byte) printf_number_buffer::padding#15 ← phi( printf_number_buffer::@18/(signed byte) printf_number_buffer::padding#16 printf_number_buffer::@3/(signed byte) printf_number_buffer::padding#5 ) + (byte) printf_number_buffer::format_justify_left#11 ← phi( printf_number_buffer::@18/(byte) printf_number_buffer::format_justify_left#13 printf_number_buffer::@3/(byte) printf_number_buffer::format_justify_left#14 ) + (byte) printf_number_buffer::format_zero_padding#16 ← phi( printf_number_buffer::@18/(byte) printf_number_buffer::format_zero_padding#19 printf_number_buffer::@3/(byte) printf_number_buffer::format_zero_padding#3 ) + (byte*) printf_number_buffer::buffer_digits#7 ← phi( printf_number_buffer::@18/(byte*) printf_number_buffer::buffer_digits#8 printf_number_buffer::@3/(byte*) printf_number_buffer::buffer_digits#9 ) + (byte) printf_number_buffer::format_upper_case#2 ← phi( printf_number_buffer::@18/(byte) printf_number_buffer::format_upper_case#3 printf_number_buffer::@3/(byte) printf_number_buffer::format_upper_case#4 ) + (bool~) printf_number_buffer::$31 ← (number) 0 != (byte) printf_number_buffer::format_upper_case#2 + (bool~) printf_number_buffer::$12 ← ! (bool~) printf_number_buffer::$31 + if((bool~) 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 + (byte) printf_number_buffer::format_justify_left#18 ← phi( printf_number_buffer::@3/(byte) printf_number_buffer::format_justify_left#14 ) + (byte) printf_number_buffer::format_zero_padding#21 ← phi( printf_number_buffer::@3/(byte) printf_number_buffer::format_zero_padding#3 ) + (byte*) printf_number_buffer::buffer_digits#12 ← phi( printf_number_buffer::@3/(byte*) printf_number_buffer::buffer_digits#9 ) + (byte) printf_number_buffer::format_upper_case#7 ← phi( printf_number_buffer::@3/(byte) printf_number_buffer::format_upper_case#4 ) + (signed byte) printf_number_buffer::padding#6 ← phi( printf_number_buffer::@3/(signed byte) printf_number_buffer::padding#5 ) + (byte) printf_padding::pad#1 ← (byte) '0' + (byte) printf_padding::length#1 ← (byte)(signed byte) printf_number_buffer::padding#6 + call printf_padding + to:printf_number_buffer::@18 +printf_number_buffer::@18: scope:[printf_number_buffer] from printf_number_buffer::@10 + (signed byte) printf_number_buffer::padding#16 ← phi( printf_number_buffer::@10/(signed byte) printf_number_buffer::padding#6 ) + (byte) printf_number_buffer::format_justify_left#13 ← phi( printf_number_buffer::@10/(byte) printf_number_buffer::format_justify_left#18 ) + (byte) printf_number_buffer::format_zero_padding#19 ← phi( printf_number_buffer::@10/(byte) printf_number_buffer::format_zero_padding#21 ) + (byte*) printf_number_buffer::buffer_digits#8 ← phi( printf_number_buffer::@10/(byte*) printf_number_buffer::buffer_digits#12 ) + (byte) printf_number_buffer::format_upper_case#3 ← phi( printf_number_buffer::@10/(byte) printf_number_buffer::format_upper_case#7 ) + to:printf_number_buffer::@4 +printf_number_buffer::@5: scope:[printf_number_buffer] from printf_number_buffer::@20 printf_number_buffer::@4 + (signed byte) printf_number_buffer::padding#11 ← phi( printf_number_buffer::@20/(signed byte) printf_number_buffer::padding#14 printf_number_buffer::@4/(signed byte) printf_number_buffer::padding#15 ) + (byte) printf_number_buffer::format_justify_left#7 ← phi( printf_number_buffer::@20/(byte) printf_number_buffer::format_justify_left#10 printf_number_buffer::@4/(byte) printf_number_buffer::format_justify_left#11 ) + (byte) printf_number_buffer::format_zero_padding#10 ← phi( printf_number_buffer::@20/(byte) printf_number_buffer::format_zero_padding#15 printf_number_buffer::@4/(byte) printf_number_buffer::format_zero_padding#16 ) + (byte*) printf_number_buffer::buffer_digits#3 ← phi( printf_number_buffer::@20/(byte*) printf_number_buffer::buffer_digits#6 printf_number_buffer::@4/(byte*) printf_number_buffer::buffer_digits#7 ) + (to_nomodify byte*) cputs::s#1 ← (byte*) printf_number_buffer::buffer_digits#3 + call cputs + to:printf_number_buffer::@19 +printf_number_buffer::@19: scope:[printf_number_buffer] from printf_number_buffer::@5 + (signed byte) printf_number_buffer::padding#7 ← phi( printf_number_buffer::@5/(signed byte) printf_number_buffer::padding#11 ) + (byte) printf_number_buffer::format_justify_left#3 ← phi( printf_number_buffer::@5/(byte) printf_number_buffer::format_justify_left#7 ) + (byte) printf_number_buffer::format_zero_padding#4 ← phi( printf_number_buffer::@5/(byte) printf_number_buffer::format_zero_padding#10 ) + (bool~) printf_number_buffer::$32 ← (number) 0 != (byte) printf_number_buffer::format_zero_padding#4 + (bool~) printf_number_buffer::$14 ← ! (bool~) printf_number_buffer::$32 + (bool~) printf_number_buffer::$15 ← (byte) printf_number_buffer::format_justify_left#3 && (bool~) printf_number_buffer::$14 + (bool~) printf_number_buffer::$16 ← (bool~) printf_number_buffer::$15 && (signed byte) printf_number_buffer::padding#7 + (bool~) printf_number_buffer::$17 ← ! (bool~) printf_number_buffer::$16 + if((bool~) 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 + (signed byte) printf_number_buffer::padding#17 ← phi( printf_number_buffer::@4/(signed byte) printf_number_buffer::padding#15 ) + (byte) printf_number_buffer::format_justify_left#15 ← phi( printf_number_buffer::@4/(byte) printf_number_buffer::format_justify_left#11 ) + (byte) printf_number_buffer::format_zero_padding#20 ← phi( printf_number_buffer::@4/(byte) printf_number_buffer::format_zero_padding#16 ) + (byte*) printf_number_buffer::buffer_digits#4 ← phi( printf_number_buffer::@4/(byte*) printf_number_buffer::buffer_digits#7 ) + (byte*) strupr::str#0 ← (byte*) printf_number_buffer::buffer_digits#4 + call strupr + (byte*) strupr::return#2 ← (byte*) strupr::return#1 + to:printf_number_buffer::@20 +printf_number_buffer::@20: scope:[printf_number_buffer] from printf_number_buffer::@11 + (signed byte) printf_number_buffer::padding#14 ← phi( printf_number_buffer::@11/(signed byte) printf_number_buffer::padding#17 ) + (byte) printf_number_buffer::format_justify_left#10 ← phi( printf_number_buffer::@11/(byte) printf_number_buffer::format_justify_left#15 ) + (byte) printf_number_buffer::format_zero_padding#15 ← phi( printf_number_buffer::@11/(byte) printf_number_buffer::format_zero_padding#20 ) + (byte*) printf_number_buffer::buffer_digits#6 ← phi( printf_number_buffer::@11/(byte*) printf_number_buffer::buffer_digits#4 ) + to:printf_number_buffer::@5 +printf_number_buffer::@12: scope:[printf_number_buffer] from printf_number_buffer::@19 + (signed byte) printf_number_buffer::padding#8 ← phi( printf_number_buffer::@19/(signed byte) printf_number_buffer::padding#7 ) + (byte) printf_padding::pad#2 ← (byte) ' ' + (byte) printf_padding::length#2 ← (byte)(signed byte) printf_number_buffer::padding#8 + call printf_padding + to:printf_number_buffer::@21 +printf_number_buffer::@21: 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::@19 printf_number_buffer::@21 + return + to:@return + +(void()) main() +main: scope:[main] from @3 + (word) rand_state#30 ← phi( @3/(word) rand_state#18 ) + call clrscr + to:main::@7 +main::@7: scope:[main] from main + (word) rand_state#26 ← phi( main/(word) rand_state#30 ) + (byte) textcolor::color#0 ← (const nomodify byte) WHITE + call textcolor + (byte) textcolor::return#2 ← (byte) textcolor::return#1 + to:main::@8 +main::@8: scope:[main] from main::@7 + (word) rand_state#19 ← phi( main::@7/(word) rand_state#26 ) + (to_nomodify byte*) cputs::s#2 ← (const byte*) main::s + call cputs + to:main::@9 +main::@9: scope:[main] from main::@8 + (word) rand_state#16 ← phi( main::@8/(word) rand_state#19 ) + call rand + (word) rand::return#2 ← (word) rand::return#1 + to:main::@10 +main::@10: scope:[main] from main::@9 + (word) rand_state#11 ← phi( main::@9/(word) rand_state#4 ) + (word) rand::return#5 ← phi( main::@9/(word) rand::return#2 ) + (word~) main::$3 ← (word) rand::return#5 + (word) rand_state#5 ← (word) rand_state#11 + (word) main::first#0 ← (word~) main::$3 + (dword) main::cnt#0 ← (dword) 0 + (byte) textcolor::color#1 ← (const nomodify byte) LIGHT_BLUE + call textcolor + (byte) textcolor::return#3 ← (byte) textcolor::return#1 + to:main::@11 +main::@11: scope:[main] from main::@10 + (word) rand_state#27 ← phi( main::@10/(word) rand_state#5 ) + (dword) main::cnt#4 ← phi( main::@10/(dword) main::cnt#0 ) + (word) main::first#1 ← phi( main::@10/(word) main::first#0 ) + (byte) main::col#0 ← (byte) 3 + (byte) main::row#0 ← (byte) 1 + (word) main::rnd#0 ← (word) main::first#1 + to:main::@1 +main::@1: scope:[main] from main::@11 main::@12 + (word) main::rnd#4 ← phi( main::@11/(word) main::rnd#0 main::@12/(word) main::rnd#1 ) + (word) main::first#4 ← phi( main::@11/(word) main::first#1 main::@12/(word) main::first#2 ) + (word) rand_state#20 ← phi( main::@11/(word) rand_state#27 main::@12/(word) rand_state#6 ) + (byte) main::row#5 ← phi( main::@11/(byte) main::row#0 main::@12/(byte) main::row#7 ) + (byte) main::col#5 ← phi( main::@11/(byte) main::col#0 main::@12/(byte) main::col#7 ) + (dword) main::cnt#2 ← phi( main::@11/(dword) main::cnt#4 main::@12/(dword) main::cnt#5 ) + (dword) main::cnt#1 ← ++ (dword) main::cnt#2 + (byte~) main::$18 ← (byte)(dword) main::cnt#1 + (bool~) main::$8 ← (byte~) main::$18 == (number) 0 + (bool~) main::$9 ← ! (bool~) main::$8 + if((bool~) main::$9) goto main::@2 + to:main::@3 +main::@2: scope:[main] from main::@1 main::@14 main::@4 main::@5 + (byte) main::row#8 ← phi( main::@1/(byte) main::row#5 main::@14/(byte) main::row#1 main::@4/(byte) main::row#2 main::@5/(byte) main::row#9 ) + (byte) main::col#9 ← phi( main::@1/(byte) main::col#5 main::@14/(byte) main::col#6 main::@4/(byte) main::col#1 main::@5/(byte) main::col#2 ) + (dword) main::cnt#7 ← phi( main::@1/(dword) main::cnt#1 main::@14/(dword) main::cnt#9 main::@4/(dword) main::cnt#10 main::@5/(dword) main::cnt#11 ) + (word) main::first#3 ← phi( main::@1/(word) main::first#4 main::@14/(word) main::first#5 main::@4/(word) main::first#6 main::@5/(word) main::first#7 ) + (word) rand_state#15 ← phi( main::@1/(word) rand_state#20 main::@14/(word) rand_state#21 main::@4/(word) rand_state#22 main::@5/(word) rand_state#23 ) + call rand + (word) rand::return#3 ← (word) rand::return#1 + to:main::@12 +main::@12: scope:[main] from main::@2 + (byte) main::row#7 ← phi( main::@2/(byte) main::row#8 ) + (byte) main::col#7 ← phi( main::@2/(byte) main::col#9 ) + (dword) main::cnt#5 ← phi( main::@2/(dword) main::cnt#7 ) + (word) main::first#2 ← phi( main::@2/(word) main::first#3 ) + (word) rand_state#12 ← phi( main::@2/(word) rand_state#4 ) + (word) rand::return#6 ← phi( main::@2/(word) rand::return#3 ) + (word~) main::$16 ← (word) rand::return#6 + (word) rand_state#6 ← (word) rand_state#12 + (word) main::rnd#1 ← (word~) main::$16 + (bool~) main::$17 ← (word) main::rnd#1 != (word) main::first#2 + if((bool~) main::$17) goto main::@1 + to:main::@6 +main::@3: scope:[main] from main::@1 + (dword) main::cnt#14 ← phi( main::@1/(dword) main::cnt#1 ) + (word) main::first#9 ← phi( main::@1/(word) main::first#4 ) + (word) rand_state#31 ← phi( main::@1/(word) rand_state#20 ) + (word) main::rnd#3 ← phi( main::@1/(word) main::rnd#4 ) + (byte) main::row#3 ← phi( main::@1/(byte) main::row#5 ) + (byte) main::col#3 ← phi( main::@1/(byte) main::col#5 ) + (byte) gotoxy::x#2 ← (byte) main::col#3 + (byte) gotoxy::y#2 ← (byte) main::row#3 + call gotoxy + to:main::@13 +main::@13: scope:[main] from main::@3 + (dword) main::cnt#13 ← phi( main::@3/(dword) main::cnt#14 ) + (word) main::first#8 ← phi( main::@3/(word) main::first#9 ) + (word) rand_state#28 ← phi( main::@3/(word) rand_state#31 ) + (byte) main::col#8 ← phi( main::@3/(byte) main::col#3 ) + (byte) main::row#6 ← phi( main::@3/(byte) main::row#3 ) + (word) main::rnd#2 ← phi( main::@3/(word) main::rnd#3 ) + (word) printf_uint::uvalue#0 ← (word) main::rnd#2 + (byte) printf_uint::format_min_length#0 ← (byte) 5 + (byte) printf_uint::format_justify_left#0 ← (byte) 0 + (byte) printf_uint::format_sign_always#0 ← (byte) 0 + (byte) printf_uint::format_zero_padding#0 ← (byte) 0 + (byte) printf_uint::format_upper_case#0 ← (byte) 0 + (byte) printf_uint::format_radix#0 ← (const byte) DECIMAL + call printf_uint + to:main::@14 +main::@14: scope:[main] from main::@13 + (dword) main::cnt#9 ← phi( main::@13/(dword) main::cnt#13 ) + (word) main::first#5 ← phi( main::@13/(word) main::first#8 ) + (word) rand_state#21 ← phi( main::@13/(word) rand_state#28 ) + (byte) main::col#6 ← phi( main::@13/(byte) main::col#8 ) + (byte) main::row#4 ← phi( main::@13/(byte) main::row#6 ) + (byte) main::row#1 ← ++ (byte) main::row#4 + (bool~) main::$12 ← (byte) main::row#1 == (number) $19 + (bool~) main::$13 ← ! (bool~) main::$12 + if((bool~) main::$13) goto main::@2 + to:main::@4 +main::@4: scope:[main] from main::@14 + (dword) main::cnt#10 ← phi( main::@14/(dword) main::cnt#9 ) + (word) main::first#6 ← phi( main::@14/(word) main::first#5 ) + (word) rand_state#22 ← phi( main::@14/(word) rand_state#21 ) + (byte) main::col#4 ← phi( main::@14/(byte) main::col#6 ) + (byte) main::row#2 ← (number) 1 + (byte) main::col#1 ← (byte) main::col#4 + (number) 6 + (bool~) main::$14 ← (byte) main::col#1 > (number) $28-(number) 5 + (bool~) main::$15 ← ! (bool~) main::$14 + if((bool~) main::$15) goto main::@2 + to:main::@5 +main::@5: scope:[main] from main::@4 + (byte) main::row#9 ← phi( main::@4/(byte) main::row#2 ) + (dword) main::cnt#11 ← phi( main::@4/(dword) main::cnt#10 ) + (word) main::first#7 ← phi( main::@4/(word) main::first#6 ) + (word) rand_state#23 ← phi( main::@4/(word) rand_state#22 ) + (byte) main::col#2 ← (number) 3 + to:main::@2 +main::@6: scope:[main] from main::@12 + (word) rand_state#33 ← phi( main::@12/(word) rand_state#6 ) + (dword) main::cnt#12 ← phi( main::@12/(dword) main::cnt#5 ) + (byte) gotoxy::x#3 ← (number) $1c + (byte) gotoxy::y#3 ← (number) 0 + call gotoxy + to:main::@15 +main::@15: scope:[main] from main::@6 + (word) rand_state#32 ← phi( main::@6/(word) rand_state#33 ) + (dword) main::cnt#8 ← phi( main::@6/(dword) main::cnt#12 ) + (byte) textcolor::color#2 ← (const nomodify byte) WHITE + call textcolor + (byte) textcolor::return#4 ← (byte) textcolor::return#1 + to:main::@16 +main::@16: scope:[main] from main::@15 + (word) rand_state#29 ← phi( main::@15/(word) rand_state#32 ) + (dword) main::cnt#6 ← phi( main::@15/(dword) main::cnt#8 ) + (to_nomodify byte*) cputs::s#3 ← (const byte*) main::s1 + call cputs + to:main::@17 +main::@17: scope:[main] from main::@16 + (word) rand_state#24 ← phi( main::@16/(word) rand_state#29 ) + (dword) main::cnt#3 ← phi( main::@16/(dword) main::cnt#6 ) + (dword) printf_ulong::uvalue#0 ← (dword) main::cnt#3 + (byte) printf_ulong::format_min_length#0 ← (byte) 0 + (byte) printf_ulong::format_justify_left#0 ← (byte) 0 + (byte) printf_ulong::format_sign_always#0 ← (byte) 0 + (byte) printf_ulong::format_zero_padding#0 ← (byte) 0 + (byte) printf_ulong::format_upper_case#0 ← (byte) 0 + (byte) printf_ulong::format_radix#0 ← (const byte) DECIMAL + call printf_ulong + to:main::@18 +main::@18: scope:[main] from main::@17 + (word) rand_state#17 ← phi( main::@17/(word) rand_state#24 ) + to:main::@return +main::@return: scope:[main] from main::@18 + (word) rand_state#13 ← phi( main::@18/(word) rand_state#17 ) + (word) rand_state#7 ← (word) rand_state#13 + return + to:@return +@3: scope:[] from @2 + (word) rand_state#18 ← phi( @2/(word) rand_state#25 ) + call main + to:@4 +@4: scope:[] from @3 + (word) rand_state#14 ← phi( @3/(word) rand_state#7 ) + (word) rand_state#8 ← (word) rand_state#14 + to:@end +@end: scope:[] from @4 + +SYMBOL TABLE SSA +(label) @1 +(label) @2 +(label) @3 +(label) @4 +(label) @begin +(label) @end +(const byte) BINARY = (number) 2 +(const nomodify byte*) CONIO_SCREEN_COLORS = (byte*)(number) $d800 +(const nomodify byte*) CONIO_SCREEN_TEXT = (byte*)(number) $400 +(const nomodify byte) CONIO_TEXTCOLOR_DEFAULT = (byte) $e +(const byte) DECIMAL = (number) $a +(const byte*) DIGITS[] = (byte*) "0123456789abcdef"z +(const byte) HEXADECIMAL = (number) $10 +(const nomodify byte) LIGHT_BLUE = (byte) $e +(byte) MOS6526_CIA::INTERRUPT +(byte) MOS6526_CIA::PORT_A +(byte) MOS6526_CIA::PORT_A_DDR +(byte) MOS6526_CIA::PORT_B +(byte) MOS6526_CIA::PORT_B_DDR +(byte) MOS6526_CIA::SERIAL_DATA +(word) MOS6526_CIA::TIMER_A +(byte) MOS6526_CIA::TIMER_A_CONTROL +(word) MOS6526_CIA::TIMER_B +(byte) MOS6526_CIA::TIMER_B_CONTROL +(byte) MOS6526_CIA::TOD_10THS +(byte) MOS6526_CIA::TOD_HOURS +(byte) MOS6526_CIA::TOD_MIN +(byte) MOS6526_CIA::TOD_SEC +(byte) MOS6569_VICII::BG_COLOR +(byte) MOS6569_VICII::BG_COLOR1 +(byte) MOS6569_VICII::BG_COLOR2 +(byte) MOS6569_VICII::BG_COLOR3 +(byte) MOS6569_VICII::BORDER_COLOR +(byte) MOS6569_VICII::CONTROL1 +(byte) MOS6569_VICII::CONTROL2 +(byte) MOS6569_VICII::IRQ_ENABLE +(byte) MOS6569_VICII::IRQ_STATUS +(byte) MOS6569_VICII::LIGHTPEN_X +(byte) MOS6569_VICII::LIGHTPEN_Y +(byte) MOS6569_VICII::MEMORY +(byte) MOS6569_VICII::RASTER +(byte) MOS6569_VICII::SPRITE0_COLOR +(byte) MOS6569_VICII::SPRITE0_X +(byte) MOS6569_VICII::SPRITE0_Y +(byte) MOS6569_VICII::SPRITE1_COLOR +(byte) MOS6569_VICII::SPRITE1_X +(byte) MOS6569_VICII::SPRITE1_Y +(byte) MOS6569_VICII::SPRITE2_COLOR +(byte) MOS6569_VICII::SPRITE2_X +(byte) MOS6569_VICII::SPRITE2_Y +(byte) MOS6569_VICII::SPRITE3_COLOR +(byte) MOS6569_VICII::SPRITE3_X +(byte) MOS6569_VICII::SPRITE3_Y +(byte) MOS6569_VICII::SPRITE4_COLOR +(byte) MOS6569_VICII::SPRITE4_X +(byte) MOS6569_VICII::SPRITE4_Y +(byte) MOS6569_VICII::SPRITE5_COLOR +(byte) MOS6569_VICII::SPRITE5_X +(byte) MOS6569_VICII::SPRITE5_Y +(byte) MOS6569_VICII::SPRITE6_COLOR +(byte) MOS6569_VICII::SPRITE6_X +(byte) MOS6569_VICII::SPRITE6_Y +(byte) MOS6569_VICII::SPRITE7_COLOR +(byte) MOS6569_VICII::SPRITE7_X +(byte) MOS6569_VICII::SPRITE7_Y +(byte) MOS6569_VICII::SPRITES_BG_COLLISION +(byte) MOS6569_VICII::SPRITES_COLLISION +(byte) MOS6569_VICII::SPRITES_ENABLE +(byte) MOS6569_VICII::SPRITES_EXPAND_X +(byte) MOS6569_VICII::SPRITES_EXPAND_Y +(byte) MOS6569_VICII::SPRITES_MC +(byte) MOS6569_VICII::SPRITES_MCOLOR1 +(byte) MOS6569_VICII::SPRITES_MCOLOR2 +(byte) MOS6569_VICII::SPRITES_PRIORITY +(byte) MOS6569_VICII::SPRITES_XMSB +(byte) MOS6581_SID::CH1_ATTACK_DECAY +(byte) MOS6581_SID::CH1_CONTROL +(word) MOS6581_SID::CH1_FREQ +(word) MOS6581_SID::CH1_PULSE_WIDTH +(byte) MOS6581_SID::CH1_SUSTAIN_RELEASE +(byte) MOS6581_SID::CH2_ATTACK_DECAY +(byte) MOS6581_SID::CH2_CONTROL +(word) MOS6581_SID::CH2_FREQ +(word) MOS6581_SID::CH2_PULSE_WIDTH +(byte) MOS6581_SID::CH2_SUSTAIN_RELEASE +(byte) MOS6581_SID::CH3_ATTACK_DECAY +(byte) MOS6581_SID::CH3_CONTROL +(byte) MOS6581_SID::CH3_ENV +(word) MOS6581_SID::CH3_FREQ +(byte) MOS6581_SID::CH3_OSC +(word) MOS6581_SID::CH3_PULSE_WIDTH +(byte) MOS6581_SID::CH3_SUSTAIN_RELEASE +(byte) MOS6581_SID::FILTER_CUTOFF_HIGH +(byte) MOS6581_SID::FILTER_CUTOFF_LOW +(byte) MOS6581_SID::FILTER_SETUP +(byte) MOS6581_SID::POT_X +(byte) MOS6581_SID::POT_Y +(byte) MOS6581_SID::VOLUME_FILTER_MODE +(const byte) OCTAL = (number) 8 +(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS = (byte) 1 +(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN = (byte) 0 +(const byte) RADIX::BINARY = (number) 2 +(const byte) RADIX::DECIMAL = (number) $a +(const byte) RADIX::HEXADECIMAL = (number) $10 +(const byte) RADIX::OCTAL = (number) 8 +(const word*) RADIX_BINARY_VALUES[] = { (word) $8000, (word) $4000, (word) $2000, (word) $1000, (word) $800, (word) $400, (word) $200, (word) $100, (word) $80, (word) $40, (word) $20, (word) $10, (word) 8, (word) 4, (word) 2 } +(const dword*) RADIX_BINARY_VALUES_LONG[] = { (dword) $80000000, (dword) $40000000, (dword) $20000000, (dword) $10000000, (dword) $8000000, (dword) $4000000, (dword) $2000000, (dword) $1000000, (dword) $800000, (dword) $400000, (dword) $200000, (dword) $100000, (dword) $80000, (dword) $40000, (dword) $20000, (dword) $10000, (dword) $8000, (dword) $4000, (dword) $2000, (dword) $1000, (dword) $800, (dword) $400, (dword) $200, (dword) $100, (dword) $80, (dword) $40, (dword) $20, (dword) $10, (dword) 8, (dword) 4, (dword) 2 } +(const word*) RADIX_DECIMAL_VALUES[] = { (word) $2710, (word) $3e8, (word) $64, (word) $a } +(const dword*) RADIX_DECIMAL_VALUES_LONG[] = { (dword) $3b9aca00, (dword) $5f5e100, (dword) $989680, (dword) $f4240, (dword) $186a0, (dword) $2710, (dword) $3e8, (dword) $64, (dword) $a } +(const word*) RADIX_HEXADECIMAL_VALUES[] = { (word) $1000, (word) $100, (word) $10 } +(const dword*) RADIX_HEXADECIMAL_VALUES_LONG[] = { (dword) $10000000, (dword) $1000000, (dword) $100000, (dword) $10000, (dword) $1000, (dword) $100, (dword) $10 } +(const word*) RADIX_OCTAL_VALUES[] = { (word) $8000, (word) $1000, (word) $200, (word) $40, (word) 8 } +(const dword*) RADIX_OCTAL_VALUES_LONG[] = { (dword) $40000000, (dword) $8000000, (dword) $1000000, (dword) $200000, (dword) $40000, (dword) $8000, (dword) $1000, (dword) $200, (dword) $40, (dword) 8 } +(const byte) SIZEOF_DWORD = (byte) 4 +(const byte) SIZEOF_WORD = (byte) 2 +(const nomodify byte) WHITE = (byte) 1 +(void()) clrscr() +(bool~) clrscr::$0 +(bool~) clrscr::$1 +(label) clrscr::@1 +(label) clrscr::@2 +(label) clrscr::@3 +(label) clrscr::@4 +(label) clrscr::@5 +(label) clrscr::@6 +(label) clrscr::@return +(byte) clrscr::c +(byte) clrscr::c#0 +(byte) clrscr::c#1 +(byte) clrscr::c#2 +(byte) clrscr::c#3 +(byte) clrscr::l +(byte) clrscr::l#0 +(byte) clrscr::l#1 +(byte) clrscr::l#2 +(byte) clrscr::l#3 +(byte) clrscr::l#4 +(byte) clrscr::l#5 +(byte) clrscr::l#6 +(byte*) clrscr::line_cols +(byte*) clrscr::line_cols#0 +(byte*) clrscr::line_cols#1 +(byte*) clrscr::line_cols#2 +(byte*) clrscr::line_cols#3 +(byte*) clrscr::line_cols#4 +(byte*) clrscr::line_cols#5 +(byte*) clrscr::line_cols#6 +(byte*) clrscr::line_text +(byte*) clrscr::line_text#0 +(byte*) clrscr::line_text#1 +(byte*) clrscr::line_text#2 +(byte*) clrscr::line_text#3 +(byte*) clrscr::line_text#4 +(byte*) clrscr::line_text#5 +(byte*) clrscr::line_text#6 +(byte*) conio_cursor_color loadstore +(byte*) conio_cursor_text loadstore +(byte) conio_cursor_x loadstore +(byte) conio_cursor_y loadstore +(byte) conio_scroll_enable loadstore +(byte) conio_textcolor loadstore +(void()) cputc((byte) cputc::c) +(bool~) cputc::$0 +(bool~) cputc::$1 +(bool~) cputc::$2 +(label) cputc::@1 +(label) cputc::@2 +(label) cputc::@3 +(label) cputc::@4 +(label) cputc::@5 +(label) cputc::@return +(byte) cputc::c +(byte) cputc::c#0 +(byte) cputc::c#1 +(byte) cputc::c#2 +(byte) cputc::c#3 +(byte) cputc::c#4 +(void()) cputln() +(byte*~) cputln::$0 +(byte*~) cputln::$1 +(byte*~) cputln::$2 +(byte*~) cputln::$3 +(label) cputln::@1 +(label) cputln::@return +(void()) cputs((to_nomodify byte*) cputs::s) +(bool~) cputs::$1 +(label) cputs::@1 +(label) cputs::@2 +(label) cputs::@3 +(label) cputs::@return +(byte) cputs::c +(byte) cputs::c#0 +(byte) cputs::c#1 +(byte) cputs::c#2 +(to_nomodify byte*) cputs::s +(to_nomodify byte*) cputs::s#0 +(to_nomodify byte*) cputs::s#1 +(to_nomodify byte*) cputs::s#2 +(to_nomodify byte*) cputs::s#3 +(to_nomodify byte*) cputs::s#4 +(to_nomodify byte*) cputs::s#5 +(to_nomodify byte*) cputs::s#6 +(to_nomodify byte*) cputs::s#7 +(void()) cscroll() +(bool~) cscroll::$0 +(bool~) cscroll::$1 +(byte*~) cscroll::$7 +(byte*~) cscroll::$8 +(bool~) cscroll::$9 +(label) cscroll::@1 +(label) cscroll::@2 +(label) cscroll::@3 +(label) cscroll::@4 +(label) cscroll::@5 +(label) cscroll::@6 +(label) cscroll::@7 +(label) cscroll::@8 +(label) cscroll::@return +(void()) gotoxy((byte) gotoxy::x , (byte) gotoxy::y) +(bool~) gotoxy::$0 +(bool~) gotoxy::$1 +(bool~) gotoxy::$2 +(bool~) gotoxy::$3 +(number~) gotoxy::$4 +(number~) gotoxy::$5 +(byte*~) gotoxy::$6 +(byte*~) gotoxy::$7 +(word~) gotoxy::$8 +(label) gotoxy::@1 +(label) gotoxy::@2 +(label) gotoxy::@3 +(label) gotoxy::@4 +(label) gotoxy::@return +(word) gotoxy::offset +(word) gotoxy::offset#0 +(byte) gotoxy::x +(byte) gotoxy::x#0 +(byte) gotoxy::x#1 +(byte) gotoxy::x#2 +(byte) gotoxy::x#3 +(byte) gotoxy::x#4 +(byte) gotoxy::x#5 +(byte) gotoxy::x#6 +(byte) gotoxy::x#7 +(byte) gotoxy::y +(byte) gotoxy::y#0 +(byte) gotoxy::y#1 +(byte) gotoxy::y#2 +(byte) gotoxy::y#3 +(byte) gotoxy::y#4 +(byte) gotoxy::y#5 +(byte) gotoxy::y#6 +(byte) gotoxy::y#7 +(void()) main() +(bool~) main::$12 +(bool~) main::$13 +(bool~) main::$14 +(bool~) main::$15 +(word~) main::$16 +(bool~) main::$17 +(byte~) main::$18 +(word~) main::$3 +(bool~) main::$8 +(bool~) main::$9 +(label) main::@1 +(label) main::@10 +(label) main::@11 +(label) main::@12 +(label) main::@13 +(label) main::@14 +(label) main::@15 +(label) main::@16 +(label) main::@17 +(label) main::@18 +(label) main::@2 +(label) main::@3 +(label) main::@4 +(label) main::@5 +(label) main::@6 +(label) main::@7 +(label) main::@8 +(label) main::@9 +(label) main::@return +(dword) main::cnt +(dword) main::cnt#0 +(dword) main::cnt#1 +(dword) main::cnt#10 +(dword) main::cnt#11 +(dword) main::cnt#12 +(dword) main::cnt#13 +(dword) main::cnt#14 +(dword) main::cnt#2 +(dword) main::cnt#3 +(dword) main::cnt#4 +(dword) main::cnt#5 +(dword) main::cnt#6 +(dword) main::cnt#7 +(dword) main::cnt#8 +(dword) main::cnt#9 +(byte) main::col +(byte) main::col#0 +(byte) main::col#1 +(byte) main::col#2 +(byte) main::col#3 +(byte) main::col#4 +(byte) main::col#5 +(byte) main::col#6 +(byte) main::col#7 +(byte) main::col#8 +(byte) main::col#9 +(word) main::first +(word) main::first#0 +(word) main::first#1 +(word) main::first#2 +(word) main::first#3 +(word) main::first#4 +(word) main::first#5 +(word) main::first#6 +(word) main::first#7 +(word) main::first#8 +(word) main::first#9 +(word) main::rnd +(word) main::rnd#0 +(word) main::rnd#1 +(word) main::rnd#2 +(word) main::rnd#3 +(word) main::rnd#4 +(byte) main::row +(byte) main::row#0 +(byte) main::row#1 +(byte) main::row#2 +(byte) main::row#3 +(byte) main::row#4 +(byte) main::row#5 +(byte) main::row#6 +(byte) main::row#7 +(byte) main::row#8 +(byte) main::row#9 +(const byte*) main::s[(byte) $1d] = (byte*) "generating unique randoms..." +(const byte*) main::s1[(byte) 7] = (byte*) "found " +(void*()) memcpy((void*) memcpy::destination , (void*) memcpy::source , (word) memcpy::num) +(byte*~) memcpy::$0 +(bool~) memcpy::$1 +(byte*~) memcpy::$2 +(label) memcpy::@1 +(label) memcpy::@2 +(label) memcpy::@3 +(label) memcpy::@return +(void*) memcpy::destination +(void*) memcpy::destination#0 +(void*) memcpy::destination#1 +(void*) memcpy::destination#2 +(void*) memcpy::destination#3 +(void*) memcpy::destination#4 +(void*) memcpy::destination#5 +(byte*) memcpy::dst +(byte*) memcpy::dst#0 +(byte*) memcpy::dst#1 +(byte*) memcpy::dst#2 +(byte*) memcpy::dst#3 +(word) memcpy::num +(word) memcpy::num#0 +(word) memcpy::num#1 +(word) memcpy::num#2 +(void*) memcpy::return +(void*) memcpy::return#0 +(void*) memcpy::return#1 +(void*) memcpy::return#2 +(void*) memcpy::return#3 +(void*) memcpy::return#4 +(void*) memcpy::source +(void*) memcpy::source#0 +(void*) memcpy::source#1 +(void*) memcpy::source#2 +(byte*) memcpy::src +(byte*) memcpy::src#0 +(byte*) memcpy::src#1 +(byte*) memcpy::src#2 +(byte*) memcpy::src#3 +(byte*) memcpy::src_end +(byte*) memcpy::src_end#0 +(byte*) memcpy::src_end#1 +(byte*) memcpy::src_end#2 +(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) +(bool~) memset::$0 +(bool~) memset::$1 +(byte*~) memset::$2 +(bool~) memset::$3 +(byte*~) memset::$4 +(label) memset::@1 +(label) memset::@2 +(label) memset::@3 +(label) memset::@4 +(label) memset::@return +(byte) memset::c +(byte) memset::c#0 +(byte) memset::c#1 +(byte) memset::c#2 +(byte) memset::c#3 +(byte) memset::c#4 +(byte) memset::c#5 +(byte*) memset::dst +(byte*) memset::dst#0 +(byte*) memset::dst#1 +(byte*) memset::dst#2 +(byte*) memset::dst#3 +(byte*) memset::end +(byte*) memset::end#0 +(byte*) memset::end#1 +(byte*) memset::end#2 +(word) memset::num +(word) memset::num#0 +(word) memset::num#1 +(word) memset::num#2 +(word) 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 +(struct printf_buffer_number) printf_buffer loadstore = {} +(const byte*) printf_buffer_number::digits[(number) $b] = { fill( $b, 0) } +(byte) printf_buffer_number::sign +(byte) printf_format_number::justify_left +(byte) printf_format_number::min_length +(byte) printf_format_number::radix +(byte) printf_format_number::sign_always +(byte) printf_format_number::upper_case +(byte) printf_format_number::zero_padding +(byte) printf_format_string::justify_left +(byte) printf_format_string::min_length +(void()) printf_number_buffer((byte) printf_number_buffer::buffer_sign , (byte*) printf_number_buffer::buffer_digits , (byte) printf_number_buffer::format_min_length , (byte) printf_number_buffer::format_justify_left , (byte) printf_number_buffer::format_sign_always , (byte) printf_number_buffer::format_zero_padding , (byte) printf_number_buffer::format_upper_case , (byte) printf_number_buffer::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 +(word~) printf_number_buffer::$19 +(bool~) printf_number_buffer::$2 +(bool~) printf_number_buffer::$20 +(signed byte~) printf_number_buffer::$21 +(bool~) printf_number_buffer::$22 +(bool~) printf_number_buffer::$23 +(signed byte~) 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 +(label) printf_number_buffer::@1 +(label) printf_number_buffer::@10 +(label) printf_number_buffer::@11 +(label) printf_number_buffer::@12 +(label) printf_number_buffer::@13 +(label) printf_number_buffer::@14 +(label) printf_number_buffer::@15 +(label) printf_number_buffer::@16 +(label) printf_number_buffer::@17 +(label) printf_number_buffer::@18 +(label) printf_number_buffer::@19 +(label) printf_number_buffer::@2 +(label) printf_number_buffer::@20 +(label) printf_number_buffer::@21 +(label) printf_number_buffer::@3 +(label) printf_number_buffer::@4 +(label) printf_number_buffer::@5 +(label) printf_number_buffer::@6 +(label) printf_number_buffer::@7 +(label) printf_number_buffer::@8 +(label) printf_number_buffer::@9 +(label) printf_number_buffer::@return +(struct printf_buffer_number) printf_number_buffer::buffer +(byte*) printf_number_buffer::buffer_digits +(byte*) printf_number_buffer::buffer_digits#0 +(byte*) printf_number_buffer::buffer_digits#1 +(byte*) printf_number_buffer::buffer_digits#10 +(byte*) printf_number_buffer::buffer_digits#11 +(byte*) printf_number_buffer::buffer_digits#12 +(byte*) printf_number_buffer::buffer_digits#13 +(byte*) printf_number_buffer::buffer_digits#14 +(byte*) printf_number_buffer::buffer_digits#15 +(byte*) printf_number_buffer::buffer_digits#16 +(byte*) printf_number_buffer::buffer_digits#17 +(byte*) printf_number_buffer::buffer_digits#18 +(byte*) printf_number_buffer::buffer_digits#19 +(byte*) printf_number_buffer::buffer_digits#2 +(byte*) printf_number_buffer::buffer_digits#20 +(byte*) printf_number_buffer::buffer_digits#3 +(byte*) printf_number_buffer::buffer_digits#4 +(byte*) printf_number_buffer::buffer_digits#5 +(byte*) printf_number_buffer::buffer_digits#6 +(byte*) printf_number_buffer::buffer_digits#7 +(byte*) printf_number_buffer::buffer_digits#8 +(byte*) printf_number_buffer::buffer_digits#9 +(byte) printf_number_buffer::buffer_sign +(byte) printf_number_buffer::buffer_sign#0 +(byte) printf_number_buffer::buffer_sign#1 +(byte) printf_number_buffer::buffer_sign#10 +(byte) printf_number_buffer::buffer_sign#11 +(byte) printf_number_buffer::buffer_sign#12 +(byte) printf_number_buffer::buffer_sign#2 +(byte) printf_number_buffer::buffer_sign#3 +(byte) printf_number_buffer::buffer_sign#4 +(byte) printf_number_buffer::buffer_sign#5 +(byte) printf_number_buffer::buffer_sign#6 +(byte) printf_number_buffer::buffer_sign#7 +(byte) printf_number_buffer::buffer_sign#8 +(byte) printf_number_buffer::buffer_sign#9 +(struct printf_format_number) printf_number_buffer::format +(byte) printf_number_buffer::format_justify_left +(byte) printf_number_buffer::format_justify_left#0 +(byte) printf_number_buffer::format_justify_left#1 +(byte) printf_number_buffer::format_justify_left#10 +(byte) printf_number_buffer::format_justify_left#11 +(byte) printf_number_buffer::format_justify_left#12 +(byte) printf_number_buffer::format_justify_left#13 +(byte) printf_number_buffer::format_justify_left#14 +(byte) printf_number_buffer::format_justify_left#15 +(byte) printf_number_buffer::format_justify_left#16 +(byte) printf_number_buffer::format_justify_left#17 +(byte) printf_number_buffer::format_justify_left#18 +(byte) printf_number_buffer::format_justify_left#19 +(byte) printf_number_buffer::format_justify_left#2 +(byte) printf_number_buffer::format_justify_left#20 +(byte) printf_number_buffer::format_justify_left#21 +(byte) printf_number_buffer::format_justify_left#3 +(byte) printf_number_buffer::format_justify_left#4 +(byte) printf_number_buffer::format_justify_left#5 +(byte) printf_number_buffer::format_justify_left#6 +(byte) printf_number_buffer::format_justify_left#7 +(byte) printf_number_buffer::format_justify_left#8 +(byte) printf_number_buffer::format_justify_left#9 +(byte) printf_number_buffer::format_min_length +(byte) printf_number_buffer::format_min_length#0 +(byte) printf_number_buffer::format_min_length#1 +(byte) printf_number_buffer::format_min_length#2 +(byte) printf_number_buffer::format_min_length#3 +(byte) printf_number_buffer::format_min_length#4 +(byte) printf_number_buffer::format_min_length#5 +(byte) printf_number_buffer::format_min_length#6 +(byte) printf_number_buffer::format_radix +(byte) printf_number_buffer::format_radix#0 +(byte) printf_number_buffer::format_radix#1 +(byte) printf_number_buffer::format_sign_always +(byte) printf_number_buffer::format_sign_always#0 +(byte) printf_number_buffer::format_sign_always#1 +(byte) printf_number_buffer::format_upper_case +(byte) printf_number_buffer::format_upper_case#0 +(byte) printf_number_buffer::format_upper_case#1 +(byte) printf_number_buffer::format_upper_case#10 +(byte) printf_number_buffer::format_upper_case#11 +(byte) printf_number_buffer::format_upper_case#12 +(byte) printf_number_buffer::format_upper_case#13 +(byte) printf_number_buffer::format_upper_case#14 +(byte) printf_number_buffer::format_upper_case#15 +(byte) printf_number_buffer::format_upper_case#16 +(byte) printf_number_buffer::format_upper_case#17 +(byte) printf_number_buffer::format_upper_case#2 +(byte) printf_number_buffer::format_upper_case#3 +(byte) printf_number_buffer::format_upper_case#4 +(byte) printf_number_buffer::format_upper_case#5 +(byte) printf_number_buffer::format_upper_case#6 +(byte) printf_number_buffer::format_upper_case#7 +(byte) printf_number_buffer::format_upper_case#8 +(byte) printf_number_buffer::format_upper_case#9 +(byte) printf_number_buffer::format_zero_padding +(byte) printf_number_buffer::format_zero_padding#0 +(byte) printf_number_buffer::format_zero_padding#1 +(byte) printf_number_buffer::format_zero_padding#10 +(byte) printf_number_buffer::format_zero_padding#11 +(byte) printf_number_buffer::format_zero_padding#12 +(byte) printf_number_buffer::format_zero_padding#13 +(byte) printf_number_buffer::format_zero_padding#14 +(byte) printf_number_buffer::format_zero_padding#15 +(byte) printf_number_buffer::format_zero_padding#16 +(byte) printf_number_buffer::format_zero_padding#17 +(byte) printf_number_buffer::format_zero_padding#18 +(byte) printf_number_buffer::format_zero_padding#19 +(byte) printf_number_buffer::format_zero_padding#2 +(byte) printf_number_buffer::format_zero_padding#20 +(byte) printf_number_buffer::format_zero_padding#21 +(byte) printf_number_buffer::format_zero_padding#3 +(byte) printf_number_buffer::format_zero_padding#4 +(byte) printf_number_buffer::format_zero_padding#5 +(byte) printf_number_buffer::format_zero_padding#6 +(byte) printf_number_buffer::format_zero_padding#7 +(byte) printf_number_buffer::format_zero_padding#8 +(byte) printf_number_buffer::format_zero_padding#9 +(signed byte) printf_number_buffer::len +(signed byte) printf_number_buffer::len#0 +(signed byte) printf_number_buffer::len#1 +(signed byte) printf_number_buffer::len#2 +(signed byte) printf_number_buffer::len#3 +(signed byte) printf_number_buffer::padding +(signed byte) printf_number_buffer::padding#0 +(signed byte) printf_number_buffer::padding#1 +(signed byte) printf_number_buffer::padding#10 +(signed byte) printf_number_buffer::padding#11 +(signed byte) printf_number_buffer::padding#12 +(signed byte) printf_number_buffer::padding#13 +(signed byte) printf_number_buffer::padding#14 +(signed byte) printf_number_buffer::padding#15 +(signed byte) printf_number_buffer::padding#16 +(signed byte) printf_number_buffer::padding#17 +(signed byte) printf_number_buffer::padding#2 +(signed byte) printf_number_buffer::padding#3 +(signed byte) printf_number_buffer::padding#4 +(signed byte) printf_number_buffer::padding#5 +(signed byte) printf_number_buffer::padding#6 +(signed byte) printf_number_buffer::padding#7 +(signed byte) printf_number_buffer::padding#8 +(signed byte) printf_number_buffer::padding#9 +(void()) printf_padding((byte) printf_padding::pad , (byte) printf_padding::length) +(bool~) printf_padding::$0 +(label) printf_padding::@1 +(label) printf_padding::@2 +(label) printf_padding::@3 +(label) printf_padding::@return +(byte) printf_padding::i +(byte) printf_padding::i#0 +(byte) printf_padding::i#1 +(byte) printf_padding::i#2 +(byte) printf_padding::i#3 +(byte) printf_padding::i#4 +(byte) printf_padding::length +(byte) printf_padding::length#0 +(byte) printf_padding::length#1 +(byte) printf_padding::length#2 +(byte) printf_padding::length#3 +(byte) printf_padding::length#4 +(byte) printf_padding::length#5 +(byte) printf_padding::length#6 +(byte) printf_padding::pad +(byte) printf_padding::pad#0 +(byte) printf_padding::pad#1 +(byte) printf_padding::pad#2 +(byte) printf_padding::pad#3 +(byte) printf_padding::pad#4 +(byte) printf_padding::pad#5 +(byte) printf_padding::pad#6 +(void()) printf_uint((word) printf_uint::uvalue , (byte) printf_uint::format_min_length , (byte) printf_uint::format_justify_left , (byte) printf_uint::format_sign_always , (byte) printf_uint::format_zero_padding , (byte) printf_uint::format_upper_case , (byte) printf_uint::format_radix) +(number~) printf_uint::$0 +(byte~) printf_uint::$1 +(number~) printf_uint::$2 +(bool~) printf_uint::$5 +(label) printf_uint::@1 +(label) printf_uint::@2 +(label) printf_uint::@3 +(label) printf_uint::@4 +(label) printf_uint::@5 +(label) printf_uint::@return +(struct printf_format_number) printf_uint::format +(byte) printf_uint::format_justify_left +(byte) printf_uint::format_justify_left#0 +(byte) printf_uint::format_justify_left#1 +(byte) printf_uint::format_justify_left#2 +(byte) printf_uint::format_justify_left#3 +(byte) printf_uint::format_justify_left#4 +(byte) printf_uint::format_justify_left#5 +(byte) printf_uint::format_min_length +(byte) printf_uint::format_min_length#0 +(byte) printf_uint::format_min_length#1 +(byte) printf_uint::format_min_length#2 +(byte) printf_uint::format_min_length#3 +(byte) printf_uint::format_min_length#4 +(byte) printf_uint::format_min_length#5 +(byte) printf_uint::format_radix +(byte) printf_uint::format_radix#0 +(byte) printf_uint::format_radix#1 +(byte) printf_uint::format_radix#2 +(byte) printf_uint::format_radix#3 +(byte) printf_uint::format_radix#4 +(byte) printf_uint::format_radix#5 +(byte) printf_uint::format_sign_always +(byte) printf_uint::format_sign_always#0 +(byte) printf_uint::format_sign_always#1 +(byte) printf_uint::format_sign_always#2 +(byte) printf_uint::format_sign_always#3 +(byte) printf_uint::format_sign_always#4 +(byte) printf_uint::format_sign_always#5 +(byte) printf_uint::format_upper_case +(byte) printf_uint::format_upper_case#0 +(byte) printf_uint::format_upper_case#1 +(byte) printf_uint::format_upper_case#2 +(byte) printf_uint::format_upper_case#3 +(byte) printf_uint::format_upper_case#4 +(byte) printf_uint::format_upper_case#5 +(byte) printf_uint::format_zero_padding +(byte) printf_uint::format_zero_padding#0 +(byte) printf_uint::format_zero_padding#1 +(byte) printf_uint::format_zero_padding#2 +(byte) printf_uint::format_zero_padding#3 +(byte) printf_uint::format_zero_padding#4 +(byte) printf_uint::format_zero_padding#5 +(word) printf_uint::uvalue +(word) printf_uint::uvalue#0 +(word) printf_uint::uvalue#1 +(word) printf_uint::uvalue#2 +(word) printf_uint::uvalue#3 +(word) printf_uint::uvalue#4 +(void()) printf_ulong((dword) printf_ulong::uvalue , (byte) printf_ulong::format_min_length , (byte) printf_ulong::format_justify_left , (byte) printf_ulong::format_sign_always , (byte) printf_ulong::format_zero_padding , (byte) printf_ulong::format_upper_case , (byte) printf_ulong::format_radix) +(number~) printf_ulong::$0 +(byte~) printf_ulong::$1 +(number~) printf_ulong::$2 +(bool~) printf_ulong::$5 +(label) printf_ulong::@1 +(label) printf_ulong::@2 +(label) printf_ulong::@3 +(label) printf_ulong::@4 +(label) printf_ulong::@5 +(label) printf_ulong::@return +(struct printf_format_number) printf_ulong::format +(byte) printf_ulong::format_justify_left +(byte) printf_ulong::format_justify_left#0 +(byte) printf_ulong::format_justify_left#1 +(byte) printf_ulong::format_justify_left#2 +(byte) printf_ulong::format_justify_left#3 +(byte) printf_ulong::format_justify_left#4 +(byte) printf_ulong::format_justify_left#5 +(byte) printf_ulong::format_min_length +(byte) printf_ulong::format_min_length#0 +(byte) printf_ulong::format_min_length#1 +(byte) printf_ulong::format_min_length#2 +(byte) printf_ulong::format_min_length#3 +(byte) printf_ulong::format_min_length#4 +(byte) printf_ulong::format_min_length#5 +(byte) printf_ulong::format_radix +(byte) printf_ulong::format_radix#0 +(byte) printf_ulong::format_radix#1 +(byte) printf_ulong::format_radix#2 +(byte) printf_ulong::format_radix#3 +(byte) printf_ulong::format_radix#4 +(byte) printf_ulong::format_radix#5 +(byte) printf_ulong::format_sign_always +(byte) printf_ulong::format_sign_always#0 +(byte) printf_ulong::format_sign_always#1 +(byte) printf_ulong::format_sign_always#2 +(byte) printf_ulong::format_sign_always#3 +(byte) printf_ulong::format_sign_always#4 +(byte) printf_ulong::format_sign_always#5 +(byte) printf_ulong::format_upper_case +(byte) printf_ulong::format_upper_case#0 +(byte) printf_ulong::format_upper_case#1 +(byte) printf_ulong::format_upper_case#2 +(byte) printf_ulong::format_upper_case#3 +(byte) printf_ulong::format_upper_case#4 +(byte) printf_ulong::format_upper_case#5 +(byte) printf_ulong::format_zero_padding +(byte) printf_ulong::format_zero_padding#0 +(byte) printf_ulong::format_zero_padding#1 +(byte) printf_ulong::format_zero_padding#2 +(byte) printf_ulong::format_zero_padding#3 +(byte) printf_ulong::format_zero_padding#4 +(byte) printf_ulong::format_zero_padding#5 +(dword) printf_ulong::uvalue +(dword) printf_ulong::uvalue#0 +(dword) printf_ulong::uvalue#1 +(dword) printf_ulong::uvalue#2 +(dword) printf_ulong::uvalue#3 +(dword) printf_ulong::uvalue#4 +(word()) rand() +(word~) rand::$0 +(word~) rand::$1 +(word~) rand::$2 +(label) rand::@return +(word) rand::return +(word) rand::return#0 +(word) rand::return#1 +(word) rand::return#2 +(word) rand::return#3 +(word) rand::return#4 +(word) rand::return#5 +(word) rand::return#6 +(word) rand_state +(word) rand_state#0 +(word) rand_state#1 +(word) rand_state#10 +(word) rand_state#11 +(word) rand_state#12 +(word) rand_state#13 +(word) rand_state#14 +(word) rand_state#15 +(word) rand_state#16 +(word) rand_state#17 +(word) rand_state#18 +(word) rand_state#19 +(word) rand_state#2 +(word) rand_state#20 +(word) rand_state#21 +(word) rand_state#22 +(word) rand_state#23 +(word) rand_state#24 +(word) rand_state#25 +(word) rand_state#26 +(word) rand_state#27 +(word) rand_state#28 +(word) rand_state#29 +(word) rand_state#3 +(word) rand_state#30 +(word) rand_state#31 +(word) rand_state#32 +(word) rand_state#33 +(word) rand_state#4 +(word) rand_state#5 +(word) rand_state#6 +(word) rand_state#7 +(word) rand_state#8 +(word) rand_state#9 +(word()) strlen((byte*) strlen::str) +(bool~) strlen::$0 +(label) strlen::@1 +(label) strlen::@2 +(label) strlen::@3 +(label) strlen::@return +(word) strlen::len +(word) strlen::len#0 +(word) strlen::len#1 +(word) strlen::len#2 +(word) strlen::len#3 +(word) strlen::len#4 +(word) strlen::return +(word) strlen::return#0 +(word) strlen::return#1 +(word) strlen::return#2 +(word) strlen::return#3 +(word) strlen::return#4 +(byte*) strlen::str +(byte*) strlen::str#0 +(byte*) strlen::str#1 +(byte*) strlen::str#2 +(byte*) strlen::str#3 +(byte*) strlen::str#4 +(byte*()) strupr((byte*) strupr::str) +(byte~) strupr::$0 +(bool~) strupr::$1 +(label) strupr::@1 +(label) strupr::@2 +(label) strupr::@3 +(label) strupr::@4 +(label) strupr::@return +(byte*) strupr::return +(byte*) strupr::return#0 +(byte*) strupr::return#1 +(byte*) strupr::return#2 +(byte*) strupr::return#3 +(byte*) strupr::src +(byte*) strupr::src#0 +(byte*) strupr::src#1 +(byte*) strupr::src#2 +(byte*) strupr::src#3 +(byte*) strupr::src#4 +(byte*) strupr::str +(byte*) strupr::str#0 +(byte*) strupr::str#1 +(byte*) strupr::str#2 +(byte*) strupr::str#3 +(byte*) strupr::str#4 +(byte*) strupr::str#5 +(byte()) textcolor((byte) textcolor::color) +(label) textcolor::@return +(byte) textcolor::color +(byte) textcolor::color#0 +(byte) textcolor::color#1 +(byte) textcolor::color#2 +(byte) textcolor::color#3 +(byte) textcolor::old +(byte) textcolor::old#0 +(byte) textcolor::return +(byte) textcolor::return#0 +(byte) textcolor::return#1 +(byte) textcolor::return#2 +(byte) textcolor::return#3 +(byte) textcolor::return#4 +(byte) textcolor::return#5 +(byte()) toupper((byte) toupper::ch) +(bool~) toupper::$0 +(bool~) toupper::$1 +(bool~) toupper::$2 +(byte~) toupper::$3 +(label) toupper::@1 +(label) toupper::@2 +(label) toupper::@return +(byte) toupper::ch +(byte) toupper::ch#0 +(byte) toupper::ch#1 +(byte) toupper::ch#2 +(byte) toupper::ch#3 +(byte) toupper::return +(byte) toupper::return#0 +(byte) toupper::return#1 +(byte) toupper::return#2 +(byte) toupper::return#3 +(byte) toupper::return#4 +(byte) toupper::return#5 +(void()) ultoa((dword) ultoa::value , (byte*) ultoa::buffer , (byte) ultoa::radix) +(bool~) ultoa::$0 +(bool~) ultoa::$1 +(byte~) ultoa::$10 +(byte~) ultoa::$11 +(bool~) ultoa::$2 +(bool~) ultoa::$3 +(number~) ultoa::$4 +(bool~) ultoa::$5 +(bool~) ultoa::$6 +(bool~) ultoa::$7 +(bool~) ultoa::$8 +(dword~) ultoa::$9 +(label) ultoa::@1 +(label) ultoa::@10 +(label) ultoa::@11 +(label) ultoa::@12 +(label) ultoa::@13 +(label) ultoa::@14 +(label) ultoa::@15 +(label) ultoa::@2 +(label) ultoa::@3 +(label) ultoa::@4 +(label) ultoa::@5 +(label) ultoa::@6 +(label) ultoa::@7 +(label) ultoa::@8 +(label) ultoa::@9 +(label) ultoa::@return +(byte*) ultoa::buffer +(byte*) ultoa::buffer#0 +(byte*) ultoa::buffer#1 +(byte*) ultoa::buffer#10 +(byte*) ultoa::buffer#11 +(byte*) ultoa::buffer#12 +(byte*) ultoa::buffer#13 +(byte*) ultoa::buffer#14 +(byte*) ultoa::buffer#15 +(byte*) ultoa::buffer#16 +(byte*) ultoa::buffer#17 +(byte*) ultoa::buffer#18 +(byte*) ultoa::buffer#19 +(byte*) ultoa::buffer#2 +(byte*) ultoa::buffer#20 +(byte*) ultoa::buffer#21 +(byte*) ultoa::buffer#3 +(byte*) ultoa::buffer#4 +(byte*) ultoa::buffer#5 +(byte*) ultoa::buffer#6 +(byte*) ultoa::buffer#7 +(byte*) ultoa::buffer#8 +(byte*) ultoa::buffer#9 +(byte) ultoa::digit +(byte) ultoa::digit#0 +(byte) ultoa::digit#1 +(byte) ultoa::digit#2 +(byte) ultoa::digit#3 +(byte) ultoa::digit#4 +(byte) ultoa::digit#5 +(byte) ultoa::digit#6 +(dword) ultoa::digit_value +(dword) ultoa::digit_value#0 +(dword) ultoa::digit_value#1 +(dword*) ultoa::digit_values +(dword*) ultoa::digit_values#0 +(dword*) ultoa::digit_values#1 +(dword*) ultoa::digit_values#10 +(dword*) ultoa::digit_values#2 +(dword*) ultoa::digit_values#3 +(dword*) ultoa::digit_values#4 +(dword*) ultoa::digit_values#5 +(dword*) ultoa::digit_values#6 +(dword*) ultoa::digit_values#7 +(dword*) ultoa::digit_values#8 +(dword*) ultoa::digit_values#9 +(byte) ultoa::max_digits +(byte) ultoa::max_digits#0 +(byte) ultoa::max_digits#1 +(byte) ultoa::max_digits#10 +(byte) ultoa::max_digits#2 +(byte) ultoa::max_digits#3 +(byte) ultoa::max_digits#4 +(byte) ultoa::max_digits#5 +(byte) ultoa::max_digits#6 +(byte) ultoa::max_digits#7 +(byte) ultoa::max_digits#8 +(byte) ultoa::max_digits#9 +(byte) ultoa::radix +(byte) ultoa::radix#0 +(byte) ultoa::radix#1 +(byte) ultoa::radix#2 +(byte) ultoa::radix#3 +(byte) ultoa::radix#4 +(byte) ultoa::started +(byte) ultoa::started#0 +(byte) ultoa::started#1 +(byte) ultoa::started#2 +(byte) ultoa::started#3 +(byte) ultoa::started#4 +(dword) ultoa::value +(dword) ultoa::value#0 +(dword) ultoa::value#1 +(dword) ultoa::value#10 +(dword) ultoa::value#11 +(dword) ultoa::value#12 +(dword) ultoa::value#13 +(dword) ultoa::value#14 +(dword) ultoa::value#15 +(dword) ultoa::value#2 +(dword) ultoa::value#3 +(dword) ultoa::value#4 +(dword) ultoa::value#5 +(dword) ultoa::value#6 +(dword) ultoa::value#7 +(dword) ultoa::value#8 +(dword) ultoa::value#9 +(dword()) ultoa_append((byte*) ultoa_append::buffer , (dword) ultoa_append::value , (dword) ultoa_append::sub) +(bool~) ultoa_append::$0 +(label) ultoa_append::@1 +(label) ultoa_append::@2 +(label) ultoa_append::@3 +(label) ultoa_append::@return +(byte*) ultoa_append::buffer +(byte*) ultoa_append::buffer#0 +(byte*) ultoa_append::buffer#1 +(byte*) ultoa_append::buffer#2 +(byte*) ultoa_append::buffer#3 +(byte*) ultoa_append::buffer#4 +(byte) ultoa_append::digit +(byte) ultoa_append::digit#0 +(byte) ultoa_append::digit#1 +(byte) ultoa_append::digit#2 +(byte) ultoa_append::digit#3 +(byte) ultoa_append::digit#4 +(dword) ultoa_append::return +(dword) ultoa_append::return#0 +(dword) ultoa_append::return#1 +(dword) ultoa_append::return#2 +(dword) ultoa_append::return#3 +(dword) ultoa_append::return#4 +(dword) ultoa_append::sub +(dword) ultoa_append::sub#0 +(dword) ultoa_append::sub#1 +(dword) ultoa_append::sub#2 +(dword) ultoa_append::sub#3 +(dword) ultoa_append::value +(dword) ultoa_append::value#0 +(dword) ultoa_append::value#1 +(dword) ultoa_append::value#2 +(dword) ultoa_append::value#3 +(dword) ultoa_append::value#4 +(dword) ultoa_append::value#5 +(void()) utoa((word) utoa::value , (byte*) utoa::buffer , (byte) utoa::radix) +(bool~) utoa::$0 +(bool~) utoa::$1 +(byte~) utoa::$10 +(byte~) utoa::$11 +(bool~) utoa::$2 +(bool~) utoa::$3 +(number~) utoa::$4 +(bool~) utoa::$5 +(bool~) utoa::$6 +(bool~) utoa::$7 +(bool~) utoa::$8 +(word~) utoa::$9 +(label) utoa::@1 +(label) utoa::@10 +(label) utoa::@11 +(label) utoa::@12 +(label) utoa::@13 +(label) utoa::@14 +(label) utoa::@15 +(label) utoa::@2 +(label) utoa::@3 +(label) utoa::@4 +(label) utoa::@5 +(label) utoa::@6 +(label) utoa::@7 +(label) utoa::@8 +(label) utoa::@9 +(label) utoa::@return +(byte*) utoa::buffer +(byte*) utoa::buffer#0 +(byte*) utoa::buffer#1 +(byte*) utoa::buffer#10 +(byte*) utoa::buffer#11 +(byte*) utoa::buffer#12 +(byte*) utoa::buffer#13 +(byte*) utoa::buffer#14 +(byte*) utoa::buffer#15 +(byte*) utoa::buffer#16 +(byte*) utoa::buffer#17 +(byte*) utoa::buffer#18 +(byte*) utoa::buffer#19 +(byte*) utoa::buffer#2 +(byte*) utoa::buffer#20 +(byte*) utoa::buffer#21 +(byte*) utoa::buffer#3 +(byte*) utoa::buffer#4 +(byte*) utoa::buffer#5 +(byte*) utoa::buffer#6 +(byte*) utoa::buffer#7 +(byte*) utoa::buffer#8 +(byte*) utoa::buffer#9 +(byte) utoa::digit +(byte) utoa::digit#0 +(byte) utoa::digit#1 +(byte) utoa::digit#2 +(byte) utoa::digit#3 +(byte) utoa::digit#4 +(byte) utoa::digit#5 +(byte) utoa::digit#6 +(word) utoa::digit_value +(word) utoa::digit_value#0 +(word) utoa::digit_value#1 +(word*) utoa::digit_values +(word*) utoa::digit_values#0 +(word*) utoa::digit_values#1 +(word*) utoa::digit_values#10 +(word*) utoa::digit_values#2 +(word*) utoa::digit_values#3 +(word*) utoa::digit_values#4 +(word*) utoa::digit_values#5 +(word*) utoa::digit_values#6 +(word*) utoa::digit_values#7 +(word*) utoa::digit_values#8 +(word*) utoa::digit_values#9 +(byte) utoa::max_digits +(byte) utoa::max_digits#0 +(byte) utoa::max_digits#1 +(byte) utoa::max_digits#10 +(byte) utoa::max_digits#2 +(byte) utoa::max_digits#3 +(byte) utoa::max_digits#4 +(byte) utoa::max_digits#5 +(byte) utoa::max_digits#6 +(byte) utoa::max_digits#7 +(byte) utoa::max_digits#8 +(byte) utoa::max_digits#9 +(byte) utoa::radix +(byte) utoa::radix#0 +(byte) utoa::radix#1 +(byte) utoa::radix#2 +(byte) utoa::radix#3 +(byte) utoa::radix#4 +(byte) utoa::started +(byte) utoa::started#0 +(byte) utoa::started#1 +(byte) utoa::started#2 +(byte) utoa::started#3 +(byte) utoa::started#4 +(word) utoa::value +(word) utoa::value#0 +(word) utoa::value#1 +(word) utoa::value#10 +(word) utoa::value#11 +(word) utoa::value#12 +(word) utoa::value#13 +(word) utoa::value#14 +(word) utoa::value#15 +(word) utoa::value#2 +(word) utoa::value#3 +(word) utoa::value#4 +(word) utoa::value#5 +(word) utoa::value#6 +(word) utoa::value#7 +(word) utoa::value#8 +(word) utoa::value#9 +(word()) utoa_append((byte*) utoa_append::buffer , (word) utoa_append::value , (word) utoa_append::sub) +(bool~) utoa_append::$0 +(label) utoa_append::@1 +(label) utoa_append::@2 +(label) utoa_append::@3 +(label) utoa_append::@return +(byte*) utoa_append::buffer +(byte*) utoa_append::buffer#0 +(byte*) utoa_append::buffer#1 +(byte*) utoa_append::buffer#2 +(byte*) utoa_append::buffer#3 +(byte*) utoa_append::buffer#4 +(byte) utoa_append::digit +(byte) utoa_append::digit#0 +(byte) utoa_append::digit#1 +(byte) utoa_append::digit#2 +(byte) utoa_append::digit#3 +(byte) utoa_append::digit#4 +(word) utoa_append::return +(word) utoa_append::return#0 +(word) utoa_append::return#1 +(word) utoa_append::return#2 +(word) utoa_append::return#3 +(word) utoa_append::return#4 +(word) utoa_append::sub +(word) utoa_append::sub#0 +(word) utoa_append::sub#1 +(word) utoa_append::sub#2 +(word) utoa_append::sub#3 +(word) utoa_append::value +(word) utoa_append::value#0 +(word) utoa_append::value#1 +(word) utoa_append::value#2 +(word) utoa_append::value#3 +(word) utoa_append::value#4 +(word) utoa_append::value#5 + +Adding number conversion cast (unumber) 0 in (bool~) memset::$0 ← (word) memset::num#2 > (number) 0 +Adding number conversion cast (unumber) 0 in (bool~) strupr::$1 ← (number) 0 != *((byte*) strupr::src#2) +Adding number conversion cast (unumber) 0 in (bool~) strlen::$0 ← (number) 0 != *((byte*) strlen::str#2) +Adding number conversion cast (unumber) 5 in (byte) utoa::max_digits#1 ← (number) 5 +Adding number conversion cast (unumber) 4 in (byte) utoa::max_digits#2 ← (number) 4 +Adding number conversion cast (unumber) 6 in (byte) utoa::max_digits#3 ← (number) 6 +Adding number conversion cast (unumber) $10 in (byte) utoa::max_digits#4 ← (number) $10 +Adding number conversion cast (unumber) 0 in *((byte*) utoa::buffer#2) ← (number) 0 +Adding number conversion cast (unumber) 1 in (number~) utoa::$4 ← (byte) utoa::max_digits#5 - (number) 1 +Adding number conversion cast (unumber) utoa::$4 in (number~) utoa::$4 ← (byte) utoa::max_digits#5 - (unumber)(number) 1 +Adding number conversion cast (unumber) 0 in *((byte*) utoa::buffer#3) ← (number) 0 +Adding number conversion cast (unumber) 1 in (byte) utoa::started#1 ← (number) 1 +Adding number conversion cast (unumber) $a in (byte) ultoa::max_digits#1 ← (number) $a +Adding number conversion cast (unumber) 8 in (byte) ultoa::max_digits#2 ← (number) 8 +Adding number conversion cast (unumber) $b in (byte) ultoa::max_digits#3 ← (number) $b +Adding number conversion cast (unumber) $20 in (byte) ultoa::max_digits#4 ← (number) $20 +Adding number conversion cast (unumber) 0 in *((byte*) ultoa::buffer#2) ← (number) 0 +Adding number conversion cast (unumber) 1 in (number~) ultoa::$4 ← (byte) ultoa::max_digits#5 - (number) 1 +Adding number conversion cast (unumber) ultoa::$4 in (number~) ultoa::$4 ← (byte) ultoa::max_digits#5 - (unumber)(number) 1 +Adding number conversion cast (unumber) 0 in *((byte*) ultoa::buffer#3) ← (number) 0 +Adding number conversion cast (unumber) 1 in (byte) ultoa::started#1 ← (number) 1 +Adding number conversion cast (unumber) 7 in (word~) rand::$0 ← (word) rand_state#9 << (number) 7 +Adding number conversion cast (unumber) 9 in (word~) rand::$1 ← (word) rand_state#1 >> (number) 9 +Adding number conversion cast (unumber) 8 in (word~) rand::$2 ← (word) rand_state#2 << (number) 8 +Adding number conversion cast (unumber) $19 in (bool~) clrscr::$0 ← (byte) clrscr::l#2 < (number) $19 +Adding number conversion cast (unumber) 0 in (byte) conio_cursor_x ← (number) 0 +Adding number conversion cast (unumber) 0 in (byte) conio_cursor_y ← (number) 0 +Adding number conversion cast (unumber) $28 in (bool~) clrscr::$1 ← (byte) clrscr::c#2 < (number) $28 +Adding number conversion cast (unumber) $28 in (byte*) clrscr::line_text#1 ← (byte*) clrscr::line_text#3 + (number) $28 +Adding number conversion cast (unumber) $28 in (byte*) clrscr::line_cols#1 ← (byte*) clrscr::line_cols#3 + (number) $28 +Adding number conversion cast (unumber) $19 in (bool~) gotoxy::$0 ← (byte) gotoxy::y#4 > (number) $19 +Adding number conversion cast (unumber) $28 in (bool~) gotoxy::$2 ← (byte) gotoxy::x#4 >= (number) $28 +Adding number conversion cast (unumber) 0 in (byte) gotoxy::y#0 ← (number) 0 +Adding number conversion cast (unumber) $28 in (number~) gotoxy::$4 ← (word~) gotoxy::$8 * (number) $28 +Adding number conversion cast (unumber) gotoxy::$4 in (number~) gotoxy::$4 ← (word~) gotoxy::$8 * (unumber)(number) $28 +Adding number conversion cast (unumber) gotoxy::$5 in (number~) gotoxy::$5 ← (unumber~) gotoxy::$4 + (byte) gotoxy::x#5 +Adding number conversion cast (unumber) 0 in (byte) gotoxy::x#0 ← (number) 0 +Adding number conversion cast (unumber) $28 in (bool~) cputc::$1 ← (byte) conio_cursor_x == (number) $28 +Adding number conversion cast (unumber) 0 in (byte) conio_cursor_x ← (number) 0 +Adding number conversion cast (unumber) $28 in (byte*~) cputln::$1 ← (byte*~) cputln::$0 + (number) $28 +Adding number conversion cast (unumber) $28 in (byte*~) cputln::$3 ← (byte*~) cputln::$2 + (number) $28 +Adding number conversion cast (unumber) 0 in (byte) conio_cursor_x ← (number) 0 +Adding number conversion cast (unumber) $19 in (bool~) cscroll::$0 ← (byte) conio_cursor_y == (number) $19 +Adding number conversion cast (unumber) 0 in (bool~) cscroll::$9 ← (number) 0 != (byte) conio_scroll_enable +Adding number conversion cast (unumber) $28 in (void*) memcpy::source#0 ← (void*)(const nomodify byte*) CONIO_SCREEN_TEXT+(number) $28 +Adding number conversion cast (unumber) $19*$28-$28 in (word) memcpy::num#0 ← (number) $19*(number) $28-(number) $28 +Adding number conversion cast (unumber) $28 in (void*) memcpy::source#1 ← (void*)(const nomodify byte*) CONIO_SCREEN_COLORS+(number) $28 +Adding number conversion cast (unumber) $19*$28-$28 in (word) memcpy::num#1 ← (number) $19*(number) $28-(number) $28 +Adding number conversion cast (unumber) $28 in (void*) memset::str#0 ← (void*)(const nomodify byte*) CONIO_SCREEN_TEXT+(number) $19*(number) $28-(number) $28 +Adding number conversion cast (unumber) $19*$28 in (void*) memset::str#0 ← (void*)(const nomodify byte*) CONIO_SCREEN_TEXT+(number) $19*(number) $28-(unumber)(number) $28 +Adding number conversion cast (unumber) $28 in (word) memset::num#0 ← (number) $28 +Adding number conversion cast (unumber) $28 in (void*) memset::str#1 ← (void*)(const nomodify byte*) CONIO_SCREEN_COLORS+(number) $19*(number) $28-(number) $28 +Adding number conversion cast (unumber) $19*$28 in (void*) memset::str#1 ← (void*)(const nomodify byte*) CONIO_SCREEN_COLORS+(number) $19*(number) $28-(unumber)(number) $28 +Adding number conversion cast (unumber) $28 in (word) memset::num#1 ← (number) $28 +Adding number conversion cast (unumber) $28 in (byte*~) cscroll::$7 ← (byte*) conio_cursor_text - (number) $28 +Adding number conversion cast (unumber) $28 in (byte*~) cscroll::$8 ← (byte*) conio_cursor_color - (number) $28 +Adding number conversion cast (unumber) 0 in (byte) gotoxy::x#1 ← (number) 0 +Adding number conversion cast (unumber) 0 in (byte) gotoxy::y#1 ← (number) 0 +Adding number conversion cast (unumber) 0 in (bool~) cputs::$1 ← (number) 0 != (byte) cputs::c#1 +Adding number conversion cast (unumber) 0 in (bool~) printf_ulong::$5 ← (number) 0 != (byte) printf_ulong::format_sign_always#1 +Adding number conversion cast (unumber) printf_ulong::$2 in (byte) printf_ulong::format_upper_case#2 ← phi( printf_ulong::@1/(byte) printf_ulong::format_upper_case#3 printf_ulong::@2/(byte) printf_ulong::format_upper_case#4 ) + (byte) printf_ulong::format_zero_padding#2 ← phi( printf_ulong::@1/(byte) printf_ulong::format_zero_padding#3 printf_ulong::@2/(byte) printf_ulong::format_zero_padding#4 ) + (byte) printf_ulong::format_sign_always#3 ← phi( printf_ulong::@1/(byte) printf_ulong::format_sign_always#4 printf_ulong::@2/(byte) printf_ulong::format_sign_always#5 ) + (byte) printf_ulong::format_justify_left#2 ← phi( printf_ulong::@1/(byte) printf_ulong::format_justify_left#3 printf_ulong::@2/(byte) printf_ulong::format_justify_left#4 ) + (byte) printf_ulong::format_min_length#2 ← phi( printf_ulong::@1/(byte) printf_ulong::format_min_length#3 printf_ulong::@2/(byte) printf_ulong::format_min_length#4 ) + (byte) printf_ulong::format_radix#1 ← phi( printf_ulong::@1/(byte) printf_ulong::format_radix#3 printf_ulong::@2/(byte) printf_ulong::format_radix#4 ) + (dword) printf_ulong::uvalue#1 ← phi( printf_ulong::@1/(dword) printf_ulong::uvalue#2 printf_ulong::@2/(dword) printf_ulong::uvalue#3 ) + (number~) printf_ulong::$2 ← phi( printf_ulong::@1/(byte~) printf_ulong::$1 printf_ulong::@2/(number~) printf_ulong::$0 ) +Adding number conversion cast (unumber) printf_ulong::$0 in (byte) printf_ulong::format_upper_case#2 ← phi( printf_ulong::@1/(byte) printf_ulong::format_upper_case#3 printf_ulong::@2/(byte) printf_ulong::format_upper_case#4 ) + (byte) printf_ulong::format_zero_padding#2 ← phi( printf_ulong::@1/(byte) printf_ulong::format_zero_padding#3 printf_ulong::@2/(byte) printf_ulong::format_zero_padding#4 ) + (byte) printf_ulong::format_sign_always#3 ← phi( printf_ulong::@1/(byte) printf_ulong::format_sign_always#4 printf_ulong::@2/(byte) printf_ulong::format_sign_always#5 ) + (byte) printf_ulong::format_justify_left#2 ← phi( printf_ulong::@1/(byte) printf_ulong::format_justify_left#3 printf_ulong::@2/(byte) printf_ulong::format_justify_left#4 ) + (byte) printf_ulong::format_min_length#2 ← phi( printf_ulong::@1/(byte) printf_ulong::format_min_length#3 printf_ulong::@2/(byte) printf_ulong::format_min_length#4 ) + (byte) printf_ulong::format_radix#1 ← phi( printf_ulong::@1/(byte) printf_ulong::format_radix#3 printf_ulong::@2/(byte) printf_ulong::format_radix#4 ) + (dword) printf_ulong::uvalue#1 ← phi( printf_ulong::@1/(dword) printf_ulong::uvalue#2 printf_ulong::@2/(dword) printf_ulong::uvalue#3 ) + (unumber~) printf_ulong::$2 ← phi( printf_ulong::@1/(byte~) printf_ulong::$1 printf_ulong::@2/(number~) printf_ulong::$0 ) +Adding number conversion cast (unumber) 0 in (bool~) printf_uint::$5 ← (number) 0 != (byte) printf_uint::format_sign_always#1 +Adding number conversion cast (unumber) printf_uint::$2 in (byte) printf_uint::format_upper_case#2 ← phi( printf_uint::@1/(byte) printf_uint::format_upper_case#3 printf_uint::@2/(byte) printf_uint::format_upper_case#4 ) + (byte) printf_uint::format_zero_padding#2 ← phi( printf_uint::@1/(byte) printf_uint::format_zero_padding#3 printf_uint::@2/(byte) printf_uint::format_zero_padding#4 ) + (byte) printf_uint::format_sign_always#3 ← phi( printf_uint::@1/(byte) printf_uint::format_sign_always#4 printf_uint::@2/(byte) printf_uint::format_sign_always#5 ) + (byte) printf_uint::format_justify_left#2 ← phi( printf_uint::@1/(byte) printf_uint::format_justify_left#3 printf_uint::@2/(byte) printf_uint::format_justify_left#4 ) + (byte) printf_uint::format_min_length#2 ← phi( printf_uint::@1/(byte) printf_uint::format_min_length#3 printf_uint::@2/(byte) printf_uint::format_min_length#4 ) + (byte) printf_uint::format_radix#1 ← phi( printf_uint::@1/(byte) printf_uint::format_radix#3 printf_uint::@2/(byte) printf_uint::format_radix#4 ) + (word) printf_uint::uvalue#1 ← phi( printf_uint::@1/(word) printf_uint::uvalue#2 printf_uint::@2/(word) printf_uint::uvalue#3 ) + (number~) printf_uint::$2 ← phi( printf_uint::@1/(byte~) printf_uint::$1 printf_uint::@2/(number~) printf_uint::$0 ) +Adding number conversion cast (unumber) printf_uint::$0 in (byte) printf_uint::format_upper_case#2 ← phi( printf_uint::@1/(byte) printf_uint::format_upper_case#3 printf_uint::@2/(byte) printf_uint::format_upper_case#4 ) + (byte) printf_uint::format_zero_padding#2 ← phi( printf_uint::@1/(byte) printf_uint::format_zero_padding#3 printf_uint::@2/(byte) printf_uint::format_zero_padding#4 ) + (byte) printf_uint::format_sign_always#3 ← phi( printf_uint::@1/(byte) printf_uint::format_sign_always#4 printf_uint::@2/(byte) printf_uint::format_sign_always#5 ) + (byte) printf_uint::format_justify_left#2 ← phi( printf_uint::@1/(byte) printf_uint::format_justify_left#3 printf_uint::@2/(byte) printf_uint::format_justify_left#4 ) + (byte) printf_uint::format_min_length#2 ← phi( printf_uint::@1/(byte) printf_uint::format_min_length#3 printf_uint::@2/(byte) printf_uint::format_min_length#4 ) + (byte) printf_uint::format_radix#1 ← phi( printf_uint::@1/(byte) printf_uint::format_radix#3 printf_uint::@2/(byte) printf_uint::format_radix#4 ) + (word) printf_uint::uvalue#1 ← phi( printf_uint::@1/(word) printf_uint::uvalue#2 printf_uint::@2/(word) printf_uint::uvalue#3 ) + (unumber~) printf_uint::$2 ← phi( printf_uint::@1/(byte~) printf_uint::$1 printf_uint::@2/(number~) printf_uint::$0 ) +Adding number conversion cast (unumber) 0 in (bool~) printf_number_buffer::$26 ← (number) 0 != (byte) printf_number_buffer::format_min_length#2 +Adding number conversion cast (unumber) 0 in (bool~) printf_number_buffer::$27 ← (number) 0 != (byte) printf_number_buffer::format_justify_left#2 +Adding number conversion cast (unumber) 0 in (bool~) printf_number_buffer::$28 ← (number) 0 != (byte) printf_number_buffer::format_zero_padding#2 +Adding number conversion cast (unumber) 0 in (bool~) printf_number_buffer::$29 ← (number) 0 != (byte) printf_number_buffer::buffer_sign#2 +Adding number conversion cast (snumber) 0 in (bool~) printf_number_buffer::$22 ← (signed byte) printf_number_buffer::padding#1 < (number) 0 +Adding number conversion cast (snumber) 0 in (signed byte) printf_number_buffer::padding#2 ← (number) 0 +Adding number conversion cast (unumber) 0 in (bool~) printf_number_buffer::$30 ← (number) 0 != (byte) printf_number_buffer::buffer_sign#3 +Adding number conversion cast (unumber) 0 in (bool~) printf_number_buffer::$31 ← (number) 0 != (byte) printf_number_buffer::format_upper_case#2 +Adding number conversion cast (unumber) 0 in (bool~) printf_number_buffer::$32 ← (number) 0 != (byte) printf_number_buffer::format_zero_padding#4 +Adding number conversion cast (unumber) 0 in (bool~) main::$8 ← (byte~) main::$18 == (number) 0 +Adding number conversion cast (unumber) $19 in (bool~) main::$12 ← (byte) main::row#1 == (number) $19 +Adding number conversion cast (unumber) 1 in (byte) main::row#2 ← (number) 1 +Adding number conversion cast (unumber) 6 in (byte) main::col#1 ← (byte) main::col#4 + (number) 6 +Adding number conversion cast (unumber) $28-5 in (bool~) main::$14 ← (byte) main::col#1 > (number) $28-(number) 5 +Adding number conversion cast (unumber) 3 in (byte) main::col#2 ← (number) 3 +Adding number conversion cast (unumber) $1c in (byte) gotoxy::x#3 ← (number) $1c +Adding number conversion cast (unumber) 0 in (byte) gotoxy::y#3 ← (number) 0 +Successful SSA optimization PassNAddNumberTypeConversions +Adding number conversion cast (unumber) 0 in (unumber~) printf_ulong::$0 ← (number) 0 +Adding number conversion cast (unumber) 0 in (unumber~) printf_uint::$0 ← (number) 0 +Successful SSA optimization PassNAddNumberTypeConversions +Inlining cast (byte*) memcpy::src#0 ← (byte*)(void*) memcpy::source#2 +Inlining cast (byte*) memcpy::dst#0 ← (byte*)(void*) memcpy::destination#2 +Inlining cast (byte*) memset::dst#0 ← (byte*)(void*) memset::str#3 +Inlining cast (byte) utoa::max_digits#1 ← (unumber)(number) 5 +Inlining cast (byte) utoa::max_digits#2 ← (unumber)(number) 4 +Inlining cast (byte) utoa::max_digits#3 ← (unumber)(number) 6 +Inlining cast (byte) utoa::max_digits#4 ← (unumber)(number) $10 +Inlining cast *((byte*) utoa::buffer#2) ← (unumber)(number) 0 +Inlining cast *((byte*) utoa::buffer#3) ← (unumber)(number) 0 +Inlining cast (byte) utoa::started#1 ← (unumber)(number) 1 +Inlining cast (byte) ultoa::max_digits#1 ← (unumber)(number) $a +Inlining cast (byte) ultoa::max_digits#2 ← (unumber)(number) 8 +Inlining cast (byte) ultoa::max_digits#3 ← (unumber)(number) $b +Inlining cast (byte) ultoa::max_digits#4 ← (unumber)(number) $20 +Inlining cast *((byte*) ultoa::buffer#2) ← (unumber)(number) 0 +Inlining cast *((byte*) ultoa::buffer#3) ← (unumber)(number) 0 +Inlining cast (byte) ultoa::started#1 ← (unumber)(number) 1 +Inlining cast (byte) conio_cursor_x ← (unumber)(number) 0 +Inlining cast (byte) conio_cursor_y ← (unumber)(number) 0 +Inlining cast (byte) gotoxy::y#0 ← (unumber)(number) 0 +Inlining cast (byte) gotoxy::x#0 ← (unumber)(number) 0 +Inlining cast (byte) conio_cursor_x ← (unumber)(number) 0 +Inlining cast (byte) conio_cursor_x ← (unumber)(number) 0 +Inlining cast (word) memcpy::num#0 ← (unumber)(number) $19*(number) $28-(number) $28 +Inlining cast (word) memcpy::num#1 ← (unumber)(number) $19*(number) $28-(number) $28 +Inlining cast (word) memset::num#0 ← (unumber)(number) $28 +Inlining cast (word) memset::num#1 ← (unumber)(number) $28 +Inlining cast (byte) gotoxy::x#1 ← (unumber)(number) 0 +Inlining cast (byte) gotoxy::y#1 ← (unumber)(number) 0 +Inlining cast (unumber~) printf_ulong::$0 ← (unumber)(number) 0 +Inlining cast (unumber~) printf_uint::$0 ← (unumber)(number) 0 +Inlining cast (signed byte) printf_number_buffer::padding#2 ← (snumber)(number) 0 +Inlining cast (byte) main::row#2 ← (unumber)(number) 1 +Inlining cast (byte) main::col#2 ← (unumber)(number) 3 +Inlining cast (byte) gotoxy::x#3 ← (unumber)(number) $1c +Inlining cast (byte) gotoxy::y#3 ← (unumber)(number) 0 +Successful SSA optimization Pass2InlineCast +Simplifying constant pointer cast (byte*) 1024 +Simplifying constant pointer cast (byte*) 55296 +Simplifying constant integer cast 0 +Simplifying constant integer cast 0 +Simplifying constant integer cast 0 +Simplifying constant integer cast 5 +Simplifying constant integer cast 4 +Simplifying constant integer cast 6 +Simplifying constant integer cast $10 +Simplifying constant integer cast 0 +Simplifying constant integer cast 1 +Simplifying constant integer cast 0 +Simplifying constant integer cast 1 +Simplifying constant integer cast $a +Simplifying constant integer cast 8 +Simplifying constant integer cast $b +Simplifying constant integer cast $20 +Simplifying constant integer cast 0 +Simplifying constant integer cast 1 +Simplifying constant integer cast 0 +Simplifying constant integer cast 1 +Simplifying constant integer cast 7 +Simplifying constant integer cast 9 +Simplifying constant integer cast 8 +Simplifying constant integer cast $19 +Simplifying constant integer cast 0 +Simplifying constant integer cast 0 +Simplifying constant integer cast $28 +Simplifying constant integer cast $28 +Simplifying constant integer cast $28 +Simplifying constant integer cast $19 +Simplifying constant integer cast $28 +Simplifying constant integer cast 0 +Simplifying constant integer cast $28 +Simplifying constant integer cast 0 +Simplifying constant integer cast $28 +Simplifying constant integer cast 0 +Simplifying constant integer cast $28 +Simplifying constant integer cast $28 +Simplifying constant integer cast 0 +Simplifying constant integer cast $19 +Simplifying constant integer cast 0 +Simplifying constant integer cast $28 +Simplifying constant integer cast $28 +Simplifying constant integer cast $28 +Simplifying constant integer cast $28 +Simplifying constant integer cast $28 +Simplifying constant integer cast $28 +Simplifying constant integer cast $28 +Simplifying constant integer cast $28 +Simplifying constant integer cast 0 +Simplifying constant integer cast 0 +Simplifying constant integer cast 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 $19 +Simplifying constant integer cast 1 +Simplifying constant integer cast 6 +Simplifying constant integer cast 3 +Simplifying constant integer cast $1c +Simplifying constant integer cast 0 +Successful SSA optimization PassNCastSimplification +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 5 +Finalized unsigned number type (byte) 4 +Finalized unsigned number type (byte) 6 +Finalized unsigned number type (byte) $10 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 1 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 1 +Finalized unsigned number type (byte) $a +Finalized unsigned number type (byte) 8 +Finalized unsigned number type (byte) $b +Finalized unsigned number type (byte) $20 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 1 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 1 +Finalized unsigned number type (byte) 7 +Finalized unsigned number type (byte) 9 +Finalized unsigned number type (byte) 8 +Finalized unsigned number type (byte) $19 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) $28 +Finalized unsigned number type (byte) $28 +Finalized unsigned number type (byte) $28 +Finalized unsigned number type (byte) $19 +Finalized unsigned number type (byte) $28 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) $28 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) $28 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) $28 +Finalized unsigned number type (byte) $28 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) $19 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) $28 +Finalized unsigned number type (byte) $28 +Finalized unsigned number type (byte) $28 +Finalized unsigned number type (byte) $28 +Finalized unsigned number type (byte) $28 +Finalized unsigned number type (byte) $28 +Finalized unsigned number type (byte) $28 +Finalized unsigned number type (byte) $28 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 0 +Finalized signed number type (signed byte) 0 +Finalized signed number type (signed byte) 0 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) $19 +Finalized unsigned number type (byte) 1 +Finalized unsigned number type (byte) 6 +Finalized unsigned number type (byte) 3 +Finalized unsigned number type (byte) $1c +Finalized unsigned number type (byte) 0 +Successful SSA optimization PassNFinalizeNumberTypeConversions +Inferred type updated to byte in (unumber~) utoa::$4 ← (byte) utoa::max_digits#5 - (byte) 1 +Inferred type updated to byte in (unumber~) ultoa::$4 ← (byte) ultoa::max_digits#5 - (byte) 1 +Inferred type updated to word in (unumber~) gotoxy::$4 ← (word~) gotoxy::$8 * (byte) $28 +Inferred type updated to word in (unumber~) gotoxy::$5 ← (word~) gotoxy::$4 + (byte) gotoxy::x#5 +Inferred type updated to byte in (unumber~) printf_ulong::$0 ← (byte) 0 +Inferred type updated to byte for (unumber~) printf_ulong::$2 +Inferred type updated to byte in (unumber~) printf_uint::$0 ← (byte) 0 +Inferred type updated to byte for (unumber~) printf_uint::$2 +Inversing boolean not [33] (bool~) memset::$1 ← (word) memset::num#2 <= (byte) 0 from [32] (bool~) memset::$0 ← (word) memset::num#2 > (byte) 0 +Inversing boolean not [290] (bool~) gotoxy::$1 ← (byte) gotoxy::y#4 <= (byte) $19 from [289] (bool~) gotoxy::$0 ← (byte) gotoxy::y#4 > (byte) $19 +Inversing boolean not [294] (bool~) gotoxy::$3 ← (byte) gotoxy::x#4 < (byte) $28 from [293] (bool~) gotoxy::$2 ← (byte) gotoxy::x#4 >= (byte) $28 +Inversing boolean not [323] (bool~) cputc::$2 ← (byte) conio_cursor_x != (byte) $28 from [322] (bool~) cputc::$1 ← (byte) conio_cursor_x == (byte) $28 +Inversing boolean not [340] (bool~) cscroll::$1 ← (byte) conio_cursor_y != (byte) $19 from [339] (bool~) cscroll::$0 ← (byte) conio_cursor_y == (byte) $19 +Inversing boolean not [454] (bool~) printf_number_buffer::$0 ← (byte) 0 == (byte) printf_number_buffer::format_min_length#2 from [453] (bool~) printf_number_buffer::$26 ← (byte) 0 != (byte) printf_number_buffer::format_min_length#2 +Inversing boolean not [458] (bool~) printf_number_buffer::$1 ← (byte) 0 == (byte) printf_number_buffer::format_justify_left#2 from [457] (bool~) printf_number_buffer::$27 ← (byte) 0 != (byte) printf_number_buffer::format_justify_left#2 +Inversing boolean not [460] (bool~) printf_number_buffer::$2 ← (byte) 0 == (byte) printf_number_buffer::format_zero_padding#2 from [459] (bool~) printf_number_buffer::$28 ← (byte) 0 != (byte) printf_number_buffer::format_zero_padding#2 +Inversing boolean not [473] (bool~) printf_number_buffer::$20 ← (byte) 0 == (byte) printf_number_buffer::buffer_sign#2 from [472] (bool~) printf_number_buffer::$29 ← (byte) 0 != (byte) printf_number_buffer::buffer_sign#2 +Inversing boolean not [480] (bool~) printf_number_buffer::$23 ← (signed byte) printf_number_buffer::padding#1 >= (signed byte) 0 from [479] (bool~) printf_number_buffer::$22 ← (signed byte) printf_number_buffer::padding#1 < (signed byte) 0 +Inversing boolean not [488] (bool~) printf_number_buffer::$7 ← (byte) 0 == (byte) printf_number_buffer::buffer_sign#3 from [487] (bool~) printf_number_buffer::$30 ← (byte) 0 != (byte) printf_number_buffer::buffer_sign#3 +Inversing boolean not [505] (bool~) printf_number_buffer::$12 ← (byte) 0 == (byte) printf_number_buffer::format_upper_case#2 from [504] (bool~) printf_number_buffer::$31 ← (byte) 0 != (byte) printf_number_buffer::format_upper_case#2 +Inversing boolean not [517] (bool~) printf_number_buffer::$14 ← (byte) 0 == (byte) printf_number_buffer::format_zero_padding#4 from [516] (bool~) printf_number_buffer::$32 ← (byte) 0 != (byte) printf_number_buffer::format_zero_padding#4 +Inversing boolean not [560] (bool~) main::$9 ← (byte~) main::$18 != (byte) 0 from [559] (bool~) main::$8 ← (byte~) main::$18 == (byte) 0 +Inversing boolean not [587] (bool~) main::$13 ← (byte) main::row#1 != (byte) $19 from [586] (bool~) main::$12 ← (byte) main::row#1 == (byte) $19 +Inversing boolean not [593] (bool~) main::$15 ← (byte) main::col#1 <= (byte)(number) $28-(number) 5 from [592] (bool~) main::$14 ← (byte) main::col#1 > (byte)(number) $28-(number) 5 +Successful SSA optimization Pass2UnaryNotSimplification +Alias candidate removed (volatile)conio_cursor_text = gotoxy::$6 cputln::$1 cscroll::$7 +Alias candidate removed (volatile)conio_cursor_color = gotoxy::$7 cputln::$3 cscroll::$8 +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 memcpy::src_end#0 = memcpy::$0 +Alias memcpy::src#2 = memcpy::src#3 +Alias memcpy::dst#2 = memcpy::dst#3 +Alias memcpy::src_end#1 = memcpy::src_end#2 +Alias memcpy::destination#3 = memcpy::destination#5 memcpy::destination#4 memcpy::return#0 memcpy::return#4 memcpy::return#1 +Alias memset::return#0 = memset::str#2 memset::return#4 memset::return#1 +Alias memset::str#3 = memset::str#4 +Alias memset::num#2 = memset::num#3 +Alias memset::c#4 = memset::c#5 +Alias memset::end#0 = memset::$2 +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 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 strlen::len#2 = strlen::len#4 strlen::len#3 strlen::return#0 strlen::return#3 strlen::return#1 +Alias strlen::str#2 = strlen::str#3 +Alias 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 ultoa::value#10 = ultoa::value#8 ultoa::value#12 ultoa::value#13 ultoa::value#9 ultoa::value#14 ultoa::value#15 ultoa::value#11 +Alias ultoa::buffer#10 = ultoa::buffer#17 ultoa::buffer#21 ultoa::buffer#16 ultoa::buffer#18 ultoa::buffer#13 ultoa::buffer#19 ultoa::buffer#20 ultoa::buffer#6 +Alias ultoa::radix#1 = ultoa::radix#2 ultoa::radix#3 ultoa::radix#4 +Alias ultoa::digit#2 = ultoa::digit#3 ultoa::digit#6 ultoa::digit#5 +Alias ultoa::digit_values#10 = ultoa::digit_values#5 ultoa::digit_values#6 ultoa::digit_values#9 +Alias ultoa::value#2 = ultoa::value#5 ultoa::value#3 ultoa::value#4 +Alias ultoa::started#2 = ultoa::started#3 +Alias ultoa::buffer#11 = ultoa::buffer#12 ultoa::buffer#7 ultoa::buffer#8 ultoa::buffer#9 +Alias ultoa::max_digits#10 = ultoa::max_digits#8 ultoa::max_digits#5 ultoa::max_digits#9 +Alias ultoa::digit_value#0 = ultoa::digit_value#1 +Alias ultoa_append::return#0 = ultoa_append::return#3 +Alias ultoa::value#0 = ultoa::$9 +Alias ultoa_append::digit#2 = ultoa_append::digit#4 ultoa_append::digit#3 +Alias ultoa_append::value#2 = ultoa_append::value#3 ultoa_append::value#4 ultoa_append::return#1 ultoa_append::return#4 ultoa_append::return#2 +Alias ultoa_append::sub#1 = ultoa_append::sub#2 +Alias ultoa_append::buffer#1 = ultoa_append::buffer#4 ultoa_append::buffer#2 +Alias rand::return#0 = rand::return#4 rand::return#1 +Alias rand_state#10 = rand_state#3 rand_state#4 +Alias rand_state#0 = rand_state#25 rand_state#18 +Alias clrscr::line_text#5 = clrscr::line_text#6 +Alias clrscr::line_cols#5 = clrscr::line_cols#6 +Alias clrscr::l#2 = clrscr::l#5 +Alias clrscr::line_text#2 = clrscr::line_text#4 clrscr::line_text#3 +Alias clrscr::c#2 = clrscr::c#3 +Alias clrscr::line_cols#2 = clrscr::line_cols#4 clrscr::line_cols#3 +Alias clrscr::l#3 = clrscr::l#6 clrscr::l#4 +Alias gotoxy::x#6 = gotoxy::x#7 +Alias gotoxy::offset#0 = gotoxy::$5 +Alias gotoxy::y#6 = gotoxy::y#7 +Alias cputc::c#3 = cputc::c#4 +Alias cputs::c#1 = cputs::c#2 +Alias cputs::s#0 = cputs::s#7 cputs::s#6 +Alias textcolor::return#0 = textcolor::old#0 textcolor::return#5 textcolor::return#1 +Alias printf_padding::pad#3 = printf_padding::pad#4 printf_padding::pad#6 +Alias printf_padding::i#2 = printf_padding::i#4 printf_padding::i#3 +Alias printf_padding::length#3 = printf_padding::length#6 printf_padding::length#5 +Alias printf_ulong::uvalue#2 = printf_ulong::uvalue#4 printf_ulong::uvalue#3 +Alias printf_ulong::format_radix#3 = printf_ulong::format_radix#5 printf_ulong::format_radix#4 +Alias printf_ulong::format_min_length#3 = printf_ulong::format_min_length#5 printf_ulong::format_min_length#4 +Alias printf_ulong::format_justify_left#3 = printf_ulong::format_justify_left#5 printf_ulong::format_justify_left#4 +Alias printf_ulong::format_sign_always#1 = printf_ulong::format_sign_always#4 printf_ulong::format_sign_always#5 +Alias printf_ulong::format_zero_padding#3 = printf_ulong::format_zero_padding#5 printf_ulong::format_zero_padding#4 +Alias printf_ulong::format_upper_case#3 = printf_ulong::format_upper_case#5 printf_ulong::format_upper_case#4 +Alias printf_ulong::format_min_length#1 = printf_ulong::format_min_length#2 +Alias printf_ulong::format_justify_left#1 = printf_ulong::format_justify_left#2 +Alias printf_ulong::format_sign_always#2 = printf_ulong::format_sign_always#3 +Alias printf_ulong::format_zero_padding#1 = printf_ulong::format_zero_padding#2 +Alias printf_ulong::format_upper_case#1 = printf_ulong::format_upper_case#2 +Alias printf_ulong::format_radix#1 = printf_ulong::format_radix#2 +Alias printf_uint::uvalue#2 = printf_uint::uvalue#4 printf_uint::uvalue#3 +Alias printf_uint::format_radix#3 = printf_uint::format_radix#5 printf_uint::format_radix#4 +Alias printf_uint::format_min_length#3 = printf_uint::format_min_length#5 printf_uint::format_min_length#4 +Alias printf_uint::format_justify_left#3 = printf_uint::format_justify_left#5 printf_uint::format_justify_left#4 +Alias printf_uint::format_sign_always#1 = printf_uint::format_sign_always#4 printf_uint::format_sign_always#5 +Alias printf_uint::format_zero_padding#3 = printf_uint::format_zero_padding#5 printf_uint::format_zero_padding#4 +Alias printf_uint::format_upper_case#3 = printf_uint::format_upper_case#5 printf_uint::format_upper_case#4 +Alias printf_uint::format_min_length#1 = printf_uint::format_min_length#2 +Alias printf_uint::format_justify_left#1 = printf_uint::format_justify_left#2 +Alias printf_uint::format_sign_always#2 = printf_uint::format_sign_always#3 +Alias printf_uint::format_zero_padding#1 = printf_uint::format_zero_padding#2 +Alias printf_uint::format_upper_case#1 = printf_uint::format_upper_case#2 +Alias printf_uint::format_radix#1 = printf_uint::format_radix#2 +Alias printf_number_buffer::buffer_digits#19 = printf_number_buffer::buffer_digits#2 printf_number_buffer::buffer_digits#5 printf_number_buffer::buffer_digits#20 +Alias printf_number_buffer::buffer_sign#12 = printf_number_buffer::buffer_sign#5 printf_number_buffer::buffer_sign#8 printf_number_buffer::buffer_sign#2 +Alias printf_number_buffer::format_min_length#2 = printf_number_buffer::format_min_length#6 printf_number_buffer::format_min_length#4 printf_number_buffer::format_min_length#5 +Alias printf_number_buffer::format_justify_left#12 = printf_number_buffer::format_justify_left#4 printf_number_buffer::format_justify_left#8 printf_number_buffer::format_justify_left#9 +Alias printf_number_buffer::format_zero_padding#11 = printf_number_buffer::format_zero_padding#17 printf_number_buffer::format_zero_padding#5 printf_number_buffer::format_zero_padding#12 +Alias printf_number_buffer::format_upper_case#11 = printf_number_buffer::format_upper_case#17 printf_number_buffer::format_upper_case#15 printf_number_buffer::format_upper_case#16 +Alias strlen::return#2 = strlen::return#4 +Alias printf_number_buffer::padding#1 = printf_number_buffer::$21 +Alias printf_number_buffer::len#0 = printf_number_buffer::len#3 +Alias printf_number_buffer::format_justify_left#5 = printf_number_buffer::format_justify_left#6 +Alias printf_number_buffer::format_zero_padding#6 = printf_number_buffer::format_zero_padding#7 +Alias printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#9 +Alias printf_number_buffer::format_upper_case#12 = printf_number_buffer::format_upper_case#13 +Alias printf_number_buffer::buffer_digits#16 = printf_number_buffer::buffer_digits#17 +Alias printf_number_buffer::padding#12 = printf_number_buffer::padding#4 printf_number_buffer::padding#3 +Alias printf_number_buffer::buffer_sign#11 = printf_number_buffer::buffer_sign#6 printf_number_buffer::buffer_sign#7 +Alias printf_number_buffer::format_zero_padding#13 = printf_number_buffer::format_zero_padding#18 printf_number_buffer::format_zero_padding#2 +Alias printf_number_buffer::format_upper_case#14 = printf_number_buffer::format_upper_case#8 printf_number_buffer::format_upper_case#9 +Alias printf_number_buffer::buffer_digits#13 = printf_number_buffer::buffer_digits#18 printf_number_buffer::buffer_digits#14 +Alias printf_number_buffer::format_justify_left#19 = printf_number_buffer::format_justify_left#21 printf_number_buffer::format_justify_left#2 +Alias printf_number_buffer::buffer_sign#3 = printf_number_buffer::buffer_sign#4 +Alias printf_number_buffer::format_zero_padding#14 = printf_number_buffer::format_zero_padding#9 printf_number_buffer::format_zero_padding#8 +Alias printf_number_buffer::padding#10 = printf_number_buffer::padding#13 printf_number_buffer::padding#9 +Alias printf_number_buffer::format_upper_case#10 = printf_number_buffer::format_upper_case#6 printf_number_buffer::format_upper_case#5 +Alias printf_number_buffer::buffer_digits#10 = printf_number_buffer::buffer_digits#15 printf_number_buffer::buffer_digits#11 +Alias printf_number_buffer::format_justify_left#16 = printf_number_buffer::format_justify_left#20 printf_number_buffer::format_justify_left#17 +Alias printf_number_buffer::padding#16 = printf_number_buffer::padding#6 printf_number_buffer::padding#5 +Alias printf_number_buffer::format_upper_case#3 = printf_number_buffer::format_upper_case#7 printf_number_buffer::format_upper_case#4 +Alias printf_number_buffer::buffer_digits#12 = printf_number_buffer::buffer_digits#9 printf_number_buffer::buffer_digits#8 +Alias printf_number_buffer::format_zero_padding#19 = printf_number_buffer::format_zero_padding#21 printf_number_buffer::format_zero_padding#3 +Alias printf_number_buffer::format_justify_left#13 = printf_number_buffer::format_justify_left#18 printf_number_buffer::format_justify_left#14 +Alias printf_number_buffer::format_zero_padding#10 = printf_number_buffer::format_zero_padding#4 +Alias printf_number_buffer::format_justify_left#3 = printf_number_buffer::format_justify_left#7 +Alias printf_number_buffer::padding#11 = printf_number_buffer::padding#7 printf_number_buffer::padding#8 +Alias printf_number_buffer::buffer_digits#4 = printf_number_buffer::buffer_digits#7 printf_number_buffer::buffer_digits#6 +Alias printf_number_buffer::format_zero_padding#15 = printf_number_buffer::format_zero_padding#20 printf_number_buffer::format_zero_padding#16 +Alias printf_number_buffer::format_justify_left#10 = printf_number_buffer::format_justify_left#15 printf_number_buffer::format_justify_left#11 +Alias printf_number_buffer::padding#14 = printf_number_buffer::padding#17 printf_number_buffer::padding#15 +Alias rand_state#16 = rand_state#26 rand_state#30 rand_state#19 +Alias rand::return#2 = rand::return#5 +Alias rand_state#11 = rand_state#5 rand_state#27 +Alias main::first#0 = main::$3 main::first#1 main::rnd#0 +Alias main::cnt#0 = main::cnt#4 +Alias rand::return#3 = rand::return#6 +Alias main::first#2 = main::first#3 +Alias main::cnt#12 = main::cnt#5 main::cnt#7 main::cnt#8 main::cnt#6 main::cnt#3 +Alias main::col#7 = main::col#9 +Alias main::row#7 = main::row#8 +Alias rand_state#12 = rand_state#6 rand_state#33 rand_state#32 rand_state#29 rand_state#24 rand_state#17 rand_state#13 rand_state#7 +Alias main::rnd#1 = main::$16 +Alias main::col#3 = main::col#5 main::col#8 main::col#6 main::col#4 +Alias main::row#3 = main::row#5 main::row#6 main::row#4 +Alias main::rnd#2 = main::rnd#3 main::rnd#4 +Alias rand_state#20 = rand_state#31 rand_state#28 rand_state#21 rand_state#22 rand_state#23 +Alias main::first#4 = main::first#9 main::first#8 main::first#5 main::first#6 main::first#7 +Alias main::cnt#1 = main::cnt#14 main::cnt#13 main::cnt#9 main::cnt#10 main::cnt#11 +Alias main::row#2 = main::row#9 +Alias rand_state#14 = rand_state#8 +Successful SSA optimization Pass2AliasElimination +Alias candidate removed (volatile)conio_cursor_text = gotoxy::$6 cputln::$1 cscroll::$7 +Alias candidate removed (volatile)conio_cursor_color = gotoxy::$7 cputln::$3 cscroll::$8 +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 ultoa::value#10 = ultoa::value#7 +Alias ultoa::buffer#10 = ultoa::buffer#15 +Alias ultoa::digit#2 = ultoa::digit#4 +Alias ultoa::max_digits#10 = ultoa::max_digits#6 +Alias ultoa::digit_values#10 = ultoa::digit_values#7 +Alias gotoxy::x#4 = gotoxy::x#6 +Alias gotoxy::y#5 = gotoxy::y#6 +Alias printf_ulong::uvalue#1 = printf_ulong::uvalue#2 +Alias printf_ulong::format_radix#1 = printf_ulong::format_radix#3 +Alias printf_ulong::format_min_length#1 = printf_ulong::format_min_length#3 +Alias printf_ulong::format_justify_left#1 = printf_ulong::format_justify_left#3 +Alias printf_ulong::format_sign_always#1 = printf_ulong::format_sign_always#2 +Alias printf_ulong::format_zero_padding#1 = printf_ulong::format_zero_padding#3 +Alias printf_ulong::format_upper_case#1 = printf_ulong::format_upper_case#3 +Alias printf_uint::uvalue#1 = printf_uint::uvalue#2 +Alias printf_uint::format_radix#1 = printf_uint::format_radix#3 +Alias printf_uint::format_min_length#1 = printf_uint::format_min_length#3 +Alias printf_uint::format_justify_left#1 = printf_uint::format_justify_left#3 +Alias printf_uint::format_sign_always#1 = printf_uint::format_sign_always#2 +Alias printf_uint::format_zero_padding#1 = printf_uint::format_zero_padding#3 +Alias printf_uint::format_upper_case#1 = printf_uint::format_upper_case#3 +Alias printf_number_buffer::format_min_length#2 = printf_number_buffer::format_min_length#3 +Alias printf_number_buffer::format_justify_left#12 = printf_number_buffer::format_justify_left#5 +Alias printf_number_buffer::format_zero_padding#11 = printf_number_buffer::format_zero_padding#6 +Alias printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#12 +Alias printf_number_buffer::format_upper_case#11 = printf_number_buffer::format_upper_case#12 +Alias printf_number_buffer::buffer_digits#16 = printf_number_buffer::buffer_digits#19 +Alias printf_number_buffer::buffer_sign#11 = printf_number_buffer::buffer_sign#3 +Alias printf_number_buffer::format_zero_padding#10 = printf_number_buffer::format_zero_padding#14 printf_number_buffer::format_zero_padding#13 printf_number_buffer::format_zero_padding#19 printf_number_buffer::format_zero_padding#15 +Alias printf_number_buffer::padding#10 = printf_number_buffer::padding#12 printf_number_buffer::padding#16 printf_number_buffer::padding#14 printf_number_buffer::padding#11 +Alias printf_number_buffer::format_upper_case#10 = printf_number_buffer::format_upper_case#14 printf_number_buffer::format_upper_case#3 printf_number_buffer::format_upper_case#2 +Alias printf_number_buffer::buffer_digits#10 = printf_number_buffer::buffer_digits#13 printf_number_buffer::buffer_digits#12 printf_number_buffer::buffer_digits#4 printf_number_buffer::buffer_digits#3 +Alias printf_number_buffer::format_justify_left#10 = printf_number_buffer::format_justify_left#16 printf_number_buffer::format_justify_left#19 printf_number_buffer::format_justify_left#13 printf_number_buffer::format_justify_left#3 +Alias rand_state#15 = rand_state#20 +Alias main::first#2 = main::first#4 +Alias main::cnt#1 = main::cnt#12 +Successful SSA optimization Pass2AliasElimination +Alias candidate removed (volatile)conio_cursor_text = gotoxy::$6 cputln::$1 cscroll::$7 +Alias candidate removed (volatile)conio_cursor_color = gotoxy::$7 cputln::$3 cscroll::$8 +Alias printf_number_buffer::format_justify_left#10 = printf_number_buffer::format_justify_left#12 +Alias printf_number_buffer::format_zero_padding#10 = printf_number_buffer::format_zero_padding#11 +Alias printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#11 +Alias printf_number_buffer::format_upper_case#10 = printf_number_buffer::format_upper_case#11 +Alias printf_number_buffer::buffer_digits#10 = printf_number_buffer::buffer_digits#16 +Successful SSA optimization Pass2AliasElimination +Alias candidate removed (volatile)conio_cursor_text = gotoxy::$6 cputln::$1 cscroll::$7 +Alias candidate removed (volatile)conio_cursor_color = gotoxy::$7 cputln::$3 cscroll::$8 +Identical Phi Values (byte) toupper::ch#1 (byte) toupper::ch#0 +Identical Phi Values (byte*) memcpy::src_end#1 (byte*) memcpy::src_end#0 +Identical Phi Values (void*) memcpy::destination#3 (void*) memcpy::destination#2 +Identical Phi Values (byte*) memset::end#1 (byte*) memset::end#0 +Identical Phi Values (void*) memset::str#5 (void*) memset::str#3 +Identical Phi Values (byte) memset::c#2 (byte) memset::c#4 +Identical Phi Values (byte*) strupr::src#0 (byte*) strupr::str#0 +Identical Phi Values (byte*) strupr::str#2 (byte*) strupr::src#0 +Identical Phi Values (byte*) strlen::str#4 (byte*) strlen::str#1 +Identical Phi Values (byte) utoa::radix#1 (byte) utoa::radix#0 +Identical Phi Values (word) utoa::value#10 (word) utoa::value#1 +Identical Phi Values (byte*) utoa::buffer#10 (byte*) utoa::buffer#5 +Identical Phi Values (byte) utoa::max_digits#10 (byte) utoa::max_digits#7 +Identical Phi Values (word*) utoa::digit_values#10 (word*) utoa::digit_values#8 +Identical Phi Values (word) utoa_append::value#5 (word) utoa_append::value#0 +Identical Phi Values (word) utoa_append::sub#3 (word) utoa_append::sub#0 +Identical Phi Values (byte*) utoa_append::buffer#3 (byte*) utoa_append::buffer#0 +Identical Phi Values (word) utoa_append::sub#1 (word) utoa_append::sub#3 +Identical Phi Values (byte*) utoa_append::buffer#1 (byte*) utoa_append::buffer#3 +Identical Phi Values (byte) ultoa::radix#1 (byte) ultoa::radix#0 +Identical Phi Values (dword) ultoa::value#10 (dword) ultoa::value#1 +Identical Phi Values (byte*) ultoa::buffer#10 (byte*) ultoa::buffer#5 +Identical Phi Values (byte) ultoa::max_digits#10 (byte) ultoa::max_digits#7 +Identical Phi Values (dword*) ultoa::digit_values#10 (dword*) ultoa::digit_values#8 +Identical Phi Values (dword) ultoa_append::value#5 (dword) ultoa_append::value#0 +Identical Phi Values (dword) ultoa_append::sub#3 (dword) ultoa_append::sub#0 +Identical Phi Values (byte*) ultoa_append::buffer#3 (byte*) ultoa_append::buffer#0 +Identical Phi Values (dword) ultoa_append::sub#1 (dword) ultoa_append::sub#3 +Identical Phi Values (byte*) ultoa_append::buffer#1 (byte*) ultoa_append::buffer#3 +Identical Phi Values (byte*) clrscr::line_text#2 (byte*) clrscr::line_text#5 +Identical Phi Values (byte*) clrscr::line_cols#2 (byte*) clrscr::line_cols#5 +Identical Phi Values (byte) clrscr::l#3 (byte) clrscr::l#2 +Identical Phi Values (byte) printf_padding::length#3 (byte) printf_padding::length#4 +Identical Phi Values (byte) printf_padding::pad#3 (byte) printf_padding::pad#5 +Identical Phi Values (byte) printf_ulong::format_sign_always#1 (byte) printf_ulong::format_sign_always#0 +Identical Phi Values (dword) printf_ulong::uvalue#1 (dword) printf_ulong::uvalue#0 +Identical Phi Values (byte) printf_ulong::format_radix#1 (byte) printf_ulong::format_radix#0 +Identical Phi Values (byte) printf_ulong::format_min_length#1 (byte) printf_ulong::format_min_length#0 +Identical Phi Values (byte) printf_ulong::format_justify_left#1 (byte) printf_ulong::format_justify_left#0 +Identical Phi Values (byte) printf_ulong::format_zero_padding#1 (byte) printf_ulong::format_zero_padding#0 +Identical Phi Values (byte) printf_ulong::format_upper_case#1 (byte) printf_ulong::format_upper_case#0 +Identical Phi Values (byte) printf_uint::format_sign_always#1 (byte) printf_uint::format_sign_always#0 +Identical Phi Values (word) printf_uint::uvalue#1 (word) printf_uint::uvalue#0 +Identical Phi Values (byte) printf_uint::format_radix#1 (byte) printf_uint::format_radix#0 +Identical Phi Values (byte) printf_uint::format_min_length#1 (byte) printf_uint::format_min_length#0 +Identical Phi Values (byte) printf_uint::format_justify_left#1 (byte) printf_uint::format_justify_left#0 +Identical Phi Values (byte) printf_uint::format_zero_padding#1 (byte) printf_uint::format_zero_padding#0 +Identical Phi Values (byte) printf_uint::format_upper_case#1 (byte) printf_uint::format_upper_case#0 +Identical Phi Values (word) rand_state#16 (word) rand_state#0 +Identical Phi Values (word) rand_state#11 (word) rand_state#10 +Identical Phi Values (word) main::first#2 (word) main::first#0 +Identical Phi Values (word) rand_state#12 (word) rand_state#10 +Identical Phi Values (word) rand_state#14 (word) rand_state#12 +Successful SSA optimization Pass2IdenticalPhiElimination +Identical Phi Values (void*) memset::return#0 (void*) memset::str#3 +Identical Phi Values (word) rand_state#15 (word) rand_state#10 +Successful SSA optimization Pass2IdenticalPhiElimination +Simple Condition (bool~) memcpy::$1 [15] if((byte*) memcpy::src#2!=(byte*) memcpy::src_end#0) goto memcpy::@2 +Simple Condition (bool~) memset::$1 [22] if((word) memset::num#2<=(byte) 0) goto memset::@1 +Simple Condition (bool~) memset::$3 [29] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@4 +Simple Condition (bool~) strupr::$1 [36] if((byte) 0!=*((byte*) strupr::src#2)) goto strupr::@2 +Simple Condition (bool~) strlen::$0 [48] if((byte) 0!=*((byte*) strlen::str#2)) goto strlen::@2 +Simple Condition (bool~) utoa::$0 [56] if((byte) utoa::radix#0==(const byte) DECIMAL) goto utoa::@1 +Simple Condition (bool~) utoa::$1 [60] if((byte) utoa::radix#0==(const byte) HEXADECIMAL) goto utoa::@2 +Simple Condition (bool~) utoa::$2 [64] if((byte) utoa::radix#0==(const byte) OCTAL) goto utoa::@3 +Simple Condition (bool~) utoa::$3 [68] if((byte) utoa::radix#0==(const byte) BINARY) goto utoa::@4 +Simple Condition (bool~) utoa::$5 [85] if((byte) utoa::digit#2<(byte~) utoa::$4) goto utoa::@11 +Simple Condition (bool~) utoa_append::$0 [110] if((word) utoa_append::value#2>=(word) utoa_append::sub#0) goto utoa_append::@2 +Simple Condition (bool~) ultoa::$0 [119] if((byte) ultoa::radix#0==(const byte) DECIMAL) goto ultoa::@1 +Simple Condition (bool~) ultoa::$1 [123] if((byte) ultoa::radix#0==(const byte) HEXADECIMAL) goto ultoa::@2 +Simple Condition (bool~) ultoa::$2 [127] if((byte) ultoa::radix#0==(const byte) OCTAL) goto ultoa::@3 +Simple Condition (bool~) ultoa::$3 [131] if((byte) ultoa::radix#0==(const byte) BINARY) goto ultoa::@4 +Simple Condition (bool~) ultoa::$5 [148] if((byte) ultoa::digit#2<(byte~) ultoa::$4) goto ultoa::@11 +Simple Condition (bool~) ultoa_append::$0 [173] if((dword) ultoa_append::value#2>=(dword) ultoa_append::sub#0) goto ultoa_append::@2 +Simple Condition (bool~) clrscr::$0 [199] if((byte) clrscr::l#2<(byte) $19) goto clrscr::@2 +Simple Condition (bool~) clrscr::$1 [207] if((byte) clrscr::c#2<(byte) $28) goto clrscr::@5 +Simple Condition (bool~) gotoxy::$1 [217] if((byte) gotoxy::y#4<=(byte) $19) goto gotoxy::@1 +Simple Condition (bool~) gotoxy::$3 [220] if((byte) gotoxy::x#4<(byte) $28) goto gotoxy::@2 +Simple Condition (bool~) cputc::$0 [236] if((byte) cputc::c#3==(byte) ' +') goto cputc::@1 +Simple Condition (bool~) cputc::$2 [244] if((byte) conio_cursor_x!=(byte) $28) goto cputc::@return +Simple Condition (bool~) cscroll::$1 [260] if((byte) conio_cursor_y!=(byte) $19) goto cscroll::@return +Simple Condition (bool~) cscroll::$9 [262] if((byte) 0!=(byte) conio_scroll_enable) goto cscroll::@3 +Simple Condition (bool~) cputs::$1 [298] if((byte) 0!=(byte) cputs::c#1) goto cputs::@2 +Simple Condition (bool~) printf_padding::$0 [310] if((byte) printf_padding::i#2<(byte) printf_padding::length#4) goto printf_padding::@2 +Simple Condition (bool~) printf_ulong::$5 [317] if((byte) 0!=(byte) printf_ulong::format_sign_always#0) goto printf_ulong::@1 +Simple Condition (bool~) printf_uint::$5 [338] if((byte) 0!=(byte) printf_uint::format_sign_always#0) goto printf_uint::@1 +Simple Condition (bool~) printf_number_buffer::$0 [360] if((byte) 0==(byte) printf_number_buffer::format_min_length#2) goto printf_number_buffer::@1 +Simple Condition (bool~) printf_number_buffer::$20 [374] if((byte) 0==(byte) printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@13 +Simple Condition (bool~) printf_number_buffer::$23 [379] if((signed byte) printf_number_buffer::padding#1>=(signed byte) 0) goto printf_number_buffer::@1 +Simple Condition (bool~) printf_number_buffer::$7 [383] if((byte) 0==(byte) printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@3 +Simple Condition (bool~) printf_number_buffer::$12 [393] if((byte) 0==(byte) printf_number_buffer::format_upper_case#10) goto printf_number_buffer::@5 +Simple Condition (bool~) main::$9 [432] if((byte~) main::$18!=(byte) 0) goto main::@2 +Simple Condition (bool~) main::$17 [439] if((word) main::rnd#1!=(word) main::first#0) goto main::@1 +Simple Condition (bool~) main::$13 [453] if((byte) main::row#1!=(byte) $19) goto main::@2 +Simple Condition (bool~) main::$15 [457] if((byte) main::col#1<=(byte)(number) $28-(number) 5) goto main::@2 +Successful SSA optimization Pass2ConditionalJumpSimplification +Rewriting && if()-condition to two if()s [3] (bool~) toupper::$2 ← (bool~) toupper::$0 && (bool~) toupper::$1 +Rewriting ! if()-condition to reversed if() [90] (bool~) utoa::$8 ← ! (bool~) utoa::$7 +Rewriting || if()-condition to two if()s [89] (bool~) utoa::$7 ← (byte) utoa::started#2 || (bool~) utoa::$6 +Rewriting ! if()-condition to reversed if() [153] (bool~) ultoa::$8 ← ! (bool~) ultoa::$7 +Rewriting || if()-condition to two if()s [152] (bool~) ultoa::$7 ← (byte) ultoa::started#2 || (bool~) ultoa::$6 +Rewriting ! if()-condition to reversed if() [366] (bool~) printf_number_buffer::$5 ← ! (bool~) printf_number_buffer::$4 +Rewriting && if()-condition to two if()s [365] (bool~) printf_number_buffer::$4 ← (bool~) printf_number_buffer::$3 && (signed byte) printf_number_buffer::padding#10 +Rewriting && if()-condition to two if()s [364] (bool~) printf_number_buffer::$3 ← (bool~) printf_number_buffer::$1 && (bool~) printf_number_buffer::$2 +Rewriting ! if()-condition to reversed if() [388] (bool~) printf_number_buffer::$10 ← ! (bool~) printf_number_buffer::$9 +Rewriting && if()-condition to two if()s [387] (bool~) printf_number_buffer::$9 ← (byte) printf_number_buffer::format_zero_padding#10 && (signed byte) printf_number_buffer::padding#10 +Rewriting ! if()-condition to reversed if() [402] (bool~) printf_number_buffer::$17 ← ! (bool~) printf_number_buffer::$16 +Rewriting && if()-condition to two if()s [401] (bool~) printf_number_buffer::$16 ← (bool~) printf_number_buffer::$15 && (signed byte) printf_number_buffer::padding#10 +Rewriting && if()-condition to two if()s [400] (bool~) printf_number_buffer::$15 ← (byte) printf_number_buffer::format_justify_left#10 && (bool~) printf_number_buffer::$14 +Successful SSA optimization Pass2ConditionalAndOrRewriting +Warning! Adding boolean cast to non-boolean condition (byte) utoa::started#2 +Warning! Adding boolean cast to non-boolean condition (byte) ultoa::started#2 +Warning! Adding boolean cast to non-boolean condition (byte) printf_number_buffer::format_zero_padding#10 +Warning! Adding boolean cast to non-boolean condition (byte) printf_number_buffer::format_justify_left#10 +Warning! Adding boolean cast to non-boolean condition (signed byte) printf_number_buffer::padding#10 +Warning! Adding boolean cast to non-boolean condition (signed byte) printf_number_buffer::padding#10 +Warning! Adding boolean cast to non-boolean condition (signed byte) printf_number_buffer::padding#10 +Constant right-side identified [265] (word) memcpy::num#0 ← (unumber)(number) $19*(number) $28-(number) $28 +Constant right-side identified [270] (word) memcpy::num#1 ← (unumber)(number) $19*(number) $28-(number) $28 +Successful SSA optimization Pass2ConstantRValueConsolidation +Constant (const word) strlen::len#0 = 0 +Constant (const byte) utoa::max_digits#0 = 0 +Constant (const word*) utoa::digit_values#0 = (word*) 0 +Constant (const byte) utoa::max_digits#1 = 5 +Constant (const word*) utoa::digit_values#1 = RADIX_DECIMAL_VALUES +Constant (const byte) utoa::max_digits#2 = 4 +Constant (const word*) utoa::digit_values#2 = RADIX_HEXADECIMAL_VALUES +Constant (const byte) utoa::max_digits#3 = 6 +Constant (const word*) utoa::digit_values#3 = RADIX_OCTAL_VALUES +Constant (const byte) utoa::max_digits#4 = $10 +Constant (const word*) utoa::digit_values#4 = RADIX_BINARY_VALUES +Constant (const byte) utoa::started#0 = 0 +Constant (const byte) utoa::digit#0 = 0 +Constant (const byte) utoa::started#1 = 1 +Constant (const byte) utoa_append::digit#0 = 0 +Constant (const byte) ultoa::max_digits#0 = 0 +Constant (const dword*) ultoa::digit_values#0 = (dword*) 0 +Constant (const byte) ultoa::max_digits#1 = $a +Constant (const dword*) ultoa::digit_values#1 = RADIX_DECIMAL_VALUES_LONG +Constant (const byte) ultoa::max_digits#2 = 8 +Constant (const dword*) ultoa::digit_values#2 = RADIX_HEXADECIMAL_VALUES_LONG +Constant (const byte) ultoa::max_digits#3 = $b +Constant (const dword*) ultoa::digit_values#3 = RADIX_OCTAL_VALUES_LONG +Constant (const byte) ultoa::max_digits#4 = $20 +Constant (const dword*) ultoa::digit_values#4 = RADIX_BINARY_VALUES_LONG +Constant (const byte) ultoa::started#0 = 0 +Constant (const byte) ultoa::digit#0 = 0 +Constant (const byte) ultoa::started#1 = 1 +Constant (const byte) ultoa_append::digit#0 = 0 +Constant (const word) rand_state#0 = 1 +Constant (const byte*) clrscr::line_text#0 = CONIO_SCREEN_TEXT +Constant (const byte*) clrscr::line_cols#0 = CONIO_SCREEN_COLORS +Constant (const byte) clrscr::l#0 = 0 +Constant (const byte) clrscr::c#0 = 0 +Constant (const byte) gotoxy::y#0 = 0 +Constant (const byte) gotoxy::x#0 = 0 +Constant (const void*) memcpy::destination#0 = (void*)CONIO_SCREEN_TEXT +Constant (const void*) memcpy::source#0 = (void*)CONIO_SCREEN_TEXT+$28 +Constant (const word) memcpy::num#0 = (unumber)$19*$28-$28 +Constant (const void*) memcpy::destination#1 = (void*)CONIO_SCREEN_COLORS +Constant (const void*) memcpy::source#1 = (void*)CONIO_SCREEN_COLORS+$28 +Constant (const word) memcpy::num#1 = (unumber)$19*$28-$28 +Constant (const void*) memset::str#0 = (void*)CONIO_SCREEN_TEXT+(word)$19*$28-$28 +Constant (const byte) memset::c#0 = ' ' +Constant (const word) memset::num#0 = $28 +Constant (const void*) memset::str#1 = (void*)CONIO_SCREEN_COLORS+(word)$19*$28-$28 +Constant (const word) memset::num#1 = $28 +Constant (const byte) gotoxy::x#1 = 0 +Constant (const byte) gotoxy::y#1 = 0 +Constant (const byte) cputs::c#0 = 0 +Constant (const byte) printf_padding::i#0 = 0 +Constant (const byte) printf_ulong::$1 = '+' +Constant (const byte) printf_ulong::$0 = 0 +Constant (const byte*) ultoa::buffer#5 = (byte*)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS +Constant (const byte*) printf_number_buffer::buffer_digits#0 = (byte*)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS +Constant (const byte) printf_uint::$1 = '+' +Constant (const byte) printf_uint::$0 = 0 +Constant (const byte*) utoa::buffer#5 = (byte*)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS +Constant (const byte*) printf_number_buffer::buffer_digits#1 = (byte*)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS +Constant (const signed byte) printf_number_buffer::padding#0 = 0 +Constant (const signed byte) printf_number_buffer::padding#2 = 0 +Constant (const byte) printf_padding::pad#0 = ' ' +Constant (const byte) printf_padding::pad#1 = '0' +Constant (const byte) printf_padding::pad#2 = ' ' +Constant (const byte) textcolor::color#0 = WHITE +Constant (const to_nomodify byte*) cputs::s#2 = main::s +Constant (const dword) main::cnt#0 = 0 +Constant (const byte) textcolor::color#1 = LIGHT_BLUE +Constant (const byte) main::col#0 = 3 +Constant (const byte) main::row#0 = 1 +Constant (const byte) printf_uint::format_min_length#0 = 5 +Constant (const byte) printf_uint::format_justify_left#0 = 0 +Constant (const byte) printf_uint::format_sign_always#0 = 0 +Constant (const byte) printf_uint::format_zero_padding#0 = 0 +Constant (const byte) printf_uint::format_upper_case#0 = 0 +Constant (const byte) printf_uint::format_radix#0 = DECIMAL +Constant (const byte) main::row#2 = 1 +Constant (const byte) main::col#2 = 3 +Constant (const byte) gotoxy::x#3 = $1c +Constant (const byte) gotoxy::y#3 = 0 +Constant (const byte) textcolor::color#2 = WHITE +Constant (const to_nomodify byte*) cputs::s#3 = main::s1 +Constant (const byte) printf_ulong::format_min_length#0 = 0 +Constant (const byte) printf_ulong::format_justify_left#0 = 0 +Constant (const byte) printf_ulong::format_sign_always#0 = 0 +Constant (const byte) printf_ulong::format_zero_padding#0 = 0 +Constant (const byte) printf_ulong::format_upper_case#0 = 0 +Constant (const byte) printf_ulong::format_radix#0 = DECIMAL +Constant (const byte) conio_scroll_enable = 1 +Successful SSA optimization Pass2ConstantIdentification +Constant (const byte) ultoa::radix#0 = printf_ulong::format_radix#0 +Constant (const byte) printf_number_buffer::format_min_length#0 = printf_ulong::format_min_length#0 +Constant (const byte) printf_number_buffer::format_justify_left#0 = printf_ulong::format_justify_left#0 +Constant (const byte) printf_number_buffer::format_sign_always#0 = printf_ulong::format_sign_always#0 +Constant (const byte) printf_number_buffer::format_zero_padding#0 = printf_ulong::format_zero_padding#0 +Constant (const byte) printf_number_buffer::format_upper_case#0 = printf_ulong::format_upper_case#0 +Constant (const byte) printf_number_buffer::format_radix#0 = printf_ulong::format_radix#0 +Constant (const byte) utoa::radix#0 = printf_uint::format_radix#0 +Constant (const byte) printf_number_buffer::format_min_length#1 = printf_uint::format_min_length#0 +Constant (const byte) printf_number_buffer::format_justify_left#1 = printf_uint::format_justify_left#0 +Constant (const byte) printf_number_buffer::format_sign_always#1 = printf_uint::format_sign_always#0 +Constant (const byte) printf_number_buffer::format_zero_padding#1 = printf_uint::format_zero_padding#0 +Constant (const byte) printf_number_buffer::format_upper_case#1 = printf_uint::format_upper_case#0 +Constant (const byte) printf_number_buffer::format_radix#1 = printf_uint::format_radix#0 +Successful SSA optimization Pass2ConstantIdentification +if() condition always true - replacing block destination [56] if((const byte) utoa::radix#0==(const byte) DECIMAL) goto utoa::@1 +if() condition always false - eliminating [60] if((const byte) utoa::radix#0==(const byte) HEXADECIMAL) goto utoa::@2 +if() condition always false - eliminating [64] if((const byte) utoa::radix#0==(const byte) OCTAL) goto utoa::@3 +if() condition always false - eliminating [68] if((const byte) utoa::radix#0==(const byte) BINARY) goto utoa::@4 +if() condition always true - replacing block destination [119] if((const byte) ultoa::radix#0==(const byte) DECIMAL) goto ultoa::@1 +if() condition always false - eliminating [123] if((const byte) ultoa::radix#0==(const byte) HEXADECIMAL) goto ultoa::@2 +if() condition always false - eliminating [127] if((const byte) ultoa::radix#0==(const byte) OCTAL) goto ultoa::@3 +if() condition always false - eliminating [131] if((const byte) ultoa::radix#0==(const byte) BINARY) goto ultoa::@4 +if() condition always true - replacing block destination [262] if((byte) 0!=(const byte) conio_scroll_enable) goto cscroll::@3 +if() condition always false - eliminating [317] if((byte) 0!=(const byte) printf_ulong::format_sign_always#0) goto printf_ulong::@1 +if() condition always false - eliminating [338] if((byte) 0!=(const byte) printf_uint::format_sign_always#0) goto printf_uint::@1 +Successful SSA optimization Pass2ConstantIfs +Rewriting conditional comparison [217] if((byte) gotoxy::y#4<=(byte) $19) goto gotoxy::@1 +Rewriting conditional comparison [457] if((byte) main::col#1<=(byte)(number) $28-(number) 5) goto main::@2 +Simplifying expression containing zero (byte*)&printf_buffer in [321] *((byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) ← (byte~) printf_ulong::$2 +Simplifying expression containing zero (byte*)&printf_buffer in [326] (byte) printf_number_buffer::buffer_sign#0 ← *((byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) +Simplifying expression containing zero (byte*)&printf_buffer in [342] *((byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) ← (byte~) printf_uint::$2 +Simplifying expression containing zero (byte*)&printf_buffer in [347] (byte) printf_number_buffer::buffer_sign#1 ← *((byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) +Successful SSA optimization PassNSimplifyExpressionWithZero +Eliminating unused variable (void*) memcpy::return#2 and assignment [182] (void*) memcpy::return#2 ← (void*) memcpy::destination#2 +Eliminating unused variable (void*) memcpy::return#3 and assignment [184] (void*) memcpy::return#3 ← (void*) memcpy::destination#2 +Eliminating unused variable (void*) memset::return#2 and assignment [186] (void*) memset::return#2 ← (void*) memset::str#3 +Eliminating unused variable (void*) memset::return#3 and assignment [189] (void*) memset::return#3 ← (void*) memset::str#3 +Eliminating unused variable (byte*) strupr::return#2 and assignment [264] (byte*) strupr::return#2 ← (byte*) strupr::str#0 +Eliminating unused variable (byte) textcolor::return#2 and assignment [270] (byte) textcolor::return#2 ← (byte) textcolor::return#0 +Eliminating unused variable (byte) textcolor::return#3 and assignment [276] (byte) textcolor::return#3 ← (byte) textcolor::return#0 +Eliminating unused variable (byte) textcolor::return#4 and assignment [297] (byte) textcolor::return#4 ← (byte) textcolor::return#0 +Eliminating unused constant (const byte) BINARY +Eliminating unused constant (const byte) OCTAL +Eliminating unused constant (const byte) HEXADECIMAL +Eliminating unused constant (const byte) utoa::max_digits#0 +Eliminating unused constant (const word*) utoa::digit_values#0 +Eliminating unused constant (const byte) utoa::radix#0 +Eliminating unused constant (const byte) ultoa::max_digits#0 +Eliminating unused constant (const dword*) ultoa::digit_values#0 +Eliminating unused constant (const byte) ultoa::radix#0 +Eliminating unused constant (const byte) cputs::c#0 +Eliminating unused constant (const byte) printf_number_buffer::format_sign_always#0 +Eliminating unused constant (const byte) printf_number_buffer::format_radix#0 +Eliminating unused constant (const byte) printf_number_buffer::format_sign_always#1 +Eliminating unused constant (const byte) printf_number_buffer::format_radix#1 +Eliminating unused constant (const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN +Eliminating unused constant (const byte) conio_scroll_enable +Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused variable (byte) textcolor::return#0 and assignment [202] (byte) textcolor::return#0 ← (byte) conio_textcolor +Eliminating unused constant (const byte) printf_ulong::format_sign_always#0 +Eliminating unused constant (const byte) printf_ulong::format_radix#0 +Eliminating unused constant (const byte) printf_uint::format_sign_always#0 +Eliminating unused constant (const byte) printf_uint::format_radix#0 +Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused constant (const byte) DECIMAL +Successful SSA optimization PassNEliminateUnusedVars +Eliminating variable (byte*) utoa::buffer#0 from unused block utoa::@9 +Eliminating variable (byte*) utoa::buffer#1 from unused block utoa::@9 +Eliminating variable (byte*) utoa::buffer#2 from unused block utoa::@9 +Eliminating variable (byte*) ultoa::buffer#0 from unused block ultoa::@9 +Eliminating variable (byte*) ultoa::buffer#1 from unused block ultoa::@9 +Eliminating variable (byte*) ultoa::buffer#2 from unused block ultoa::@9 +Removing unused block utoa::@6 +Removing PHI-reference to removed block (utoa::@2) in block utoa::@5 +Removing PHI-reference to removed block (utoa::@2) in block utoa::@5 +Removing unused block utoa::@2 +Removing unused block utoa::@7 +Removing PHI-reference to removed block (utoa::@3) in block utoa::@5 +Removing PHI-reference to removed block (utoa::@3) in block utoa::@5 +Removing unused block utoa::@3 +Removing unused block utoa::@8 +Removing PHI-reference to removed block (utoa::@4) in block utoa::@5 +Removing PHI-reference to removed block (utoa::@4) in block utoa::@5 +Removing unused block utoa::@4 +Removing unused block utoa::@9 +Removing unused block ultoa::@6 +Removing PHI-reference to removed block (ultoa::@2) in block ultoa::@5 +Removing PHI-reference to removed block (ultoa::@2) in block ultoa::@5 +Removing unused block ultoa::@2 +Removing unused block ultoa::@7 +Removing PHI-reference to removed block (ultoa::@3) in block ultoa::@5 +Removing PHI-reference to removed block (ultoa::@3) in block ultoa::@5 +Removing unused block ultoa::@3 +Removing unused block ultoa::@8 +Removing PHI-reference to removed block (ultoa::@4) in block ultoa::@5 +Removing PHI-reference to removed block (ultoa::@4) in block ultoa::@5 +Removing unused block ultoa::@4 +Removing unused block ultoa::@9 +Removing PHI-reference to removed block (cscroll::@2) in block gotoxy +Removing PHI-reference to removed block (cscroll::@2) in block gotoxy +Removing unused block cscroll::@2 +Removing unused block cscroll::@8 +Removing PHI-reference to removed block (printf_ulong::@1) in block printf_ulong::@3 +Removing unused block printf_ulong::@1 +Removing PHI-reference to removed block (printf_uint::@1) in block printf_uint::@3 +Removing unused block printf_uint::@1 +Successful SSA optimization Pass2EliminateUnusedBlocks +Adding number conversion cast (unumber) 0 in (bool~) utoa::$12 ← (number) 0 != (byte) utoa::started#2 +Adding number conversion cast (unumber) 0 in (bool~) ultoa::$12 ← (number) 0 != (byte) ultoa::started#2 +Adding number conversion cast (unumber) $19+1 in if((byte) gotoxy::y#4<(byte) $19+(number) 1) goto gotoxy::@1 +Adding number conversion cast (unumber) 1 in if((byte) gotoxy::y#4<(unumber)(byte) $19+(number) 1) goto gotoxy::@1 +Adding number conversion cast (unumber) 0 in (bool~) printf_number_buffer::$33 ← (number) 0 != (byte) printf_number_buffer::format_zero_padding#10 +Adding number conversion cast (unumber) 0 in (bool~) printf_number_buffer::$34 ← (number) 0 != (byte) printf_number_buffer::format_justify_left#10 +Adding number conversion cast (unumber) (byte)$28-5+1 in if((byte) main::col#1<(byte)(number) $28-(number) 5+(number) 1) goto main::@2 +Adding number conversion cast (unumber) 1 in if((byte) main::col#1<(unumber)(byte)(number) $28-(number) 5+(number) 1) goto main::@2 +Adding number conversion cast (snumber) 0 in (bool~) printf_number_buffer::$35 ← (number) 0 != (signed byte) printf_number_buffer::padding#10 +Adding number conversion cast (snumber) 0 in (bool~) printf_number_buffer::$36 ← (number) 0 != (signed byte) printf_number_buffer::padding#10 +Adding number conversion cast (snumber) 0 in (bool~) printf_number_buffer::$37 ← (number) 0 != (signed byte) printf_number_buffer::padding#10 +Successful SSA optimization PassNAddNumberTypeConversions +Simplifying constant integer cast 0 +Simplifying constant integer cast 0 +Simplifying constant integer cast (byte) $19+(unumber)(number) 1 +Simplifying constant integer cast 1 +Simplifying constant integer cast 0 +Simplifying constant integer cast 0 +Simplifying constant integer cast (byte)(number) $28-(number) 5+(unumber)(number) 1 +Simplifying constant integer cast 1 +Simplifying constant integer cast 0 +Simplifying constant integer cast 0 +Simplifying constant integer cast 0 +Successful SSA optimization PassNCastSimplification +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 1 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 0 +Finalized unsigned number type (byte) 1 +Finalized signed number type (signed byte) 0 +Finalized signed number type (signed byte) 0 +Finalized signed number type (signed byte) 0 +Successful SSA optimization PassNFinalizeNumberTypeConversions +Alias candidate removed (volatile)conio_cursor_text = gotoxy::$6 cputln::$1 cscroll::$7 +Alias candidate removed (volatile)conio_cursor_color = gotoxy::$7 cputln::$3 cscroll::$8 +Identical Phi Values (byte) utoa::max_digits#7 (const byte) utoa::max_digits#1 +Identical Phi Values (word*) utoa::digit_values#8 (const word*) utoa::digit_values#1 +Identical Phi Values (byte) ultoa::max_digits#7 (const byte) ultoa::max_digits#1 +Identical Phi Values (dword*) ultoa::digit_values#8 (const dword*) ultoa::digit_values#1 +Identical Phi Values (byte~) printf_ulong::$2 (const byte) printf_ulong::$0 +Identical Phi Values (byte~) printf_uint::$2 (const byte) printf_uint::$0 +Successful SSA optimization Pass2IdenticalPhiElimination +Simple Condition (bool~) toupper::$0 [2] if((byte) toupper::ch#0>=(byte) 'a') goto toupper::@3 +Simple Condition (bool~) utoa::$12 [50] if((byte) 0!=(byte) utoa::started#2) goto utoa::@14 +Simple Condition (bool~) ultoa::$12 [79] if((byte) 0!=(byte) ultoa::started#2) goto ultoa::@14 +Simple Condition (bool~) printf_number_buffer::$1 [215] if((byte) 0==(byte) printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@23 +Simple Condition (bool~) printf_number_buffer::$33 [231] if((byte) 0!=(byte) printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@24 +Simple Condition (bool~) printf_number_buffer::$34 [241] if((byte) 0!=(byte) printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@26 +Simple Condition (bool~) toupper::$1 [279] if((byte) toupper::ch#0<=(byte) 'z') goto toupper::@1 +Simple Condition (bool~) utoa::$6 [280] if((word) utoa::value#2>=(word) utoa::digit_value#0) goto utoa::@14 +Simple Condition (bool~) ultoa::$6 [281] if((dword) ultoa::value#2>=(dword) ultoa::digit_value#0) goto ultoa::@14 +Simple Condition (bool~) printf_number_buffer::$35 [283] if((signed byte) 0!=(signed byte) printf_number_buffer::padding#10) goto printf_number_buffer::@8 +Simple Condition (bool~) printf_number_buffer::$2 [284] if((byte) 0==(byte) printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@22 +Simple Condition (bool~) printf_number_buffer::$36 [286] if((signed byte) 0!=(signed byte) printf_number_buffer::padding#10) goto printf_number_buffer::@10 +Simple Condition (bool~) printf_number_buffer::$37 [288] if((signed byte) 0!=(signed byte) printf_number_buffer::padding#10) goto printf_number_buffer::@12 +Simple Condition (bool~) printf_number_buffer::$14 [289] if((byte) 0==(byte) printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@25 +Successful SSA optimization Pass2ConditionalJumpSimplification +Negating conditional jump and destination [2] if((byte) toupper::ch#0<(byte) 'a') goto toupper::@2 +Negating conditional jump and destination [215] if((byte) 0!=(byte) printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@2 +Negating conditional jump and destination [231] if((byte) 0==(byte) printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4 +Negating conditional jump and destination [241] if((byte) 0==(byte) printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@return +Negating conditional jump and destination [284] if((byte) 0!=(byte) printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2 +Negating conditional jump and destination [289] if((byte) 0!=(byte) printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@return +Successful SSA optimization Pass2ConditionalJumpSequenceImprovement +Constant right-side identified [44] (byte~) utoa::$4 ← (const byte) utoa::max_digits#1 - (byte) 1 +Constant right-side identified [73] (byte~) ultoa::$4 ← (const byte) ultoa::max_digits#1 - (byte) 1 +Successful SSA optimization Pass2ConstantRValueConsolidation +Constant (const byte) utoa::$4 = utoa::max_digits#1-1 +Constant (const byte) ultoa::$4 = ultoa::max_digits#1-1 +Successful SSA optimization Pass2ConstantIdentification +Eliminating unused constant (const byte) utoa::max_digits#2 +Eliminating unused constant (const word*) utoa::digit_values#2 +Eliminating unused constant (const byte) utoa::max_digits#3 +Eliminating unused constant (const word*) utoa::digit_values#3 +Eliminating unused constant (const byte) utoa::max_digits#4 +Eliminating unused constant (const word*) utoa::digit_values#4 +Eliminating unused constant (const byte) ultoa::max_digits#2 +Eliminating unused constant (const dword*) ultoa::digit_values#2 +Eliminating unused constant (const byte) ultoa::max_digits#3 +Eliminating unused constant (const dword*) ultoa::digit_values#3 +Eliminating unused constant (const byte) ultoa::max_digits#4 +Eliminating unused constant (const dword*) ultoa::digit_values#4 +Eliminating unused constant (const byte) gotoxy::x#1 +Eliminating unused constant (const byte) gotoxy::y#1 +Eliminating unused constant (const byte) printf_ulong::$1 +Eliminating unused constant (const byte) printf_uint::$1 +Successful SSA optimization PassNEliminateUnusedVars +Eliminating unused constant (const word*) RADIX_BINARY_VALUES +Eliminating unused constant (const word*) RADIX_OCTAL_VALUES +Eliminating unused constant (const word*) RADIX_HEXADECIMAL_VALUES +Eliminating unused constant (const dword*) RADIX_BINARY_VALUES_LONG +Eliminating unused constant (const dword*) RADIX_OCTAL_VALUES_LONG +Eliminating unused constant (const dword*) RADIX_HEXADECIMAL_VALUES_LONG +Successful SSA optimization PassNEliminateUnusedVars +Alias candidate removed (volatile)conio_cursor_text = gotoxy::$6 cputln::$1 cscroll::$7 +Alias candidate removed (volatile)conio_cursor_color = gotoxy::$7 cputln::$3 cscroll::$8 +Inlining Noop Cast [5] (byte*) memcpy::src#0 ← (byte*)(void*) memcpy::source#2 keeping memcpy::source#2 +Inlining Noop Cast [6] (byte*) memcpy::dst#0 ← (byte*)(void*) memcpy::destination#2 keeping memcpy::destination#2 +Inlining Noop Cast [7] (byte*~) memcpy::$2 ← (byte*)(void*) memcpy::source#2 keeping memcpy::source#2 +Inlining Noop Cast [17] (byte*~) memset::$4 ← (byte*)(void*) memset::str#3 keeping memset::str#3 +Inlining Noop Cast [19] (byte*) memset::dst#0 ← (byte*)(void*) memset::str#3 keeping memset::str#3 +Inlining Noop Cast [209] (signed byte~) printf_number_buffer::$25 ← (signed byte)(byte) printf_number_buffer::format_min_length#2 keeping printf_number_buffer::format_min_length#2 +Successful SSA optimization Pass2NopCastInlining +Rewriting multiplication to use shift [42] (byte~) utoa::$10 ← (byte) utoa::digit#2 * (const byte) SIZEOF_WORD +Rewriting multiplication to use shift [67] (byte~) ultoa::$10 ← (byte) ultoa::digit#2 * (const byte) SIZEOF_DWORD +Rewriting multiplication to use shift and addition[126] (word~) gotoxy::$4 ← (word~) gotoxy::$8 * (byte) $28 +Successful SSA optimization Pass2MultiplyToShiftRewriting +Inlining constant with var siblings (const void*) memcpy::destination#0 +Inlining constant with var siblings (const void*) memcpy::source#0 +Inlining constant with var siblings (const word) memcpy::num#0 +Inlining constant with var siblings (const void*) memcpy::destination#1 +Inlining constant with var siblings (const void*) memcpy::source#1 +Inlining constant with var siblings (const word) memcpy::num#1 +Inlining constant with var siblings (const void*) memset::str#0 +Inlining constant with var siblings (const byte) memset::c#0 +Inlining constant with var siblings (const word) memset::num#0 +Inlining constant with var siblings (const void*) memset::str#1 +Inlining constant with var siblings (const word) memset::num#1 +Inlining constant with var siblings (const word) strlen::len#0 +Inlining constant with var siblings (const byte) utoa::started#0 +Inlining constant with var siblings (const byte) utoa::digit#0 +Inlining constant with var siblings (const byte) utoa::started#1 +Inlining constant with var siblings (const byte*) utoa::buffer#5 +Inlining constant with var siblings (const byte) utoa_append::digit#0 +Inlining constant with var siblings (const byte) ultoa::started#0 +Inlining constant with var siblings (const byte) ultoa::digit#0 +Inlining constant with var siblings (const byte) ultoa::started#1 +Inlining constant with var siblings (const byte*) ultoa::buffer#5 +Inlining constant with var siblings (const byte) ultoa_append::digit#0 +Inlining constant with var siblings (const byte*) clrscr::line_text#0 +Inlining constant with var siblings (const byte*) clrscr::line_cols#0 +Inlining constant with var siblings (const byte) clrscr::l#0 +Inlining constant with var siblings (const byte) clrscr::c#0 +Inlining constant with var siblings (const byte) gotoxy::y#0 +Inlining constant with var siblings (const byte) gotoxy::x#0 +Inlining constant with var siblings (const byte) gotoxy::x#3 +Inlining constant with var siblings (const byte) gotoxy::y#3 +Inlining constant with var siblings (const to_nomodify byte*) cputs::s#2 +Inlining constant with var siblings (const to_nomodify byte*) cputs::s#3 +Inlining constant with var siblings (const byte) textcolor::color#0 +Inlining constant with var siblings (const byte) textcolor::color#1 +Inlining constant with var siblings (const byte) textcolor::color#2 +Inlining constant with var siblings (const byte) printf_padding::i#0 +Inlining constant with var siblings (const byte) printf_padding::pad#0 +Inlining constant with var siblings (const byte) printf_padding::pad#1 +Inlining constant with var siblings (const byte) printf_padding::pad#2 +Inlining constant with var siblings (const byte*) printf_number_buffer::buffer_digits#0 +Inlining constant with var siblings (const byte*) printf_number_buffer::buffer_digits#1 +Inlining constant with var siblings (const signed byte) printf_number_buffer::padding#0 +Inlining constant with var siblings (const signed byte) printf_number_buffer::padding#2 +Inlining constant with var siblings (const byte) printf_number_buffer::format_min_length#0 +Inlining constant with var siblings (const byte) printf_number_buffer::format_justify_left#0 +Inlining constant with var siblings (const byte) printf_number_buffer::format_zero_padding#0 +Inlining constant with var siblings (const byte) printf_number_buffer::format_upper_case#0 +Inlining constant with var siblings (const byte) printf_number_buffer::format_min_length#1 +Inlining constant with var siblings (const byte) printf_number_buffer::format_justify_left#1 +Inlining constant with var siblings (const byte) printf_number_buffer::format_zero_padding#1 +Inlining constant with var siblings (const byte) printf_number_buffer::format_upper_case#1 +Inlining constant with var siblings (const dword) main::cnt#0 +Inlining constant with var siblings (const byte) main::col#0 +Inlining constant with var siblings (const byte) main::row#0 +Inlining constant with var siblings (const byte) main::row#2 +Inlining constant with var siblings (const byte) main::col#2 +Inlining constant with var siblings (const word) rand_state#0 +Constant inlined utoa::digit_values#1 = (const word*) RADIX_DECIMAL_VALUES +Constant inlined cputs::s#3 = (const byte*) main::s1 +Constant inlined printf_number_buffer::format_justify_left#0 = (const byte) printf_ulong::format_justify_left#0 +Constant inlined printf_number_buffer::buffer_digits#0 = (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS +Constant inlined printf_number_buffer::buffer_digits#1 = (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS +Constant inlined main::col#0 = (byte) 3 +Constant inlined cputs::s#2 = (const byte*) main::s +Constant inlined printf_number_buffer::format_justify_left#1 = (const byte) printf_uint::format_justify_left#0 +Constant inlined main::col#2 = (byte) 3 +Constant inlined memset::num#1 = (byte) $28 +Constant inlined memset::num#0 = (byte) $28 +Constant inlined clrscr::l#0 = (byte) 0 +Constant inlined strlen::len#0 = (word) 0 +Constant inlined main::row#0 = (byte) 1 +Constant inlined main::row#2 = (byte) 1 +Constant inlined utoa::$4 = (const byte) utoa::max_digits#1-(byte) 1 +Constant inlined printf_number_buffer::padding#2 = (signed byte) 0 +Constant inlined clrscr::line_text#0 = (const nomodify byte*) CONIO_SCREEN_TEXT +Constant inlined ultoa::started#1 = (byte) 1 +Constant inlined memcpy::source#0 = (void*)(const nomodify byte*) CONIO_SCREEN_TEXT+(byte) $28 +Constant inlined rand_state#0 = (word) 1 +Constant inlined main::cnt#0 = (dword) 0 +Constant inlined gotoxy::x#3 = (byte) $1c +Constant inlined utoa::buffer#5 = (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS +Constant inlined ultoa::digit#0 = (byte) 0 +Constant inlined gotoxy::x#0 = (byte) 0 +Constant inlined memset::c#0 = (byte) ' ' +Constant inlined printf_number_buffer::padding#0 = (signed byte) 0 +Constant inlined utoa_append::digit#0 = (byte) 0 +Constant inlined memcpy::destination#0 = (void*)(const nomodify byte*) CONIO_SCREEN_TEXT +Constant inlined memcpy::destination#1 = (void*)(const nomodify byte*) CONIO_SCREEN_COLORS +Constant inlined textcolor::color#2 = (const nomodify byte) WHITE +Constant inlined memcpy::source#1 = (void*)(const nomodify byte*) CONIO_SCREEN_COLORS+(byte) $28 +Constant inlined ultoa::buffer#5 = (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS +Constant inlined printf_number_buffer::format_upper_case#1 = (const byte) printf_uint::format_upper_case#0 +Constant inlined ultoa::started#0 = (byte) 0 +Constant inlined printf_number_buffer::format_upper_case#0 = (const byte) printf_ulong::format_upper_case#0 +Constant inlined utoa::digit#0 = (byte) 0 +Constant inlined textcolor::color#1 = (const nomodify byte) LIGHT_BLUE +Constant inlined textcolor::color#0 = (const nomodify byte) WHITE +Constant inlined printf_number_buffer::format_min_length#0 = (const byte) printf_ulong::format_min_length#0 +Constant inlined printf_number_buffer::format_zero_padding#0 = (const byte) printf_ulong::format_zero_padding#0 +Constant inlined printf_number_buffer::format_min_length#1 = (const byte) printf_uint::format_min_length#0 +Constant inlined memset::str#1 = (void*)(const nomodify byte*) CONIO_SCREEN_COLORS+(word)(number) $19*(number) $28-(byte) $28 +Constant inlined printf_padding::pad#0 = (byte) ' ' +Constant inlined printf_number_buffer::format_zero_padding#1 = (const byte) printf_uint::format_zero_padding#0 +Constant inlined memset::str#0 = (void*)(const nomodify byte*) CONIO_SCREEN_TEXT+(word)(number) $19*(number) $28-(byte) $28 +Constant inlined printf_padding::i#0 = (byte) 0 +Constant inlined printf_padding::pad#1 = (byte) '0' +Constant inlined printf_padding::pad#2 = (byte) ' ' +Constant inlined printf_uint::$0 = (byte) 0 +Constant inlined printf_ulong::$0 = (byte) 0 +Constant inlined utoa::started#1 = (byte) 1 +Constant inlined utoa::started#0 = (byte) 0 +Constant inlined ultoa::$4 = (const byte) ultoa::max_digits#1-(byte) 1 +Constant inlined memcpy::num#1 = (word)(number) $19*(number) $28-(number) $28 +Constant inlined memcpy::num#0 = (word)(number) $19*(number) $28-(number) $28 +Constant inlined gotoxy::y#3 = (byte) 0 +Constant inlined gotoxy::y#0 = (byte) 0 +Constant inlined ultoa_append::digit#0 = (byte) 0 +Constant inlined ultoa::digit_values#1 = (const dword*) RADIX_DECIMAL_VALUES_LONG +Constant inlined clrscr::c#0 = (byte) 0 +Constant inlined clrscr::line_cols#0 = (const nomodify byte*) CONIO_SCREEN_COLORS +Successful SSA optimization Pass2ConstantInlining +Alias candidate removed (volatile)conio_cursor_text = gotoxy::$6 cputln::$1 cscroll::$7 +Alias candidate removed (volatile)conio_cursor_color = gotoxy::$7 cputln::$3 cscroll::$8 +Alias gotoxy::$4 = gotoxy::$11 +Successful SSA optimization Pass2AliasElimination +Alias candidate removed (volatile)conio_cursor_text = gotoxy::$6 cputln::$1 cscroll::$7 +Alias candidate removed (volatile)conio_cursor_color = gotoxy::$7 cputln::$3 cscroll::$8 +Identical Phi Values (word) memcpy::num#2 (word)(number) $19*(number) $28-(number) $28 +Identical Phi Values (word) memset::num#2 (byte) $28 +Identical Phi Values (byte*) printf_number_buffer::buffer_digits#10 (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS +Successful SSA optimization Pass2IdenticalPhiElimination +Constant (const byte*) strlen::str#1 = (byte*)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS +Constant (const to_nomodify byte*) cputs::s#1 = (byte*)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS +Constant (const byte*) strupr::str#0 = (byte*)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS +Successful SSA optimization Pass2ConstantIdentification +if() condition always false - eliminating [13] if((byte) $28<=(byte) 0) goto memset::@1 +Successful SSA optimization Pass2ConstantIfs +Eliminating unused constant (const byte) SIZEOF_WORD +Eliminating unused constant (const byte) SIZEOF_DWORD +Successful SSA optimization PassNEliminateUnusedVars +Inlining constant with var siblings (const byte*) strlen::str#1 +Inlining constant with var siblings (const to_nomodify byte*) cputs::s#1 +Constant inlined cputs::s#1 = (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS +Constant inlined strlen::str#1 = (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS +Successful SSA optimization Pass2ConstantInlining +Alias candidate removed (volatile)conio_cursor_text = gotoxy::$6 cputln::$1 cscroll::$7 +Alias candidate removed (volatile)conio_cursor_color = gotoxy::$7 cputln::$3 cscroll::$8 +Alias candidate removed (volatile)conio_cursor_text = gotoxy::$6 cputln::$1 cscroll::$7 +Alias candidate removed (volatile)conio_cursor_color = gotoxy::$7 cputln::$3 cscroll::$8 +Added new block during phi lifting utoa::@17(between utoa::@16 and utoa::@13) +Added new block during phi lifting ultoa::@17(between ultoa::@16 and ultoa::@13) +Added new block during phi lifting gotoxy::@5(between gotoxy and gotoxy::@1) +Added new block during phi lifting gotoxy::@6(between gotoxy::@1 and gotoxy::@2) +Added new block during phi lifting printf_number_buffer::@27(between printf_number_buffer::@13 and printf_number_buffer::@1) +Added new block during phi lifting printf_number_buffer::@28(between printf_number_buffer::@15 and printf_number_buffer::@13) +Added new block during phi lifting main::@19(between main::@12 and main::@1) +Added new block during phi lifting main::@20(between main::@1 and main::@2) +Added new block during phi lifting main::@21(between main::@14 and main::@2) +Added new block during phi lifting main::@22(between main::@4 and main::@2) +Fixing phi predecessor for main::row#7 to new block ( main::@4 -> main::@22 ) during phi lifting. +Adding NOP phi() at start of @begin +Adding NOP phi() at start of @1 +Adding NOP phi() at start of @3 +Adding NOP phi() at start of @4 +Adding NOP phi() at start of @end +Adding NOP phi() at start of main +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::@5 +Adding NOP phi() at start of main::@6 +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 printf_ulong +Adding NOP phi() at start of printf_ulong::@2 +Adding NOP phi() at start of printf_ulong::@5 +Adding NOP phi() at start of printf_number_buffer::@6 +Adding NOP phi() at start of printf_number_buffer::@14 +Adding NOP phi() at start of printf_number_buffer::@17 +Adding NOP phi() at start of printf_number_buffer::@11 +Adding NOP phi() at start of printf_number_buffer::@20 +Adding NOP phi() at start of printf_number_buffer::@5 +Adding NOP phi() at start of printf_number_buffer::@21 +Adding NOP phi() at start of printf_number_buffer::@18 +Adding NOP phi() at start of printf_number_buffer::@16 +Adding NOP phi() at start of cputc::@5 +Adding NOP phi() at start of cputc::@1 +Adding NOP phi() at start of cputc::@4 +Adding NOP phi() at start of cputln::@1 +Adding NOP phi() at start of cscroll::@1 +Adding NOP phi() at start of cscroll::@3 +Adding NOP phi() at start of cscroll::@4 +Adding NOP phi() at start of cscroll::@5 +Adding NOP phi() at start of memset::@1 +Adding NOP phi() at start of memcpy::@3 +Adding NOP phi() at start of strupr +Adding NOP phi() at start of strupr::@3 +Adding NOP phi() at start of strlen +Adding NOP phi() at start of strlen::@3 +Adding NOP phi() at start of ultoa +Adding NOP phi() at start of ultoa::@1 +Adding NOP phi() at start of gotoxy::@3 +Adding NOP phi() at start of gotoxy::@4 +Adding NOP phi() at start of printf_uint +Adding NOP phi() at start of printf_uint::@2 +Adding NOP phi() at start of printf_uint::@5 +Adding NOP phi() at start of utoa +Adding NOP phi() at start of utoa::@1 +Adding NOP phi() at start of clrscr +Adding NOP phi() at start of clrscr::@2 +CALL GRAPH +Calls in [] to main:8 +Calls in [main] to clrscr:12 textcolor:14 cputs:16 rand:18 textcolor:21 gotoxy:31 printf_uint:33 rand:41 gotoxy:46 textcolor:48 cputs:50 printf_ulong:52 +Calls in [printf_ulong] to ultoa:68 printf_number_buffer:71 +Calls in [printf_number_buffer] to strlen:77 cputc:95 strupr:101 cputs:104 printf_padding:111 printf_padding:115 printf_padding:119 +Calls in [printf_padding] to cputc:129 +Calls in [cputc] to cscroll:142 cputln:146 +Calls in [cputln] to cscroll:156 +Calls in [cscroll] to memcpy:162 memcpy:164 memset:166 memset:169 +Calls in [cputs] to cputc:208 +Calls in [strupr] to toupper:216 +Calls in [ultoa] to ultoa_append:264 +Calls in [printf_uint] to utoa:316 printf_number_buffer:319 +Calls in [utoa] to utoa_append:348 + +Created 58 initial phi equivalence classes +Not coalescing [22] main::rnd#5 ← main::first#0 +Coalesced [29] gotoxy::y#8 ← gotoxy::y#2 +Coalesced [30] gotoxy::x#8 ← gotoxy::x#2 +Coalesced [40] rand_state#34 ← rand_state#10 +Coalesced [55] main::cnt#15 ← main::cnt#1 +Coalesced [56] main::col#10 ← main::col#7 +Coalesced [57] main::row#10 ← main::row#7 +Coalesced [58] main::rnd#6 ← main::rnd#1 +Coalesced [59] main::col#13 ← main::col#1 +Coalesced (already) [60] main::col#12 ← main::col#3 +Coalesced [61] main::row#12 ← main::row#1 +Coalesced (already) [62] main::col#11 ← main::col#3 +Coalesced (already) [63] main::row#11 ← main::row#3 +Coalesced [70] printf_number_buffer::buffer_sign#14 ← printf_number_buffer::buffer_sign#0 +Coalesced [83] printf_number_buffer::len#5 ← printf_number_buffer::len#1 +Coalesced [94] cputc::c#6 ← cputc::c#2 +Coalesced [110] printf_padding::length#8 ← printf_padding::length#2 +Coalesced [114] printf_padding::length#7 ← printf_padding::length#1 +Coalesced [118] printf_padding::length#9 ← printf_padding::length#0 +Coalesced [121] printf_number_buffer::padding#18 ← printf_number_buffer::padding#1 +Coalesced [122] printf_number_buffer::len#4 ← printf_number_buffer::len#0 +Coalesced [128] cputc::c#7 ← cputc::c#1 +Coalesced [131] printf_padding::i#5 ← printf_padding::i#1 +Coalesced [168] memset::c#6 ← memset::c#1 +Coalesced [185] memset::dst#5 ← memset::dst#1 +Coalesced [197] memcpy::src#5 ← memcpy::src#1 +Coalesced [198] memcpy::dst#5 ← memcpy::dst#1 +Coalesced [200] cputs::s#8 ← cputs::s#5 +Coalesced [207] cputc::c#5 ← cputc::c#0 +Coalesced [209] cputs::s#9 ← cputs::s#0 +Coalesced [221] strupr::src#5 ← strupr::src#1 +Coalesced [224] toupper::return#7 ← toupper::ch#0 +Coalesced [228] toupper::return#6 ← toupper::return#0 +Coalesced [236] strlen::str#5 ← strlen::str#0 +Coalesced [237] strlen::len#5 ← strlen::len#1 +Coalesced [240] ultoa::value#17 ← ultoa::value#1 +Coalesced [252] ultoa::value#18 ← ultoa::value#2 +Coalesced [253] ultoa::started#6 ← ultoa::started#2 +Coalesced [254] ultoa::buffer#23 ← ultoa::buffer#11 +Coalesced [257] ultoa::digit#7 ← ultoa::digit#1 +Coalesced (already) [258] ultoa::value#16 ← ultoa::value#6 +Coalesced (already) [259] ultoa::started#5 ← ultoa::started#4 +Coalesced (already) [260] ultoa::buffer#22 ← ultoa::buffer#14 +Coalesced [268] ultoa::value#19 ← ultoa::value#0 +Coalesced [269] ultoa::buffer#24 ← ultoa::buffer#4 +Coalesced [270] ultoa_append::value#6 ← ultoa_append::value#0 +Coalesced [277] ultoa_append::value#7 ← ultoa_append::value#1 +Coalesced [278] ultoa_append::digit#5 ← ultoa_append::digit#1 +Coalesced [301] gotoxy::x#9 ← gotoxy::x#4 +Coalesced [302] gotoxy::y#9 ← gotoxy::y#4 +Coalesced [318] printf_number_buffer::buffer_sign#13 ← printf_number_buffer::buffer_sign#1 +Coalesced [324] utoa::value#17 ← utoa::value#1 +Coalesced [336] utoa::value#18 ← utoa::value#2 +Coalesced [337] utoa::started#6 ← utoa::started#2 +Coalesced [338] utoa::buffer#23 ← utoa::buffer#11 +Coalesced [341] utoa::digit#7 ← utoa::digit#1 +Coalesced (already) [342] utoa::value#16 ← utoa::value#6 +Coalesced (already) [343] utoa::started#5 ← utoa::started#4 +Coalesced (already) [344] utoa::buffer#22 ← utoa::buffer#14 +Coalesced [352] utoa::value#19 ← utoa::value#0 +Coalesced [353] utoa::buffer#24 ← utoa::buffer#4 +Coalesced [354] utoa_append::value#6 ← utoa_append::value#0 +Coalesced [361] utoa_append::value#7 ← utoa_append::value#1 +Coalesced [362] utoa_append::digit#5 ← utoa_append::digit#1 +Coalesced [377] clrscr::l#7 ← clrscr::l#1 +Coalesced [378] clrscr::line_text#7 ← clrscr::line_text#1 +Coalesced [379] clrscr::line_cols#7 ← clrscr::line_cols#1 +Coalesced [383] clrscr::c#4 ← clrscr::c#1 +Coalesced down to 48 phi equivalence classes +Culled Empty Block (label) @1 +Culled Empty Block (label) @4 +Culled Empty Block (label) main::@5 +Culled Empty Block (label) main::@18 +Culled Empty Block (label) main::@19 +Culled Empty Block (label) main::@21 +Culled Empty Block (label) main::@20 +Culled Empty Block (label) printf_ulong::@2 +Culled Empty Block (label) printf_ulong::@5 +Culled Empty Block (label) printf_number_buffer::@14 +Culled Empty Block (label) printf_number_buffer::@17 +Culled Empty Block (label) printf_number_buffer::@20 +Culled Empty Block (label) printf_number_buffer::@21 +Culled Empty Block (label) printf_number_buffer::@18 +Culled Empty Block (label) printf_number_buffer::@16 +Culled Empty Block (label) printf_number_buffer::@28 +Culled Empty Block (label) cputc::@5 +Culled Empty Block (label) cputc::@4 +Culled Empty Block (label) cputln::@1 +Culled Empty Block (label) cscroll::@1 +Culled Empty Block (label) memset::@1 +Culled Empty Block (label) memcpy::@3 +Culled Empty Block (label) cputs::@3 +Culled Empty Block (label) strupr::@3 +Culled Empty Block (label) toupper::@2 +Culled Empty Block (label) strlen::@3 +Culled Empty Block (label) ultoa::@1 +Culled Empty Block (label) ultoa::@5 +Culled Empty Block (label) ultoa::@17 +Culled Empty Block (label) gotoxy::@3 +Culled Empty Block (label) gotoxy::@4 +Culled Empty Block (label) printf_uint::@2 +Culled Empty Block (label) printf_uint::@5 +Culled Empty Block (label) utoa::@1 +Culled Empty Block (label) utoa::@5 +Culled Empty Block (label) utoa::@17 +Culled Empty Block (label) clrscr::@2 +Renumbering block @2 to @1 +Renumbering block @3 to @2 +Renumbering block toupper::@3 to toupper::@2 +Renumbering block memset::@2 to memset::@1 +Renumbering block memset::@3 to memset::@2 +Renumbering block memset::@4 to memset::@3 +Renumbering block strupr::@4 to strupr::@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 ultoa::@10 to ultoa::@1 +Renumbering block ultoa::@11 to ultoa::@2 +Renumbering block ultoa::@12 to ultoa::@3 +Renumbering block ultoa::@13 to ultoa::@4 +Renumbering block ultoa::@14 to ultoa::@5 +Renumbering block ultoa::@15 to ultoa::@6 +Renumbering block ultoa::@16 to ultoa::@7 +Renumbering block clrscr::@3 to clrscr::@2 +Renumbering block clrscr::@4 to clrscr::@3 +Renumbering block clrscr::@5 to clrscr::@4 +Renumbering block clrscr::@6 to clrscr::@5 +Renumbering block gotoxy::@5 to gotoxy::@3 +Renumbering block gotoxy::@6 to gotoxy::@4 +Renumbering block cscroll::@3 to cscroll::@1 +Renumbering block cscroll::@4 to cscroll::@2 +Renumbering block cscroll::@5 to cscroll::@3 +Renumbering block cscroll::@6 to cscroll::@4 +Renumbering block cscroll::@7 to cscroll::@5 +Renumbering block printf_ulong::@3 to printf_ulong::@1 +Renumbering block printf_ulong::@4 to printf_ulong::@2 +Renumbering block printf_uint::@3 to printf_uint::@1 +Renumbering block printf_uint::@4 to printf_uint::@2 +Renumbering block printf_number_buffer::@15 to printf_number_buffer::@14 +Renumbering block printf_number_buffer::@19 to printf_number_buffer::@15 +Renumbering block printf_number_buffer::@22 to printf_number_buffer::@16 +Renumbering block printf_number_buffer::@23 to printf_number_buffer::@17 +Renumbering block printf_number_buffer::@24 to printf_number_buffer::@18 +Renumbering block printf_number_buffer::@25 to printf_number_buffer::@19 +Renumbering block printf_number_buffer::@26 to printf_number_buffer::@20 +Renumbering block printf_number_buffer::@27 to printf_number_buffer::@21 +Renumbering block main::@6 to main::@5 +Renumbering block main::@7 to main::@6 +Renumbering block main::@8 to main::@7 +Renumbering block main::@9 to main::@8 +Renumbering block main::@10 to main::@9 +Renumbering block main::@11 to main::@10 +Renumbering block main::@12 to main::@11 +Renumbering block main::@13 to main::@12 +Renumbering block main::@14 to main::@13 +Renumbering block main::@15 to main::@14 +Renumbering block main::@16 to main::@15 +Renumbering block main::@17 to main::@16 +Renumbering block main::@22 to main::@17 +Adding NOP phi() at start of @begin +Adding NOP phi() at start of @2 +Adding NOP phi() at start of @end +Adding NOP phi() at start of main +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::@17 +Adding NOP phi() at start of main::@5 +Adding NOP phi() at start of main::@14 +Adding NOP phi() at start of main::@15 +Adding NOP phi() at start of printf_ulong +Adding NOP phi() at start of printf_number_buffer::@6 +Adding NOP phi() at start of printf_number_buffer::@21 +Adding NOP phi() at start of printf_number_buffer::@11 +Adding NOP phi() at start of printf_number_buffer::@5 +Adding NOP phi() at start of cputc::@1 +Adding NOP phi() at start of cscroll::@1 +Adding NOP phi() at start of cscroll::@2 +Adding NOP phi() at start of cscroll::@3 +Adding NOP phi() at start of strupr +Adding NOP phi() at start of strlen +Adding NOP phi() at start of ultoa +Adding NOP phi() at start of ultoa_append +Adding NOP phi() at start of gotoxy::@3 +Adding NOP phi() at start of gotoxy::@4 +Adding NOP phi() at start of printf_uint +Adding NOP phi() at start of utoa +Adding NOP phi() at start of utoa_append +Adding NOP phi() at start of clrscr + +FINAL CONTROL FLOW GRAPH +@begin: scope:[] from + [0] phi() + to:@1 +@1: scope:[] from @begin + [1] (byte) conio_cursor_x ← (byte) 0 + [2] (byte) conio_cursor_y ← (byte) 0 + [3] (byte*) conio_cursor_text ← (const nomodify byte*) CONIO_SCREEN_TEXT + [4] (byte*) conio_cursor_color ← (const nomodify byte*) CONIO_SCREEN_COLORS + [5] (byte) conio_textcolor ← (const nomodify byte) CONIO_TEXTCOLOR_DEFAULT + to:@2 +@2: scope:[] from @1 + [6] phi() + [7] call main + to:@end +@end: scope:[] from @2 + [8] phi() + +(void()) main() +main: scope:[main] from @2 + [9] phi() + [10] call clrscr + to:main::@6 +main::@6: scope:[main] from main + [11] phi() + [12] call textcolor + to:main::@7 +main::@7: scope:[main] from main::@6 + [13] phi() + [14] call cputs + to:main::@8 +main::@8: scope:[main] from main::@7 + [15] phi() + [16] call rand + [17] (word) rand::return#2 ← (word) rand::return#0 + to:main::@9 +main::@9: scope:[main] from main::@8 + [18] (word) main::first#0 ← (word) rand::return#2 + [19] call textcolor + to:main::@10 +main::@10: scope:[main] from main::@9 + [20] (word) main::rnd#5 ← (word) main::first#0 + to:main::@1 +main::@1: scope:[main] from main::@10 main::@11 + [21] (word) main::rnd#2 ← phi( main::@10/(word) main::rnd#5 main::@11/(word) main::rnd#1 ) + [21] (byte) main::row#3 ← phi( main::@10/(byte) 1 main::@11/(byte) main::row#7 ) + [21] (byte) main::col#3 ← phi( main::@10/(byte) 3 main::@11/(byte) main::col#7 ) + [21] (dword) main::cnt#2 ← phi( main::@10/(dword) 0 main::@11/(dword) main::cnt#1 ) + [22] (dword) main::cnt#1 ← ++ (dword) main::cnt#2 + [23] (byte~) main::$18 ← (byte)(dword) main::cnt#1 + [24] if((byte~) main::$18!=(byte) 0) goto main::@2 + to:main::@3 +main::@3: scope:[main] from main::@1 + [25] (byte) gotoxy::x#2 ← (byte) main::col#3 + [26] (byte) gotoxy::y#2 ← (byte) main::row#3 + [27] call gotoxy + to:main::@12 +main::@12: scope:[main] from main::@3 + [28] (word) printf_uint::uvalue#0 ← (word) main::rnd#2 + [29] call printf_uint + to:main::@13 +main::@13: scope:[main] from main::@12 + [30] (byte) main::row#1 ← ++ (byte) main::row#3 + [31] if((byte) main::row#1!=(byte) $19) goto main::@2 + to:main::@4 +main::@4: scope:[main] from main::@13 + [32] (byte) main::col#1 ← (byte) main::col#3 + (byte) 6 + [33] if((byte) main::col#1<(byte)(number) $28-(number) 5+(byte) 1) goto main::@17 + to:main::@2 +main::@17: scope:[main] from main::@4 + [34] phi() + to:main::@2 +main::@2: scope:[main] from main::@1 main::@13 main::@17 main::@4 + [35] (byte) main::row#7 ← phi( main::@1/(byte) main::row#3 main::@13/(byte) main::row#1 main::@17/(byte) 1 main::@4/(byte) 1 ) + [35] (byte) main::col#7 ← phi( main::@1/(byte) main::col#3 main::@13/(byte) main::col#3 main::@17/(byte) main::col#1 main::@4/(byte) 3 ) + [36] call rand + [37] (word) rand::return#3 ← (word) rand::return#0 + to:main::@11 +main::@11: scope:[main] from main::@2 + [38] (word) main::rnd#1 ← (word) rand::return#3 + [39] if((word) main::rnd#1!=(word) main::first#0) goto main::@1 + to:main::@5 +main::@5: scope:[main] from main::@11 + [40] phi() + [41] call gotoxy + to:main::@14 +main::@14: scope:[main] from main::@5 + [42] phi() + [43] call textcolor + to:main::@15 +main::@15: scope:[main] from main::@14 + [44] phi() + [45] call cputs + to:main::@16 +main::@16: scope:[main] from main::@15 + [46] (dword) printf_ulong::uvalue#0 ← (dword) main::cnt#1 + [47] call printf_ulong + to:main::@return +main::@return: scope:[main] from main::@16 + [48] return + to:@return + +(void()) printf_ulong((dword) printf_ulong::uvalue , (byte) printf_ulong::format_min_length , (byte) printf_ulong::format_justify_left , (byte) printf_ulong::format_sign_always , (byte) printf_ulong::format_zero_padding , (byte) printf_ulong::format_upper_case , (byte) printf_ulong::format_radix) +printf_ulong: scope:[printf_ulong] from main::@16 + [49] phi() + to:printf_ulong::@1 +printf_ulong::@1: scope:[printf_ulong] from printf_ulong + [50] *((byte*)&(struct printf_buffer_number) printf_buffer) ← (byte) 0 + [51] (dword) ultoa::value#1 ← (dword) printf_ulong::uvalue#0 + [52] call ultoa + to:printf_ulong::@2 +printf_ulong::@2: scope:[printf_ulong] from printf_ulong::@1 + [53] (byte) printf_number_buffer::buffer_sign#0 ← *((byte*)&(struct printf_buffer_number) printf_buffer) + [54] call printf_number_buffer + to:printf_ulong::@return +printf_ulong::@return: scope:[printf_ulong] from printf_ulong::@2 + [55] return + to:@return + +(void()) printf_number_buffer((byte) printf_number_buffer::buffer_sign , (byte*) printf_number_buffer::buffer_digits , (byte) printf_number_buffer::format_min_length , (byte) printf_number_buffer::format_justify_left , (byte) printf_number_buffer::format_sign_always , (byte) printf_number_buffer::format_zero_padding , (byte) printf_number_buffer::format_upper_case , (byte) printf_number_buffer::format_radix) +printf_number_buffer: scope:[printf_number_buffer] from printf_uint::@2 printf_ulong::@2 + [56] (byte) printf_number_buffer::format_upper_case#10 ← phi( printf_uint::@2/(const byte) printf_uint::format_upper_case#0 printf_ulong::@2/(const byte) printf_ulong::format_upper_case#0 ) + [56] (byte) printf_number_buffer::buffer_sign#10 ← phi( printf_uint::@2/(byte) printf_number_buffer::buffer_sign#1 printf_ulong::@2/(byte) printf_number_buffer::buffer_sign#0 ) + [56] (byte) printf_number_buffer::format_zero_padding#10 ← phi( printf_uint::@2/(const byte) printf_uint::format_zero_padding#0 printf_ulong::@2/(const byte) printf_ulong::format_zero_padding#0 ) + [56] (byte) printf_number_buffer::format_justify_left#10 ← phi( printf_uint::@2/(const byte) printf_uint::format_justify_left#0 printf_ulong::@2/(const byte) printf_ulong::format_justify_left#0 ) + [56] (byte) printf_number_buffer::format_min_length#2 ← phi( printf_uint::@2/(const byte) printf_uint::format_min_length#0 printf_ulong::@2/(const byte) printf_ulong::format_min_length#0 ) + [57] if((byte) 0==(byte) printf_number_buffer::format_min_length#2) goto printf_number_buffer::@1 + to:printf_number_buffer::@6 +printf_number_buffer::@6: scope:[printf_number_buffer] from printf_number_buffer + [58] phi() + [59] call strlen + [60] (word) strlen::return#2 ← (word) strlen::len#2 + to:printf_number_buffer::@14 +printf_number_buffer::@14: scope:[printf_number_buffer] from printf_number_buffer::@6 + [61] (word~) printf_number_buffer::$19 ← (word) strlen::return#2 + [62] (signed byte) printf_number_buffer::len#0 ← (signed byte)(word~) printf_number_buffer::$19 + [63] if((byte) 0==(byte) printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@13 + to:printf_number_buffer::@7 +printf_number_buffer::@7: scope:[printf_number_buffer] from printf_number_buffer::@14 + [64] (signed byte) printf_number_buffer::len#1 ← ++ (signed byte) printf_number_buffer::len#0 + to:printf_number_buffer::@13 +printf_number_buffer::@13: scope:[printf_number_buffer] from printf_number_buffer::@14 printf_number_buffer::@7 + [65] (signed byte) printf_number_buffer::len#2 ← phi( printf_number_buffer::@14/(signed byte) printf_number_buffer::len#0 printf_number_buffer::@7/(signed byte) printf_number_buffer::len#1 ) + [66] (signed byte) printf_number_buffer::padding#1 ← (signed byte)(byte) printf_number_buffer::format_min_length#2 - (signed byte) printf_number_buffer::len#2 + [67] if((signed byte) printf_number_buffer::padding#1>=(signed byte) 0) goto printf_number_buffer::@21 + to:printf_number_buffer::@1 +printf_number_buffer::@21: scope:[printf_number_buffer] from printf_number_buffer::@13 + [68] phi() + to:printf_number_buffer::@1 +printf_number_buffer::@1: scope:[printf_number_buffer] from printf_number_buffer printf_number_buffer::@13 printf_number_buffer::@21 + [69] (signed byte) printf_number_buffer::padding#10 ← phi( printf_number_buffer/(signed byte) 0 printf_number_buffer::@21/(signed byte) printf_number_buffer::padding#1 printf_number_buffer::@13/(signed byte) 0 ) + [70] if((byte) 0!=(byte) printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@2 + to:printf_number_buffer::@17 +printf_number_buffer::@17: scope:[printf_number_buffer] from printf_number_buffer::@1 + [71] if((byte) 0!=(byte) printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2 + to:printf_number_buffer::@16 +printf_number_buffer::@16: scope:[printf_number_buffer] from printf_number_buffer::@17 + [72] if((signed byte) 0!=(signed byte) printf_number_buffer::padding#10) goto printf_number_buffer::@8 + to:printf_number_buffer::@2 +printf_number_buffer::@8: scope:[printf_number_buffer] from printf_number_buffer::@16 + [73] (byte) printf_padding::length#0 ← (byte)(signed byte) printf_number_buffer::padding#10 + [74] call printf_padding + to:printf_number_buffer::@2 +printf_number_buffer::@2: scope:[printf_number_buffer] from printf_number_buffer::@1 printf_number_buffer::@16 printf_number_buffer::@17 printf_number_buffer::@8 + [75] if((byte) 0==(byte) printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@3 + to:printf_number_buffer::@9 +printf_number_buffer::@9: scope:[printf_number_buffer] from printf_number_buffer::@2 + [76] (byte) cputc::c#2 ← (byte) printf_number_buffer::buffer_sign#10 + [77] call cputc + to:printf_number_buffer::@3 +printf_number_buffer::@3: scope:[printf_number_buffer] from printf_number_buffer::@2 printf_number_buffer::@9 + [78] if((byte) 0==(byte) printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4 + to:printf_number_buffer::@18 +printf_number_buffer::@18: scope:[printf_number_buffer] from printf_number_buffer::@3 + [79] if((signed byte) 0!=(signed byte) printf_number_buffer::padding#10) goto printf_number_buffer::@10 + to:printf_number_buffer::@4 +printf_number_buffer::@10: scope:[printf_number_buffer] from printf_number_buffer::@18 + [80] (byte) printf_padding::length#1 ← (byte)(signed byte) printf_number_buffer::padding#10 + [81] call printf_padding + to:printf_number_buffer::@4 +printf_number_buffer::@4: scope:[printf_number_buffer] from printf_number_buffer::@10 printf_number_buffer::@18 printf_number_buffer::@3 + [82] if((byte) 0==(byte) printf_number_buffer::format_upper_case#10) goto printf_number_buffer::@5 + to:printf_number_buffer::@11 +printf_number_buffer::@11: scope:[printf_number_buffer] from printf_number_buffer::@4 + [83] phi() + [84] call strupr + to:printf_number_buffer::@5 +printf_number_buffer::@5: scope:[printf_number_buffer] from printf_number_buffer::@11 printf_number_buffer::@4 + [85] phi() + [86] call cputs + to:printf_number_buffer::@15 +printf_number_buffer::@15: scope:[printf_number_buffer] from printf_number_buffer::@5 + [87] if((byte) 0==(byte) printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@return + to:printf_number_buffer::@20 +printf_number_buffer::@20: scope:[printf_number_buffer] from printf_number_buffer::@15 + [88] if((byte) 0!=(byte) printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@return + to:printf_number_buffer::@19 +printf_number_buffer::@19: scope:[printf_number_buffer] from printf_number_buffer::@20 + [89] if((signed byte) 0!=(signed byte) printf_number_buffer::padding#10) goto printf_number_buffer::@12 + to:printf_number_buffer::@return +printf_number_buffer::@12: scope:[printf_number_buffer] from printf_number_buffer::@19 + [90] (byte) printf_padding::length#2 ← (byte)(signed byte) printf_number_buffer::padding#10 + [91] call printf_padding + to:printf_number_buffer::@return +printf_number_buffer::@return: scope:[printf_number_buffer] from printf_number_buffer::@12 printf_number_buffer::@15 printf_number_buffer::@19 printf_number_buffer::@20 + [92] return + to:@return + +(void()) printf_padding((byte) printf_padding::pad , (byte) printf_padding::length) +printf_padding: scope:[printf_padding] from printf_number_buffer::@10 printf_number_buffer::@12 printf_number_buffer::@8 + [93] (byte) printf_padding::pad#5 ← phi( printf_number_buffer::@10/(byte) '0' printf_number_buffer::@12/(byte) ' ' printf_number_buffer::@8/(byte) ' ' ) + [93] (byte) printf_padding::length#4 ← phi( printf_number_buffer::@10/(byte) printf_padding::length#1 printf_number_buffer::@12/(byte) printf_padding::length#2 printf_number_buffer::@8/(byte) printf_padding::length#0 ) + to:printf_padding::@1 +printf_padding::@1: scope:[printf_padding] from printf_padding printf_padding::@3 + [94] (byte) printf_padding::i#2 ← phi( printf_padding/(byte) 0 printf_padding::@3/(byte) printf_padding::i#1 ) + [95] if((byte) printf_padding::i#2<(byte) printf_padding::length#4) goto printf_padding::@2 + to:printf_padding::@return +printf_padding::@return: scope:[printf_padding] from printf_padding::@1 + [96] return + to:@return +printf_padding::@2: scope:[printf_padding] from printf_padding::@1 + [97] (byte) cputc::c#1 ← (byte) printf_padding::pad#5 + [98] call cputc + to:printf_padding::@3 +printf_padding::@3: scope:[printf_padding] from printf_padding::@2 + [99] (byte) printf_padding::i#1 ← ++ (byte) printf_padding::i#2 + to:printf_padding::@1 + +(void()) cputc((byte) cputc::c) +cputc: scope:[cputc] from cputs::@2 printf_number_buffer::@9 printf_padding::@2 + [100] (byte) cputc::c#3 ← phi( cputs::@2/(byte) cputc::c#0 printf_number_buffer::@9/(byte) cputc::c#2 printf_padding::@2/(byte) cputc::c#1 ) + [101] if((byte) cputc::c#3==(byte) ' +') goto cputc::@1 + to:cputc::@2 +cputc::@2: scope:[cputc] from cputc + [102] *((byte*) conio_cursor_text) ← (byte) cputc::c#3 + [103] (byte*) conio_cursor_text ← ++ (byte*) conio_cursor_text + [104] *((byte*) conio_cursor_color) ← (byte) conio_textcolor + [105] (byte*) conio_cursor_color ← ++ (byte*) conio_cursor_color + [106] (byte) conio_cursor_x ← ++ (byte) conio_cursor_x + [107] if((byte) conio_cursor_x!=(byte) $28) goto cputc::@return + to:cputc::@3 +cputc::@3: scope:[cputc] from cputc::@2 + [108] (byte) conio_cursor_x ← (byte) 0 + [109] (byte) conio_cursor_y ← ++ (byte) conio_cursor_y + [110] call cscroll + to:cputc::@return +cputc::@return: scope:[cputc] from cputc::@1 cputc::@2 cputc::@3 + [111] return + to:@return +cputc::@1: scope:[cputc] from cputc + [112] phi() + [113] call cputln + to:cputc::@return + +(void()) cputln() +cputln: scope:[cputln] from cputc::@1 + [114] (byte*~) cputln::$0 ← (byte*) conio_cursor_text - (byte) conio_cursor_x + [115] (byte*~) cputln::$1 ← (byte*~) cputln::$0 + (byte) $28 + [116] (byte*) conio_cursor_text ← (byte*~) cputln::$1 + [117] (byte*~) cputln::$2 ← (byte*) conio_cursor_color - (byte) conio_cursor_x + [118] (byte*~) cputln::$3 ← (byte*~) cputln::$2 + (byte) $28 + [119] (byte*) conio_cursor_color ← (byte*~) cputln::$3 + [120] (byte) conio_cursor_x ← (byte) 0 + [121] (byte) conio_cursor_y ← ++ (byte) conio_cursor_y + [122] call cscroll + to:cputln::@return +cputln::@return: scope:[cputln] from cputln + [123] return + to:@return + +(void()) cscroll() +cscroll: scope:[cscroll] from cputc::@3 cputln + [124] if((byte) conio_cursor_y!=(byte) $19) goto cscroll::@return + to:cscroll::@1 +cscroll::@1: scope:[cscroll] from cscroll + [125] phi() + [126] call memcpy + to:cscroll::@2 +cscroll::@2: scope:[cscroll] from cscroll::@1 + [127] phi() + [128] call memcpy + to:cscroll::@3 +cscroll::@3: scope:[cscroll] from cscroll::@2 + [129] phi() + [130] call memset + to:cscroll::@4 +cscroll::@4: scope:[cscroll] from cscroll::@3 + [131] (byte) memset::c#1 ← (byte) conio_textcolor + [132] call memset + to:cscroll::@5 +cscroll::@5: scope:[cscroll] from cscroll::@4 + [133] (byte*~) cscroll::$7 ← (byte*) conio_cursor_text - (byte) $28 + [134] (byte*) conio_cursor_text ← (byte*~) cscroll::$7 + [135] (byte*~) cscroll::$8 ← (byte*) conio_cursor_color - (byte) $28 + [136] (byte*) conio_cursor_color ← (byte*~) cscroll::$8 + [137] (byte) conio_cursor_y ← -- (byte) conio_cursor_y + to:cscroll::@return +cscroll::@return: scope:[cscroll] from cscroll cscroll::@5 + [138] return + to:@return + +(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) +memset: scope:[memset] from cscroll::@3 cscroll::@4 + [139] (byte) memset::c#4 ← phi( cscroll::@3/(byte) ' ' cscroll::@4/(byte) memset::c#1 ) + [139] (void*) memset::str#3 ← phi( cscroll::@3/(void*)(const nomodify byte*) CONIO_SCREEN_TEXT+(word)(number) $19*(number) $28-(byte) $28 cscroll::@4/(void*)(const nomodify byte*) CONIO_SCREEN_COLORS+(word)(number) $19*(number) $28-(byte) $28 ) + to:memset::@1 +memset::@1: scope:[memset] from memset + [140] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (byte) $28 + [141] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3 + to:memset::@2 +memset::@2: scope:[memset] from memset::@1 memset::@3 + [142] (byte*) memset::dst#2 ← phi( memset::@1/(byte*) memset::dst#4 memset::@3/(byte*) memset::dst#1 ) + [143] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 + to:memset::@return +memset::@return: scope:[memset] from memset::@2 + [144] return + to:@return +memset::@3: scope:[memset] from memset::@2 + [145] *((byte*) memset::dst#2) ← (byte) memset::c#4 + [146] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 + to:memset::@2 + +(void*()) memcpy((void*) memcpy::destination , (void*) memcpy::source , (word) memcpy::num) +memcpy: scope:[memcpy] from cscroll::@1 cscroll::@2 + [147] (void*) memcpy::destination#2 ← phi( cscroll::@1/(void*)(const nomodify byte*) CONIO_SCREEN_TEXT cscroll::@2/(void*)(const nomodify byte*) CONIO_SCREEN_COLORS ) + [147] (void*) memcpy::source#2 ← phi( cscroll::@1/(void*)(const nomodify byte*) CONIO_SCREEN_TEXT+(byte) $28 cscroll::@2/(void*)(const nomodify byte*) CONIO_SCREEN_COLORS+(byte) $28 ) + [148] (byte*) memcpy::src_end#0 ← (byte*)(void*) memcpy::source#2 + (word)(number) $19*(number) $28-(number) $28 + [149] (byte*) memcpy::src#4 ← (byte*)(void*) memcpy::source#2 + [150] (byte*) memcpy::dst#4 ← (byte*)(void*) memcpy::destination#2 + to:memcpy::@1 +memcpy::@1: scope:[memcpy] from memcpy memcpy::@2 + [151] (byte*) memcpy::dst#2 ← phi( memcpy/(byte*) memcpy::dst#4 memcpy::@2/(byte*) memcpy::dst#1 ) + [151] (byte*) memcpy::src#2 ← phi( memcpy/(byte*) memcpy::src#4 memcpy::@2/(byte*) memcpy::src#1 ) + [152] if((byte*) memcpy::src#2!=(byte*) memcpy::src_end#0) goto memcpy::@2 + to:memcpy::@return +memcpy::@return: scope:[memcpy] from memcpy::@1 + [153] return + to:@return +memcpy::@2: scope:[memcpy] from memcpy::@1 + [154] *((byte*) memcpy::dst#2) ← *((byte*) memcpy::src#2) + [155] (byte*) memcpy::dst#1 ← ++ (byte*) memcpy::dst#2 + [156] (byte*) memcpy::src#1 ← ++ (byte*) memcpy::src#2 + to:memcpy::@1 + +(void()) cputs((to_nomodify byte*) cputs::s) +cputs: scope:[cputs] from main::@15 main::@7 printf_number_buffer::@5 + [157] (to_nomodify byte*) cputs::s#5 ← phi( main::@15/(const byte*) main::s1 main::@7/(const byte*) main::s printf_number_buffer::@5/(byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS ) + to:cputs::@1 +cputs::@1: scope:[cputs] from cputs cputs::@2 + [158] (to_nomodify byte*) cputs::s#4 ← phi( cputs/(to_nomodify byte*) cputs::s#5 cputs::@2/(to_nomodify byte*) cputs::s#0 ) + [159] (byte) cputs::c#1 ← *((to_nomodify byte*) cputs::s#4) + [160] (to_nomodify byte*) cputs::s#0 ← ++ (to_nomodify byte*) cputs::s#4 + [161] if((byte) 0!=(byte) cputs::c#1) goto cputs::@2 + to:cputs::@return +cputs::@return: scope:[cputs] from cputs::@1 + [162] return + to:@return +cputs::@2: scope:[cputs] from cputs::@1 + [163] (byte) cputc::c#0 ← (byte) cputs::c#1 + [164] call cputc + to:cputs::@1 + +(byte*()) strupr((byte*) strupr::str) +strupr: scope:[strupr] from printf_number_buffer::@11 + [165] phi() + to:strupr::@1 +strupr::@1: scope:[strupr] from strupr strupr::@3 + [166] (byte*) strupr::src#2 ← phi( strupr/(const byte*) strupr::str#0 strupr::@3/(byte*) strupr::src#1 ) + [167] if((byte) 0!=*((byte*) strupr::src#2)) goto strupr::@2 + to:strupr::@return +strupr::@return: scope:[strupr] from strupr::@1 + [168] return + to:@return +strupr::@2: scope:[strupr] from strupr::@1 + [169] (byte) toupper::ch#0 ← *((byte*) strupr::src#2) + [170] call toupper + [171] (byte) toupper::return#3 ← (byte) toupper::return#2 + to:strupr::@3 +strupr::@3: scope:[strupr] from strupr::@2 + [172] (byte~) strupr::$0 ← (byte) toupper::return#3 + [173] *((byte*) strupr::src#2) ← (byte~) strupr::$0 + [174] (byte*) strupr::src#1 ← ++ (byte*) strupr::src#2 + to:strupr::@1 + +(byte()) toupper((byte) toupper::ch) +toupper: scope:[toupper] from strupr::@2 + [175] if((byte) toupper::ch#0<(byte) 'a') goto toupper::@return + to:toupper::@2 +toupper::@2: scope:[toupper] from toupper + [176] if((byte) toupper::ch#0<=(byte) 'z') goto toupper::@1 + to:toupper::@return +toupper::@1: scope:[toupper] from toupper::@2 + [177] (byte) toupper::return#0 ← (byte) toupper::ch#0 + (byte) 'A'-(byte) 'a' + to:toupper::@return +toupper::@return: scope:[toupper] from toupper toupper::@1 toupper::@2 + [178] (byte) toupper::return#2 ← phi( toupper::@1/(byte) toupper::return#0 toupper/(byte) toupper::ch#0 toupper::@2/(byte) toupper::ch#0 ) + [179] return + to:@return + +(word()) strlen((byte*) strlen::str) +strlen: scope:[strlen] from printf_number_buffer::@6 + [180] phi() + to:strlen::@1 +strlen::@1: scope:[strlen] from strlen strlen::@2 + [181] (word) strlen::len#2 ← phi( strlen/(word) 0 strlen::@2/(word) strlen::len#1 ) + [181] (byte*) strlen::str#2 ← phi( strlen/(byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS strlen::@2/(byte*) strlen::str#0 ) + [182] if((byte) 0!=*((byte*) strlen::str#2)) goto strlen::@2 + to:strlen::@return +strlen::@return: scope:[strlen] from strlen::@1 + [183] return + to:@return +strlen::@2: scope:[strlen] from strlen::@1 + [184] (word) strlen::len#1 ← ++ (word) strlen::len#2 + [185] (byte*) strlen::str#0 ← ++ (byte*) strlen::str#2 + to:strlen::@1 + +(void()) ultoa((dword) ultoa::value , (byte*) ultoa::buffer , (byte) ultoa::radix) +ultoa: scope:[ultoa] from printf_ulong::@1 + [186] phi() + to:ultoa::@1 +ultoa::@1: scope:[ultoa] from ultoa ultoa::@4 + [187] (byte*) ultoa::buffer#11 ← phi( ultoa::@4/(byte*) ultoa::buffer#14 ultoa/(byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS ) + [187] (byte) ultoa::started#2 ← phi( ultoa::@4/(byte) ultoa::started#4 ultoa/(byte) 0 ) + [187] (dword) ultoa::value#2 ← phi( ultoa::@4/(dword) ultoa::value#6 ultoa/(dword) ultoa::value#1 ) + [187] (byte) ultoa::digit#2 ← phi( ultoa::@4/(byte) ultoa::digit#1 ultoa/(byte) 0 ) + [188] if((byte) ultoa::digit#2<(const byte) ultoa::max_digits#1-(byte) 1) goto ultoa::@2 + to:ultoa::@3 +ultoa::@3: scope:[ultoa] from ultoa::@1 + [189] (byte~) ultoa::$11 ← (byte)(dword) ultoa::value#2 + [190] *((byte*) ultoa::buffer#11) ← *((const byte*) DIGITS + (byte~) ultoa::$11) + [191] (byte*) ultoa::buffer#3 ← ++ (byte*) ultoa::buffer#11 + [192] *((byte*) ultoa::buffer#3) ← (byte) 0 + to:ultoa::@return +ultoa::@return: scope:[ultoa] from ultoa::@3 + [193] return + to:@return +ultoa::@2: scope:[ultoa] from ultoa::@1 + [194] (byte~) ultoa::$10 ← (byte) ultoa::digit#2 << (byte) 2 + [195] (dword) ultoa::digit_value#0 ← *((const dword*) RADIX_DECIMAL_VALUES_LONG + (byte~) ultoa::$10) + [196] if((byte) 0!=(byte) ultoa::started#2) goto ultoa::@5 + to:ultoa::@7 +ultoa::@7: scope:[ultoa] from ultoa::@2 + [197] if((dword) ultoa::value#2>=(dword) ultoa::digit_value#0) goto ultoa::@5 + to:ultoa::@4 +ultoa::@4: scope:[ultoa] from ultoa::@6 ultoa::@7 + [198] (byte*) ultoa::buffer#14 ← phi( ultoa::@7/(byte*) ultoa::buffer#11 ultoa::@6/(byte*) ultoa::buffer#4 ) + [198] (byte) ultoa::started#4 ← phi( ultoa::@7/(byte) ultoa::started#2 ultoa::@6/(byte) 1 ) + [198] (dword) ultoa::value#6 ← phi( ultoa::@7/(dword) ultoa::value#2 ultoa::@6/(dword) ultoa::value#0 ) + [199] (byte) ultoa::digit#1 ← ++ (byte) ultoa::digit#2 + to:ultoa::@1 +ultoa::@5: scope:[ultoa] from ultoa::@2 ultoa::@7 + [200] (byte*) ultoa_append::buffer#0 ← (byte*) ultoa::buffer#11 + [201] (dword) ultoa_append::value#0 ← (dword) ultoa::value#2 + [202] (dword) ultoa_append::sub#0 ← (dword) ultoa::digit_value#0 + [203] call ultoa_append + [204] (dword) ultoa_append::return#0 ← (dword) ultoa_append::value#2 + to:ultoa::@6 +ultoa::@6: scope:[ultoa] from ultoa::@5 + [205] (dword) ultoa::value#0 ← (dword) ultoa_append::return#0 + [206] (byte*) ultoa::buffer#4 ← ++ (byte*) ultoa::buffer#11 + to:ultoa::@4 + +(dword()) ultoa_append((byte*) ultoa_append::buffer , (dword) ultoa_append::value , (dword) ultoa_append::sub) +ultoa_append: scope:[ultoa_append] from ultoa::@5 + [207] phi() + to:ultoa_append::@1 +ultoa_append::@1: scope:[ultoa_append] from ultoa_append ultoa_append::@2 + [208] (byte) ultoa_append::digit#2 ← phi( ultoa_append/(byte) 0 ultoa_append::@2/(byte) ultoa_append::digit#1 ) + [208] (dword) ultoa_append::value#2 ← phi( ultoa_append/(dword) ultoa_append::value#0 ultoa_append::@2/(dword) ultoa_append::value#1 ) + [209] if((dword) ultoa_append::value#2>=(dword) ultoa_append::sub#0) goto ultoa_append::@2 + to:ultoa_append::@3 +ultoa_append::@3: scope:[ultoa_append] from ultoa_append::@1 + [210] *((byte*) ultoa_append::buffer#0) ← *((const byte*) DIGITS + (byte) ultoa_append::digit#2) + to:ultoa_append::@return +ultoa_append::@return: scope:[ultoa_append] from ultoa_append::@3 + [211] return + to:@return +ultoa_append::@2: scope:[ultoa_append] from ultoa_append::@1 + [212] (byte) ultoa_append::digit#1 ← ++ (byte) ultoa_append::digit#2 + [213] (dword) ultoa_append::value#1 ← (dword) ultoa_append::value#2 - (dword) ultoa_append::sub#0 + to:ultoa_append::@1 + +(byte()) textcolor((byte) textcolor::color) +textcolor: scope:[textcolor] from main::@14 main::@6 main::@9 + [214] (byte) textcolor::color#3 ← phi( main::@9/(const nomodify byte) LIGHT_BLUE main::@14/(const nomodify byte) WHITE main::@6/(const nomodify byte) WHITE ) + [215] (byte) conio_textcolor ← (byte) textcolor::color#3 + to:textcolor::@return +textcolor::@return: scope:[textcolor] from textcolor + [216] return + to:@return + +(void()) gotoxy((byte) gotoxy::x , (byte) gotoxy::y) +gotoxy: scope:[gotoxy] from main::@3 main::@5 + [217] (byte) gotoxy::x#4 ← phi( main::@3/(byte) gotoxy::x#2 main::@5/(byte) $1c ) + [217] (byte) gotoxy::y#4 ← phi( main::@3/(byte) gotoxy::y#2 main::@5/(byte) 0 ) + [218] if((byte) gotoxy::y#4<(byte) $19+(byte) 1) goto gotoxy::@3 + to:gotoxy::@1 +gotoxy::@3: scope:[gotoxy] from gotoxy + [219] phi() + to:gotoxy::@1 +gotoxy::@1: scope:[gotoxy] from gotoxy gotoxy::@3 + [220] (byte) gotoxy::y#5 ← phi( gotoxy::@3/(byte) gotoxy::y#4 gotoxy/(byte) 0 ) + [221] if((byte) gotoxy::x#4<(byte) $28) goto gotoxy::@4 + to:gotoxy::@2 +gotoxy::@4: scope:[gotoxy] from gotoxy::@1 + [222] phi() + to:gotoxy::@2 +gotoxy::@2: scope:[gotoxy] from gotoxy::@1 gotoxy::@4 + [223] (byte) gotoxy::x#5 ← phi( gotoxy::@4/(byte) gotoxy::x#4 gotoxy::@1/(byte) 0 ) + [224] (byte) conio_cursor_x ← (byte) gotoxy::x#5 + [225] (byte) conio_cursor_y ← (byte) gotoxy::y#5 + [226] (word~) gotoxy::$8 ← (word)(byte) gotoxy::y#5 + [227] (word~) gotoxy::$9 ← (word~) gotoxy::$8 << (byte) 2 + [228] (word~) gotoxy::$10 ← (word~) gotoxy::$9 + (word~) gotoxy::$8 + [229] (word~) gotoxy::$4 ← (word~) gotoxy::$10 << (byte) 3 + [230] (word) gotoxy::offset#0 ← (word~) gotoxy::$4 + (byte) gotoxy::x#5 + [231] (byte*~) gotoxy::$6 ← (const nomodify byte*) CONIO_SCREEN_TEXT + (word) gotoxy::offset#0 + [232] (byte*) conio_cursor_text ← (byte*~) gotoxy::$6 + [233] (byte*~) gotoxy::$7 ← (const nomodify byte*) CONIO_SCREEN_COLORS + (word) gotoxy::offset#0 + [234] (byte*) conio_cursor_color ← (byte*~) gotoxy::$7 + to:gotoxy::@return +gotoxy::@return: scope:[gotoxy] from gotoxy::@2 + [235] return + to:@return + +(word()) rand() +rand: scope:[rand] from main::@2 main::@8 + [236] (word) rand_state#9 ← phi( main::@2/(word) rand_state#10 main::@8/(word) 1 ) + [237] (word~) rand::$0 ← (word) rand_state#9 << (byte) 7 + [238] (word) rand_state#1 ← (word) rand_state#9 ^ (word~) rand::$0 + [239] (word~) rand::$1 ← (word) rand_state#1 >> (byte) 9 + [240] (word) rand_state#2 ← (word) rand_state#1 ^ (word~) rand::$1 + [241] (word~) rand::$2 ← (word) rand_state#2 << (byte) 8 + [242] (word) rand_state#10 ← (word) rand_state#2 ^ (word~) rand::$2 + [243] (word) rand::return#0 ← (word) rand_state#10 + to:rand::@return +rand::@return: scope:[rand] from rand + [244] return + to:@return + +(void()) printf_uint((word) printf_uint::uvalue , (byte) printf_uint::format_min_length , (byte) printf_uint::format_justify_left , (byte) printf_uint::format_sign_always , (byte) printf_uint::format_zero_padding , (byte) printf_uint::format_upper_case , (byte) printf_uint::format_radix) +printf_uint: scope:[printf_uint] from main::@12 + [245] phi() + to:printf_uint::@1 +printf_uint::@1: scope:[printf_uint] from printf_uint + [246] *((byte*)&(struct printf_buffer_number) printf_buffer) ← (byte) 0 + [247] (word) utoa::value#1 ← (word) printf_uint::uvalue#0 + [248] call utoa + to:printf_uint::@2 +printf_uint::@2: scope:[printf_uint] from printf_uint::@1 + [249] (byte) printf_number_buffer::buffer_sign#1 ← *((byte*)&(struct printf_buffer_number) printf_buffer) + [250] call printf_number_buffer + to:printf_uint::@return +printf_uint::@return: scope:[printf_uint] from printf_uint::@2 + [251] return + to:@return + +(void()) utoa((word) utoa::value , (byte*) utoa::buffer , (byte) utoa::radix) +utoa: scope:[utoa] from printf_uint::@1 + [252] phi() + to:utoa::@1 +utoa::@1: scope:[utoa] from utoa utoa::@4 + [253] (byte*) utoa::buffer#11 ← phi( utoa::@4/(byte*) utoa::buffer#14 utoa/(byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS ) + [253] (byte) utoa::started#2 ← phi( utoa::@4/(byte) utoa::started#4 utoa/(byte) 0 ) + [253] (word) utoa::value#2 ← phi( utoa::@4/(word) utoa::value#6 utoa/(word) utoa::value#1 ) + [253] (byte) utoa::digit#2 ← phi( utoa::@4/(byte) utoa::digit#1 utoa/(byte) 0 ) + [254] if((byte) utoa::digit#2<(const byte) utoa::max_digits#1-(byte) 1) goto utoa::@2 + to:utoa::@3 +utoa::@3: scope:[utoa] from utoa::@1 + [255] (byte~) utoa::$11 ← (byte)(word) utoa::value#2 + [256] *((byte*) utoa::buffer#11) ← *((const byte*) DIGITS + (byte~) utoa::$11) + [257] (byte*) utoa::buffer#3 ← ++ (byte*) utoa::buffer#11 + [258] *((byte*) utoa::buffer#3) ← (byte) 0 + to:utoa::@return +utoa::@return: scope:[utoa] from utoa::@3 + [259] return + to:@return +utoa::@2: scope:[utoa] from utoa::@1 + [260] (byte~) utoa::$10 ← (byte) utoa::digit#2 << (byte) 1 + [261] (word) utoa::digit_value#0 ← *((const word*) RADIX_DECIMAL_VALUES + (byte~) utoa::$10) + [262] if((byte) 0!=(byte) utoa::started#2) goto utoa::@5 + to:utoa::@7 +utoa::@7: scope:[utoa] from utoa::@2 + [263] if((word) utoa::value#2>=(word) utoa::digit_value#0) goto utoa::@5 + to:utoa::@4 +utoa::@4: scope:[utoa] from utoa::@6 utoa::@7 + [264] (byte*) utoa::buffer#14 ← phi( utoa::@7/(byte*) utoa::buffer#11 utoa::@6/(byte*) utoa::buffer#4 ) + [264] (byte) utoa::started#4 ← phi( utoa::@7/(byte) utoa::started#2 utoa::@6/(byte) 1 ) + [264] (word) utoa::value#6 ← phi( utoa::@7/(word) utoa::value#2 utoa::@6/(word) utoa::value#0 ) + [265] (byte) utoa::digit#1 ← ++ (byte) utoa::digit#2 + to:utoa::@1 +utoa::@5: scope:[utoa] from utoa::@2 utoa::@7 + [266] (byte*) utoa_append::buffer#0 ← (byte*) utoa::buffer#11 + [267] (word) utoa_append::value#0 ← (word) utoa::value#2 + [268] (word) utoa_append::sub#0 ← (word) utoa::digit_value#0 + [269] call utoa_append + [270] (word) utoa_append::return#0 ← (word) utoa_append::value#2 + to:utoa::@6 +utoa::@6: scope:[utoa] from utoa::@5 + [271] (word) utoa::value#0 ← (word) utoa_append::return#0 + [272] (byte*) utoa::buffer#4 ← ++ (byte*) utoa::buffer#11 + to:utoa::@4 + +(word()) utoa_append((byte*) utoa_append::buffer , (word) utoa_append::value , (word) utoa_append::sub) +utoa_append: scope:[utoa_append] from utoa::@5 + [273] phi() + to:utoa_append::@1 +utoa_append::@1: scope:[utoa_append] from utoa_append utoa_append::@2 + [274] (byte) utoa_append::digit#2 ← phi( utoa_append/(byte) 0 utoa_append::@2/(byte) utoa_append::digit#1 ) + [274] (word) utoa_append::value#2 ← phi( utoa_append/(word) utoa_append::value#0 utoa_append::@2/(word) utoa_append::value#1 ) + [275] if((word) utoa_append::value#2>=(word) utoa_append::sub#0) goto utoa_append::@2 + to:utoa_append::@3 +utoa_append::@3: scope:[utoa_append] from utoa_append::@1 + [276] *((byte*) utoa_append::buffer#0) ← *((const byte*) DIGITS + (byte) utoa_append::digit#2) + to:utoa_append::@return +utoa_append::@return: scope:[utoa_append] from utoa_append::@3 + [277] return + to:@return +utoa_append::@2: scope:[utoa_append] from utoa_append::@1 + [278] (byte) utoa_append::digit#1 ← ++ (byte) utoa_append::digit#2 + [279] (word) utoa_append::value#1 ← (word) utoa_append::value#2 - (word) utoa_append::sub#0 + to:utoa_append::@1 + +(void()) clrscr() +clrscr: scope:[clrscr] from main + [280] phi() + to:clrscr::@1 +clrscr::@1: scope:[clrscr] from clrscr clrscr::@5 + [281] (byte*) clrscr::line_cols#5 ← phi( clrscr/(const nomodify byte*) CONIO_SCREEN_COLORS clrscr::@5/(byte*) clrscr::line_cols#1 ) + [281] (byte*) clrscr::line_text#5 ← phi( clrscr/(const nomodify byte*) CONIO_SCREEN_TEXT clrscr::@5/(byte*) clrscr::line_text#1 ) + [281] (byte) clrscr::l#2 ← phi( clrscr/(byte) 0 clrscr::@5/(byte) clrscr::l#1 ) + [282] if((byte) clrscr::l#2<(byte) $19) goto clrscr::@3 + to:clrscr::@2 +clrscr::@2: scope:[clrscr] from clrscr::@1 + [283] (byte) conio_cursor_x ← (byte) 0 + [284] (byte) conio_cursor_y ← (byte) 0 + [285] (byte*) conio_cursor_text ← (const nomodify byte*) CONIO_SCREEN_TEXT + [286] (byte*) conio_cursor_color ← (const nomodify byte*) CONIO_SCREEN_COLORS + to:clrscr::@return +clrscr::@return: scope:[clrscr] from clrscr::@2 + [287] return + to:@return +clrscr::@3: scope:[clrscr] from clrscr::@1 clrscr::@4 + [288] (byte) clrscr::c#2 ← phi( clrscr::@1/(byte) 0 clrscr::@4/(byte) clrscr::c#1 ) + [289] if((byte) clrscr::c#2<(byte) $28) goto clrscr::@4 + to:clrscr::@5 +clrscr::@5: scope:[clrscr] from clrscr::@3 + [290] (byte*) clrscr::line_text#1 ← (byte*) clrscr::line_text#5 + (byte) $28 + [291] (byte*) clrscr::line_cols#1 ← (byte*) clrscr::line_cols#5 + (byte) $28 + [292] (byte) clrscr::l#1 ← ++ (byte) clrscr::l#2 + to:clrscr::@1 +clrscr::@4: scope:[clrscr] from clrscr::@3 + [293] *((byte*) clrscr::line_text#5 + (byte) clrscr::c#2) ← (byte) ' ' + [294] *((byte*) clrscr::line_cols#5 + (byte) clrscr::c#2) ← (byte) conio_textcolor + [295] (byte) clrscr::c#1 ← ++ (byte) clrscr::c#2 + to:clrscr::@3 + +null depth in calling loop Loop head: printf_padding::@1 tails: printf_padding::@3 blocks: printf_padding::@3 printf_padding::@2 printf_padding::@1 in scope cputc +null depth in calling loop Loop head: printf_padding::@1 tails: printf_padding::@3 blocks: printf_padding::@3 printf_padding::@2 printf_padding::@1 in scope cputc +null depth in calling loop Loop head: printf_padding::@1 tails: printf_padding::@3 blocks: printf_padding::@3 printf_padding::@2 printf_padding::@1 in scope cputc +null depth in calling loop Loop head: printf_padding::@1 tails: printf_padding::@3 blocks: printf_padding::@3 printf_padding::@2 printf_padding::@1 in scope cputc + +VARIABLE REGISTER WEIGHTS +(byte) MOS6526_CIA::INTERRUPT +(byte) MOS6526_CIA::PORT_A +(byte) MOS6526_CIA::PORT_A_DDR +(byte) MOS6526_CIA::PORT_B +(byte) MOS6526_CIA::PORT_B_DDR +(byte) MOS6526_CIA::SERIAL_DATA +(word) MOS6526_CIA::TIMER_A +(byte) MOS6526_CIA::TIMER_A_CONTROL +(word) MOS6526_CIA::TIMER_B +(byte) MOS6526_CIA::TIMER_B_CONTROL +(byte) MOS6526_CIA::TOD_10THS +(byte) MOS6526_CIA::TOD_HOURS +(byte) MOS6526_CIA::TOD_MIN +(byte) MOS6526_CIA::TOD_SEC +(byte) MOS6569_VICII::BG_COLOR +(byte) MOS6569_VICII::BG_COLOR1 +(byte) MOS6569_VICII::BG_COLOR2 +(byte) MOS6569_VICII::BG_COLOR3 +(byte) MOS6569_VICII::BORDER_COLOR +(byte) MOS6569_VICII::CONTROL1 +(byte) MOS6569_VICII::CONTROL2 +(byte) MOS6569_VICII::IRQ_ENABLE +(byte) MOS6569_VICII::IRQ_STATUS +(byte) MOS6569_VICII::LIGHTPEN_X +(byte) MOS6569_VICII::LIGHTPEN_Y +(byte) MOS6569_VICII::MEMORY +(byte) MOS6569_VICII::RASTER +(byte) MOS6569_VICII::SPRITE0_COLOR +(byte) MOS6569_VICII::SPRITE0_X +(byte) MOS6569_VICII::SPRITE0_Y +(byte) MOS6569_VICII::SPRITE1_COLOR +(byte) MOS6569_VICII::SPRITE1_X +(byte) MOS6569_VICII::SPRITE1_Y +(byte) MOS6569_VICII::SPRITE2_COLOR +(byte) MOS6569_VICII::SPRITE2_X +(byte) MOS6569_VICII::SPRITE2_Y +(byte) MOS6569_VICII::SPRITE3_COLOR +(byte) MOS6569_VICII::SPRITE3_X +(byte) MOS6569_VICII::SPRITE3_Y +(byte) MOS6569_VICII::SPRITE4_COLOR +(byte) MOS6569_VICII::SPRITE4_X +(byte) MOS6569_VICII::SPRITE4_Y +(byte) MOS6569_VICII::SPRITE5_COLOR +(byte) MOS6569_VICII::SPRITE5_X +(byte) MOS6569_VICII::SPRITE5_Y +(byte) MOS6569_VICII::SPRITE6_COLOR +(byte) MOS6569_VICII::SPRITE6_X +(byte) MOS6569_VICII::SPRITE6_Y +(byte) MOS6569_VICII::SPRITE7_COLOR +(byte) MOS6569_VICII::SPRITE7_X +(byte) MOS6569_VICII::SPRITE7_Y +(byte) MOS6569_VICII::SPRITES_BG_COLLISION +(byte) MOS6569_VICII::SPRITES_COLLISION +(byte) MOS6569_VICII::SPRITES_ENABLE +(byte) MOS6569_VICII::SPRITES_EXPAND_X +(byte) MOS6569_VICII::SPRITES_EXPAND_Y +(byte) MOS6569_VICII::SPRITES_MC +(byte) MOS6569_VICII::SPRITES_MCOLOR1 +(byte) MOS6569_VICII::SPRITES_MCOLOR2 +(byte) MOS6569_VICII::SPRITES_PRIORITY +(byte) MOS6569_VICII::SPRITES_XMSB +(byte) MOS6581_SID::CH1_ATTACK_DECAY +(byte) MOS6581_SID::CH1_CONTROL +(word) MOS6581_SID::CH1_FREQ +(word) MOS6581_SID::CH1_PULSE_WIDTH +(byte) MOS6581_SID::CH1_SUSTAIN_RELEASE +(byte) MOS6581_SID::CH2_ATTACK_DECAY +(byte) MOS6581_SID::CH2_CONTROL +(word) MOS6581_SID::CH2_FREQ +(word) MOS6581_SID::CH2_PULSE_WIDTH +(byte) MOS6581_SID::CH2_SUSTAIN_RELEASE +(byte) MOS6581_SID::CH3_ATTACK_DECAY +(byte) MOS6581_SID::CH3_CONTROL +(byte) MOS6581_SID::CH3_ENV +(word) MOS6581_SID::CH3_FREQ +(byte) MOS6581_SID::CH3_OSC +(word) MOS6581_SID::CH3_PULSE_WIDTH +(byte) MOS6581_SID::CH3_SUSTAIN_RELEASE +(byte) MOS6581_SID::FILTER_CUTOFF_HIGH +(byte) MOS6581_SID::FILTER_CUTOFF_LOW +(byte) MOS6581_SID::FILTER_SETUP +(byte) MOS6581_SID::POT_X +(byte) MOS6581_SID::POT_Y +(byte) MOS6581_SID::VOLUME_FILTER_MODE +(void()) clrscr() +(byte) clrscr::c +(byte) clrscr::c#1 20002.0 +(byte) clrscr::c#2 12501.25 +(byte) clrscr::l +(byte) clrscr::l#1 2002.0 +(byte) clrscr::l#2 333.6666666666667 +(byte*) clrscr::line_cols +(byte*) clrscr::line_cols#1 1001.0 +(byte*) clrscr::line_cols#5 1500.375 +(byte*) clrscr::line_text +(byte*) clrscr::line_text#1 667.3333333333334 +(byte*) clrscr::line_text#5 1714.7142857142858 +(byte*) conio_cursor_color loadstore 1.991071527767857E8 +(byte*) conio_cursor_text loadstore 1.939130531391304E8 +(byte) conio_cursor_x loadstore 3.090910100909091E7 +(byte) conio_cursor_y loadstore 2.5555556437301588E8 +(byte) conio_textcolor loadstore 6.91781514109589E7 +(void()) cputc((byte) cputc::c) +(byte) cputc::c +(byte) cputc::c#0 2.0000002E7 +(byte) cputc::c#1 2.0000002E7 +(byte) cputc::c#2 20002.0 +(byte) cputc::c#3 1.100050025E8 +(void()) cputln() +(byte*~) cputln::$0 2.000000002E9 +(byte*~) cputln::$1 2.000000002E9 +(byte*~) cputln::$2 2.000000002E9 +(byte*~) cputln::$3 2.000000002E9 +(void()) cputs((to_nomodify byte*) cputs::s) +(byte) cputs::c +(byte) cputs::c#1 1.0000001E7 +(to_nomodify byte*) cputs::s +(to_nomodify byte*) cputs::s#0 5000000.5 +(to_nomodify byte*) cputs::s#4 1.5050002E7 +(to_nomodify byte*) cputs::s#5 100001.0 +(void()) cscroll() +(byte*~) cscroll::$7 2.0000000002E10 +(byte*~) cscroll::$8 2.0000000002E10 +(void()) gotoxy((byte) gotoxy::x , (byte) gotoxy::y) +(word~) gotoxy::$10 2002.0 +(word~) gotoxy::$4 2002.0 +(byte*~) gotoxy::$6 2002.0 +(byte*~) gotoxy::$7 2002.0 +(word~) gotoxy::$8 1501.5 +(word~) gotoxy::$9 2002.0 +(word) gotoxy::offset +(word) gotoxy::offset#0 1001.0 +(byte) gotoxy::x +(byte) gotoxy::x#2 101.0 +(byte) gotoxy::x#4 350.5 +(byte) gotoxy::x#5 429.0 +(byte) gotoxy::y +(byte) gotoxy::y#2 202.0 +(byte) gotoxy::y#4 701.0 +(byte) gotoxy::y#5 333.6666666666667 +(void()) main() +(byte~) main::$18 202.0 +(dword) main::cnt +(dword) main::cnt#1 8.875 +(dword) main::cnt#2 202.0 +(byte) main::col +(byte) main::col#1 101.0 +(byte) main::col#3 45.90909090909091 +(byte) main::col#7 80.8 +(word) main::first +(word) main::first#0 5.590909090909091 +(word) main::rnd +(word) main::rnd#1 151.5 +(word) main::rnd#2 30.42857142857143 +(word) main::rnd#5 22.0 +(byte) main::row +(byte) main::row#1 151.5 +(byte) main::row#3 44.888888888888886 +(byte) main::row#7 60.599999999999994 +(void*()) memcpy((void*) memcpy::destination , (void*) memcpy::source , (word) memcpy::num) +(void*) memcpy::destination +(void*) memcpy::destination#2 +(byte*) memcpy::dst +(byte*) memcpy::dst#1 1.00000000000001E14 +(byte*) memcpy::dst#2 1.0003333333333467E14 +(byte*) memcpy::dst#4 2.00000000002E11 +(word) memcpy::num +(void*) memcpy::return +(void*) memcpy::source +(void*) memcpy::source#2 +(byte*) memcpy::src +(byte*) memcpy::src#1 2.00000000000002E14 +(byte*) memcpy::src#2 1.0002500000000125E14 +(byte*) memcpy::src#4 1.00000000001E11 +(byte*) memcpy::src_end +(byte*) memcpy::src_end#0 1.251250000000025E13 +(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) +(byte) memset::c +(byte) memset::c#1 2.0000000002E10 +(byte) memset::c#4 1.4287142857143143E13 +(byte*) memset::dst +(byte*) memset::dst#1 2.00000000000002E14 +(byte*) memset::dst#2 1.3336666666666834E14 +(byte*) memset::dst#4 2.00000000002E11 +(byte*) memset::end +(byte*) memset::end#0 1.6683333333333668E13 +(word) memset::num +(void*) memset::return +(void*) memset::str +(void*) memset::str#3 +(struct printf_buffer_number) printf_buffer loadstore = {} +(byte) printf_buffer_number::sign +(byte) printf_format_number::justify_left +(byte) printf_format_number::min_length +(byte) printf_format_number::radix +(byte) printf_format_number::sign_always +(byte) printf_format_number::upper_case +(byte) printf_format_number::zero_padding +(byte) printf_format_string::justify_left +(byte) printf_format_string::min_length +(void()) printf_number_buffer((byte) printf_number_buffer::buffer_sign , (byte*) printf_number_buffer::buffer_digits , (byte) printf_number_buffer::format_min_length , (byte) printf_number_buffer::format_justify_left , (byte) printf_number_buffer::format_sign_always , (byte) printf_number_buffer::format_zero_padding , (byte) printf_number_buffer::format_upper_case , (byte) printf_number_buffer::format_radix) +(word~) printf_number_buffer::$19 10001.0 +(struct printf_buffer_number) printf_number_buffer::buffer +(byte*) printf_number_buffer::buffer_digits +(byte) printf_number_buffer::buffer_sign +(byte) printf_number_buffer::buffer_sign#0 202.0 +(byte) printf_number_buffer::buffer_sign#1 2002.0 +(byte) printf_number_buffer::buffer_sign#10 1555.25 +(struct printf_format_number) printf_number_buffer::format +(byte) printf_number_buffer::format_justify_left +(byte) printf_number_buffer::format_justify_left#10 645.2258064516129 +(byte) printf_number_buffer::format_min_length +(byte) printf_number_buffer::format_min_length#2 1000.1 +(byte) printf_number_buffer::format_radix +(byte) printf_number_buffer::format_sign_always +(byte) printf_number_buffer::format_upper_case +(byte) printf_number_buffer::format_upper_case#10 384.65384615384613 +(byte) printf_number_buffer::format_zero_padding +(byte) printf_number_buffer::format_zero_padding#10 937.59375 +(signed byte) printf_number_buffer::len +(signed byte) printf_number_buffer::len#0 15001.5 +(signed byte) printf_number_buffer::len#1 20002.0 +(signed byte) printf_number_buffer::len#2 30003.0 +(signed byte) printf_number_buffer::padding +(signed byte) printf_number_buffer::padding#1 10001.0 +(signed byte) printf_number_buffer::padding#10 1904.952380952381 +(void()) printf_padding((byte) printf_padding::pad , (byte) printf_padding::length) +(byte) printf_padding::i +(byte) printf_padding::i#1 2.0000002E7 +(byte) printf_padding::i#2 7500000.75 +(byte) printf_padding::length +(byte) printf_padding::length#0 20002.0 +(byte) printf_padding::length#1 20002.0 +(byte) printf_padding::length#2 20002.0 +(byte) printf_padding::length#4 1671667.3333333333 +(byte) printf_padding::pad +(byte) printf_padding::pad#5 1666666.8333333333 +(void()) printf_uint((word) printf_uint::uvalue , (byte) printf_uint::format_min_length , (byte) printf_uint::format_justify_left , (byte) printf_uint::format_sign_always , (byte) printf_uint::format_zero_padding , (byte) printf_uint::format_upper_case , (byte) printf_uint::format_radix) +(struct printf_format_number) printf_uint::format +(byte) printf_uint::format_justify_left +(byte) printf_uint::format_min_length +(byte) printf_uint::format_radix +(byte) printf_uint::format_sign_always +(byte) printf_uint::format_upper_case +(byte) printf_uint::format_zero_padding +(word) printf_uint::uvalue +(word) printf_uint::uvalue#0 367.33333333333337 +(void()) printf_ulong((dword) printf_ulong::uvalue , (byte) printf_ulong::format_min_length , (byte) printf_ulong::format_justify_left , (byte) printf_ulong::format_sign_always , (byte) printf_ulong::format_zero_padding , (byte) printf_ulong::format_upper_case , (byte) printf_ulong::format_radix) +(struct printf_format_number) printf_ulong::format +(byte) printf_ulong::format_justify_left +(byte) printf_ulong::format_min_length +(byte) printf_ulong::format_radix +(byte) printf_ulong::format_sign_always +(byte) printf_ulong::format_upper_case +(byte) printf_ulong::format_zero_padding +(dword) printf_ulong::uvalue +(dword) printf_ulong::uvalue#0 37.33333333333333 +(word()) rand() +(word~) rand::$0 2002.0 +(word~) rand::$1 2002.0 +(word~) rand::$2 2002.0 +(word) rand::return +(word) rand::return#0 278.25 +(word) rand::return#2 22.0 +(word) rand::return#3 202.0 +(word) rand_state +(word) rand_state#1 1501.5 +(word) rand_state#10 77.88888888888889 +(word) rand_state#2 1501.5 +(word) rand_state#9 1051.5 +(word()) strlen((byte*) strlen::str) +(word) strlen::len +(word) strlen::len#1 1.0000001E7 +(word) strlen::len#2 5002500.75 +(word) strlen::return +(word) strlen::return#2 20002.0 +(byte*) strlen::str +(byte*) strlen::str#0 2.0000002E7 +(byte*) strlen::str#2 1.0000001E7 +(byte*()) strupr((byte*) strupr::str) +(byte~) strupr::$0 2.0000002E7 +(byte*) strupr::return +(byte*) strupr::src +(byte*) strupr::src#1 2.0000002E7 +(byte*) strupr::src#2 7142857.857142856 +(byte*) strupr::str +(byte()) textcolor((byte) textcolor::color) +(byte) textcolor::color +(byte) textcolor::color#3 101.0 +(byte) textcolor::old +(byte) textcolor::return +(byte()) toupper((byte) toupper::ch) +(byte) toupper::ch +(byte) toupper::ch#0 1.70000002E8 +(byte) toupper::return +(byte) toupper::return#0 2.00000002E8 +(byte) toupper::return#2 1.0333333466666667E8 +(byte) toupper::return#3 2.0000002E7 +(void()) ultoa((dword) ultoa::value , (byte*) ultoa::buffer , (byte) ultoa::radix) +(byte~) ultoa::$10 20002.0 +(byte~) ultoa::$11 2002.0 +(byte*) ultoa::buffer +(byte*) ultoa::buffer#11 3000.4285714285716 +(byte*) ultoa::buffer#14 15001.5 +(byte*) ultoa::buffer#3 2002.0 +(byte*) ultoa::buffer#4 20002.0 +(byte) ultoa::digit +(byte) ultoa::digit#1 20002.0 +(byte) ultoa::digit#2 2857.4285714285716 +(dword) ultoa::digit_value +(dword) ultoa::digit_value#0 6000.6 +(dword*) ultoa::digit_values +(byte) ultoa::max_digits +(byte) ultoa::radix +(byte) ultoa::started +(byte) ultoa::started#2 5000.5 +(byte) ultoa::started#4 10001.0 +(dword) ultoa::value +(dword) ultoa::value#0 10001.0 +(dword) ultoa::value#1 551.0 +(dword) ultoa::value#2 5857.857142857143 +(dword) ultoa::value#6 15001.5 +(dword()) ultoa_append((byte*) ultoa_append::buffer , (dword) ultoa_append::value , (dword) ultoa_append::sub) +(byte*) ultoa_append::buffer +(byte*) ultoa_append::buffer#0 13750.25 +(byte) ultoa_append::digit +(byte) ultoa_append::digit#1 1.0000001E7 +(byte) ultoa_append::digit#2 1.00500015E7 +(dword) ultoa_append::return +(dword) ultoa_append::return#0 20002.0 +(dword) ultoa_append::sub +(dword) ultoa_append::sub#0 3335000.5 +(dword) ultoa_append::value +(dword) ultoa_append::value#0 36667.33333333333 +(dword) ultoa_append::value#1 2.0000002E7 +(dword) ultoa_append::value#2 5018334.166666666 +(void()) utoa((word) utoa::value , (byte*) utoa::buffer , (byte) utoa::radix) +(byte~) utoa::$10 2000002.0 +(byte~) utoa::$11 20002.0 +(byte*) utoa::buffer +(byte*) utoa::buffer#11 287143.2857142857 +(byte*) utoa::buffer#14 1500001.5 +(byte*) utoa::buffer#3 20002.0 +(byte*) utoa::buffer#4 2000002.0 +(byte) utoa::digit +(byte) utoa::digit#1 2000002.0 +(byte) utoa::digit#2 285714.5714285714 +(word) utoa::digit_value +(word) utoa::digit_value#0 600000.6000000001 +(word*) utoa::digit_values +(byte) utoa::max_digits +(byte) utoa::radix +(byte) utoa::started +(byte) utoa::started#2 500000.5 +(byte) utoa::started#4 1000001.0 +(word) utoa::value +(word) utoa::value#0 1000001.0 +(word) utoa::value#1 5501.0 +(word) utoa::value#2 572857.857142857 +(word) utoa::value#6 1500001.5 +(word()) utoa_append((byte*) utoa_append::buffer , (word) utoa_append::value , (word) utoa_append::sub) +(byte*) utoa_append::buffer +(byte*) utoa_append::buffer#0 1375000.25 +(byte) utoa_append::digit +(byte) utoa_append::digit#1 1.0000000001E10 +(byte) utoa_append::digit#2 1.00050000015E10 +(word) utoa_append::return +(word) utoa_append::return#0 2000002.0 +(word) utoa_append::sub +(word) utoa_append::sub#0 3.3335000005E9 +(word) utoa_append::value +(word) utoa_append::value#0 3666667.333333333 +(word) utoa_append::value#1 2.0000000002E10 +(word) utoa_append::value#2 5.001833334166666E9 + +Initial phi equivalence classes +[ main::cnt#2 main::cnt#1 ] +[ main::col#3 main::col#7 main::col#1 ] +[ main::row#3 main::row#7 main::row#1 ] +[ main::rnd#2 main::rnd#5 main::rnd#1 ] +[ printf_number_buffer::format_min_length#2 ] +[ printf_number_buffer::format_justify_left#10 ] +[ printf_number_buffer::format_zero_padding#10 ] +[ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ] +[ printf_number_buffer::format_upper_case#10 ] +[ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ] +[ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ] +[ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ] +[ printf_padding::pad#5 ] +[ printf_padding::i#2 printf_padding::i#1 ] +[ cputc::c#3 cputc::c#0 cputc::c#2 cputc::c#1 ] +[ memset::str#3 ] +[ memset::c#4 memset::c#1 ] +[ memset::dst#2 memset::dst#4 memset::dst#1 ] +[ memcpy::source#2 ] +[ memcpy::destination#2 ] +[ memcpy::src#2 memcpy::src#4 memcpy::src#1 ] +[ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] +[ cputs::s#4 cputs::s#5 cputs::s#0 ] +[ strupr::src#2 strupr::src#1 ] +[ toupper::return#2 toupper::return#0 toupper::ch#0 ] +[ strlen::str#2 strlen::str#0 ] +[ strlen::len#2 strlen::len#1 ] +[ ultoa::digit#2 ultoa::digit#1 ] +[ ultoa::value#2 ultoa::value#6 ultoa::value#1 ultoa::value#0 ] +[ ultoa::started#2 ultoa::started#4 ] +[ ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ] +[ ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ] +[ ultoa_append::digit#2 ultoa_append::digit#1 ] +[ textcolor::color#3 ] +[ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ] +[ gotoxy::x#5 gotoxy::x#4 gotoxy::x#2 ] +[ rand_state#9 rand_state#10 ] +[ 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 ] +[ clrscr::l#2 clrscr::l#1 ] +[ clrscr::line_text#5 clrscr::line_text#1 ] +[ clrscr::line_cols#5 clrscr::line_cols#1 ] +[ clrscr::c#2 clrscr::c#1 ] +Added variable conio_cursor_x to live range equivalence class [ conio_cursor_x ] +Added variable conio_cursor_y to live range equivalence class [ conio_cursor_y ] +Added variable conio_cursor_text to live range equivalence class [ conio_cursor_text ] +Added variable conio_cursor_color to live range equivalence class [ conio_cursor_color ] +Added variable conio_textcolor to live range equivalence class [ conio_textcolor ] +Added variable rand::return#2 to live range equivalence class [ rand::return#2 ] +Added variable main::first#0 to live range equivalence class [ main::first#0 ] +Added variable main::$18 to live range equivalence class [ main::$18 ] +Added variable printf_uint::uvalue#0 to live range equivalence class [ printf_uint::uvalue#0 ] +Added variable rand::return#3 to live range equivalence class [ rand::return#3 ] +Added variable printf_ulong::uvalue#0 to live range equivalence class [ printf_ulong::uvalue#0 ] +Added variable strlen::return#2 to live range equivalence class [ strlen::return#2 ] +Added variable printf_number_buffer::$19 to live range equivalence class [ printf_number_buffer::$19 ] +Added variable cputln::$0 to live range equivalence class [ cputln::$0 ] +Added variable cputln::$1 to live range equivalence class [ cputln::$1 ] +Added variable cputln::$2 to live range equivalence class [ cputln::$2 ] +Added variable cputln::$3 to live range equivalence class [ cputln::$3 ] +Added variable cscroll::$7 to live range equivalence class [ cscroll::$7 ] +Added variable cscroll::$8 to live range equivalence class [ cscroll::$8 ] +Added variable memset::end#0 to live range equivalence class [ memset::end#0 ] +Added variable memcpy::src_end#0 to live range equivalence class [ memcpy::src_end#0 ] +Added variable cputs::c#1 to live range equivalence class [ cputs::c#1 ] +Added variable toupper::return#3 to live range equivalence class [ toupper::return#3 ] +Added variable strupr::$0 to live range equivalence class [ strupr::$0 ] +Added variable ultoa::$11 to live range equivalence class [ ultoa::$11 ] +Added variable ultoa::buffer#3 to live range equivalence class [ ultoa::buffer#3 ] +Added variable ultoa::$10 to live range equivalence class [ ultoa::$10 ] +Added variable ultoa::digit_value#0 to live range equivalence class [ ultoa::digit_value#0 ] +Added variable ultoa_append::buffer#0 to live range equivalence class [ ultoa_append::buffer#0 ] +Added variable ultoa_append::sub#0 to live range equivalence class [ ultoa_append::sub#0 ] +Added variable ultoa_append::return#0 to live range equivalence class [ ultoa_append::return#0 ] +Added variable gotoxy::$8 to live range equivalence class [ gotoxy::$8 ] +Added variable gotoxy::$9 to live range equivalence class [ gotoxy::$9 ] +Added variable gotoxy::$10 to live range equivalence class [ gotoxy::$10 ] +Added variable gotoxy::$4 to live range equivalence class [ gotoxy::$4 ] +Added variable gotoxy::offset#0 to live range equivalence class [ gotoxy::offset#0 ] +Added variable gotoxy::$6 to live range equivalence class [ gotoxy::$6 ] +Added variable gotoxy::$7 to live range equivalence class [ gotoxy::$7 ] +Added variable rand::$0 to live range equivalence class [ rand::$0 ] +Added variable rand_state#1 to live range equivalence class [ rand_state#1 ] +Added variable rand::$1 to live range equivalence class [ rand::$1 ] +Added variable rand_state#2 to live range equivalence class [ rand_state#2 ] +Added variable rand::$2 to live range equivalence class [ rand::$2 ] +Added variable rand::return#0 to live range equivalence class [ rand::return#0 ] +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::cnt#2 main::cnt#1 ] +[ main::col#3 main::col#7 main::col#1 ] +[ main::row#3 main::row#7 main::row#1 ] +[ main::rnd#2 main::rnd#5 main::rnd#1 ] +[ printf_number_buffer::format_min_length#2 ] +[ printf_number_buffer::format_justify_left#10 ] +[ printf_number_buffer::format_zero_padding#10 ] +[ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ] +[ printf_number_buffer::format_upper_case#10 ] +[ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ] +[ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ] +[ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ] +[ printf_padding::pad#5 ] +[ printf_padding::i#2 printf_padding::i#1 ] +[ cputc::c#3 cputc::c#0 cputc::c#2 cputc::c#1 ] +[ memset::str#3 ] +[ memset::c#4 memset::c#1 ] +[ memset::dst#2 memset::dst#4 memset::dst#1 ] +[ memcpy::source#2 ] +[ memcpy::destination#2 ] +[ memcpy::src#2 memcpy::src#4 memcpy::src#1 ] +[ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] +[ cputs::s#4 cputs::s#5 cputs::s#0 ] +[ strupr::src#2 strupr::src#1 ] +[ toupper::return#2 toupper::return#0 toupper::ch#0 ] +[ strlen::str#2 strlen::str#0 ] +[ strlen::len#2 strlen::len#1 ] +[ ultoa::digit#2 ultoa::digit#1 ] +[ ultoa::value#2 ultoa::value#6 ultoa::value#1 ultoa::value#0 ] +[ ultoa::started#2 ultoa::started#4 ] +[ ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ] +[ ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ] +[ ultoa_append::digit#2 ultoa_append::digit#1 ] +[ textcolor::color#3 ] +[ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ] +[ gotoxy::x#5 gotoxy::x#4 gotoxy::x#2 ] +[ rand_state#9 rand_state#10 ] +[ 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 ] +[ clrscr::l#2 clrscr::l#1 ] +[ clrscr::line_text#5 clrscr::line_text#1 ] +[ clrscr::line_cols#5 clrscr::line_cols#1 ] +[ clrscr::c#2 clrscr::c#1 ] +[ conio_cursor_x ] +[ conio_cursor_y ] +[ conio_cursor_text ] +[ conio_cursor_color ] +[ conio_textcolor ] +[ rand::return#2 ] +[ main::first#0 ] +[ main::$18 ] +[ printf_uint::uvalue#0 ] +[ rand::return#3 ] +[ printf_ulong::uvalue#0 ] +[ strlen::return#2 ] +[ printf_number_buffer::$19 ] +[ cputln::$0 ] +[ cputln::$1 ] +[ cputln::$2 ] +[ cputln::$3 ] +[ cscroll::$7 ] +[ cscroll::$8 ] +[ memset::end#0 ] +[ memcpy::src_end#0 ] +[ cputs::c#1 ] +[ toupper::return#3 ] +[ strupr::$0 ] +[ ultoa::$11 ] +[ ultoa::buffer#3 ] +[ ultoa::$10 ] +[ ultoa::digit_value#0 ] +[ ultoa_append::buffer#0 ] +[ ultoa_append::sub#0 ] +[ ultoa_append::return#0 ] +[ gotoxy::$8 ] +[ gotoxy::$9 ] +[ gotoxy::$10 ] +[ gotoxy::$4 ] +[ gotoxy::offset#0 ] +[ gotoxy::$6 ] +[ gotoxy::$7 ] +[ rand::$0 ] +[ rand_state#1 ] +[ rand::$1 ] +[ rand_state#2 ] +[ rand::$2 ] +[ rand::return#0 ] +[ 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[4]:2 [ main::cnt#2 main::cnt#1 ] +Allocated zp[1]:6 [ main::col#3 main::col#7 main::col#1 ] +Allocated zp[1]:7 [ main::row#3 main::row#7 main::row#1 ] +Allocated zp[2]:8 [ main::rnd#2 main::rnd#5 main::rnd#1 ] +Allocated zp[1]:10 [ printf_number_buffer::format_min_length#2 ] +Allocated zp[1]:11 [ printf_number_buffer::format_justify_left#10 ] +Allocated zp[1]:12 [ printf_number_buffer::format_zero_padding#10 ] +Allocated zp[1]:13 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ] +Allocated zp[1]:14 [ printf_number_buffer::format_upper_case#10 ] +Allocated zp[1]:15 [ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ] +Allocated zp[1]:16 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ] +Allocated zp[1]:17 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ] +Allocated zp[1]:18 [ printf_padding::pad#5 ] +Allocated zp[1]:19 [ printf_padding::i#2 printf_padding::i#1 ] +Allocated zp[1]:20 [ cputc::c#3 cputc::c#0 cputc::c#2 cputc::c#1 ] +Allocated zp[2]:21 [ memset::str#3 ] +Allocated zp[1]:23 [ memset::c#4 memset::c#1 ] +Allocated zp[2]:24 [ memset::dst#2 memset::dst#4 memset::dst#1 ] +Allocated zp[2]:26 [ memcpy::source#2 ] +Allocated zp[2]:28 [ memcpy::destination#2 ] +Allocated zp[2]:30 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 ] +Allocated zp[2]:32 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] +Allocated zp[2]:34 [ cputs::s#4 cputs::s#5 cputs::s#0 ] +Allocated zp[2]:36 [ strupr::src#2 strupr::src#1 ] +Allocated zp[1]:38 [ toupper::return#2 toupper::return#0 toupper::ch#0 ] +Allocated zp[2]:39 [ strlen::str#2 strlen::str#0 ] +Allocated zp[2]:41 [ strlen::len#2 strlen::len#1 ] +Allocated zp[1]:43 [ ultoa::digit#2 ultoa::digit#1 ] +Allocated zp[4]:44 [ ultoa::value#2 ultoa::value#6 ultoa::value#1 ultoa::value#0 ] +Allocated zp[1]:48 [ ultoa::started#2 ultoa::started#4 ] +Allocated zp[2]:49 [ ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ] +Allocated zp[4]:51 [ ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ] +Allocated zp[1]:55 [ ultoa_append::digit#2 ultoa_append::digit#1 ] +Allocated zp[1]:56 [ textcolor::color#3 ] +Allocated zp[1]:57 [ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ] +Allocated zp[1]:58 [ gotoxy::x#5 gotoxy::x#4 gotoxy::x#2 ] +Allocated zp[2]:59 [ rand_state#9 rand_state#10 ] +Allocated zp[1]:61 [ utoa::digit#2 utoa::digit#1 ] +Allocated zp[2]:62 [ utoa::value#2 utoa::value#6 utoa::value#1 utoa::value#0 ] +Allocated zp[1]:64 [ utoa::started#2 utoa::started#4 ] +Allocated zp[2]:65 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 ] +Allocated zp[2]:67 [ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ] +Allocated zp[1]:69 [ utoa_append::digit#2 utoa_append::digit#1 ] +Allocated zp[1]:70 [ clrscr::l#2 clrscr::l#1 ] +Allocated zp[2]:71 [ clrscr::line_text#5 clrscr::line_text#1 ] +Allocated zp[2]:73 [ clrscr::line_cols#5 clrscr::line_cols#1 ] +Allocated zp[1]:75 [ clrscr::c#2 clrscr::c#1 ] +Allocated zp[1]:76 [ conio_cursor_x ] +Allocated zp[1]:77 [ conio_cursor_y ] +Allocated zp[2]:78 [ conio_cursor_text ] +Allocated zp[2]:80 [ conio_cursor_color ] +Allocated zp[1]:82 [ conio_textcolor ] +Allocated zp[2]:83 [ rand::return#2 ] +Allocated zp[2]:85 [ main::first#0 ] +Allocated zp[1]:87 [ main::$18 ] +Allocated zp[2]:88 [ printf_uint::uvalue#0 ] +Allocated zp[2]:90 [ rand::return#3 ] +Allocated zp[4]:92 [ printf_ulong::uvalue#0 ] +Allocated zp[2]:96 [ strlen::return#2 ] +Allocated zp[2]:98 [ printf_number_buffer::$19 ] +Allocated zp[2]:100 [ cputln::$0 ] +Allocated zp[2]:102 [ cputln::$1 ] +Allocated zp[2]:104 [ cputln::$2 ] +Allocated zp[2]:106 [ cputln::$3 ] +Allocated zp[2]:108 [ cscroll::$7 ] +Allocated zp[2]:110 [ cscroll::$8 ] +Allocated zp[2]:112 [ memset::end#0 ] +Allocated zp[2]:114 [ memcpy::src_end#0 ] +Allocated zp[1]:116 [ cputs::c#1 ] +Allocated zp[1]:117 [ toupper::return#3 ] +Allocated zp[1]:118 [ strupr::$0 ] +Allocated zp[1]:119 [ ultoa::$11 ] +Allocated zp[2]:120 [ ultoa::buffer#3 ] +Allocated zp[1]:122 [ ultoa::$10 ] +Allocated zp[4]:123 [ ultoa::digit_value#0 ] +Allocated zp[2]:127 [ ultoa_append::buffer#0 ] +Allocated zp[4]:129 [ ultoa_append::sub#0 ] +Allocated zp[4]:133 [ ultoa_append::return#0 ] +Allocated zp[2]:137 [ gotoxy::$8 ] +Allocated zp[2]:139 [ gotoxy::$9 ] +Allocated zp[2]:141 [ gotoxy::$10 ] +Allocated zp[2]:143 [ gotoxy::$4 ] +Allocated zp[2]:145 [ gotoxy::offset#0 ] +Allocated zp[2]:147 [ gotoxy::$6 ] +Allocated zp[2]:149 [ gotoxy::$7 ] +Allocated zp[2]:151 [ rand::$0 ] +Allocated zp[2]:153 [ rand_state#1 ] +Allocated zp[2]:155 [ rand::$1 ] +Allocated zp[2]:157 [ rand_state#2 ] +Allocated zp[2]:159 [ rand::$2 ] +Allocated zp[2]:161 [ rand::return#0 ] +Allocated zp[1]:163 [ utoa::$11 ] +Allocated zp[2]:164 [ utoa::buffer#3 ] +Allocated zp[1]:166 [ utoa::$10 ] +Allocated zp[2]:167 [ utoa::digit_value#0 ] +Allocated zp[2]:169 [ utoa_append::buffer#0 ] +Allocated zp[2]:171 [ utoa_append::sub#0 ] +Allocated zp[2]:173 [ utoa_append::return#0 ] +Allocated mem[12] [ printf_buffer ] + +INITIAL ASM +Target platform is c64basic / MOS6502X + // File Comments +// Test the pseudorandom number generator in stdlib.h +// Source http://www.retroprogramming.com/2017/07/xorshift-pseudorandom-numbers-in-z80.html +// Information https://en.wikipedia.org/wiki/Xorshift + // Upstart +.pc = $801 "Basic" +:BasicUpstart(__bbegin) +.pc = $80d "Program" + // Global Constants & labels + // The default text color + .const CONIO_TEXTCOLOR_DEFAULT = $e + .const WHITE = 1 + .const LIGHT_BLUE = $e + .const OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS = 1 + // The screen width + // The screen height + // The screen bytes + // The text screen address + .label CONIO_SCREEN_TEXT = $400 + // The color screen address + .label CONIO_SCREEN_COLORS = $d800 + .label conio_cursor_x = $4c + .label conio_cursor_y = $4d + .label conio_cursor_text = $4e + .label conio_cursor_color = $50 + .label conio_textcolor = $52 + // The random state variable + .label rand_state = $99 + // The random state variable + .label rand_state_1 = $9d + // The random state variable + .label rand_state_2 = $3b + // @begin +__bbegin: + jmp __b1 + // @1 +__b1: + // [1] (byte) conio_cursor_x ← (byte) 0 -- vbuz1=vbuc1 + // The current cursor x-position + lda #0 + sta.z conio_cursor_x + // [2] (byte) conio_cursor_y ← (byte) 0 -- vbuz1=vbuc1 + // The current cursor y-position + lda #0 + sta.z conio_cursor_y + // [3] (byte*) conio_cursor_text ← (const nomodify byte*) CONIO_SCREEN_TEXT -- pbuz1=pbuc1 + // The current cursor address + lda #CONIO_SCREEN_TEXT + sta.z conio_cursor_text+1 + // [4] (byte*) conio_cursor_color ← (const nomodify byte*) CONIO_SCREEN_COLORS -- pbuz1=pbuc1 + // The current cursor address + lda #CONIO_SCREEN_COLORS + sta.z conio_cursor_color+1 + // [5] (byte) conio_textcolor ← (const nomodify byte) CONIO_TEXTCOLOR_DEFAULT -- vbuz1=vbuc1 + // The current text color + lda #CONIO_TEXTCOLOR_DEFAULT + sta.z conio_textcolor + // [6] phi from @1 to @2 [phi:@1->@2] +__b2_from___b1: + jmp __b2 + // @2 +__b2: + // [7] call main + // [9] phi from @2 to main [phi:@2->main] +main_from___b2: + jsr main + // [8] phi from @2 to @end [phi:@2->@end] +__bend_from___b2: + jmp __bend + // @end +__bend: + // main +main: { + .label __18 = $57 + .label first = $55 + .label cnt = 2 + .label rnd = 8 + .label row = 7 + .label col = 6 + // [10] call clrscr + // [280] phi from main to clrscr [phi:main->clrscr] + clrscr_from_main: + jsr clrscr + // [11] phi from main to main::@6 [phi:main->main::@6] + __b6_from_main: + jmp __b6 + // main::@6 + __b6: + // [12] call textcolor + // [214] phi from main::@6 to textcolor [phi:main::@6->textcolor] + textcolor_from___b6: + // [214] phi (byte) textcolor::color#3 = (const nomodify byte) WHITE [phi:main::@6->textcolor#0] -- vbuz1=vbuc1 + lda #WHITE + sta.z textcolor.color + jsr textcolor + // [13] phi from main::@6 to main::@7 [phi:main::@6->main::@7] + __b7_from___b6: + jmp __b7 + // main::@7 + __b7: + // [14] call cputs + // [157] phi from main::@7 to cputs [phi:main::@7->cputs] + cputs_from___b7: + // [157] phi (to_nomodify byte*) cputs::s#5 = (const byte*) main::s [phi:main::@7->cputs#0] -- pbuz1=pbuc1 + lda #s + sta.z cputs.s+1 + jsr cputs + // [15] phi from main::@7 to main::@8 [phi:main::@7->main::@8] + __b8_from___b7: + jmp __b8 + // main::@8 + __b8: + // [16] call rand + // [236] phi from main::@8 to rand [phi:main::@8->rand] + rand_from___b8: + // [236] phi (word) rand_state#9 = (word) 1 [phi:main::@8->rand#0] -- vwuz1=vwuc1 + lda #<1 + sta.z rand_state_2 + lda #>1 + sta.z rand_state_2+1 + jsr rand + // [17] (word) rand::return#2 ← (word) rand::return#0 -- vwuz1=vwuz2 + lda.z rand.return + sta.z rand.return_1 + lda.z rand.return+1 + sta.z rand.return_1+1 + jmp __b9 + // main::@9 + __b9: + // [18] (word) main::first#0 ← (word) rand::return#2 -- vwuz1=vwuz2 + lda.z rand.return_1 + sta.z first + lda.z rand.return_1+1 + sta.z first+1 + // [19] call textcolor + // [214] phi from main::@9 to textcolor [phi:main::@9->textcolor] + textcolor_from___b9: + // [214] phi (byte) textcolor::color#3 = (const nomodify byte) LIGHT_BLUE [phi:main::@9->textcolor#0] -- vbuz1=vbuc1 + lda #LIGHT_BLUE + sta.z textcolor.color + jsr textcolor + jmp __b10 + // main::@10 + __b10: + // [20] (word) main::rnd#5 ← (word) main::first#0 -- vwuz1=vwuz2 + lda.z first + sta.z rnd + lda.z first+1 + sta.z rnd+1 + // [21] phi from main::@10 to main::@1 [phi:main::@10->main::@1] + __b1_from___b10: + // [21] phi (word) main::rnd#2 = (word) main::rnd#5 [phi:main::@10->main::@1#0] -- register_copy + // [21] phi (byte) main::row#3 = (byte) 1 [phi:main::@10->main::@1#1] -- vbuz1=vbuc1 + lda #1 + sta.z row + // [21] phi (byte) main::col#3 = (byte) 3 [phi:main::@10->main::@1#2] -- vbuz1=vbuc1 + lda #3 + sta.z col + // [21] phi (dword) main::cnt#2 = (dword) 0 [phi:main::@10->main::@1#3] -- vduz1=vduc1 + lda #<0 + sta.z cnt + lda #>0 + sta.z cnt+1 + lda #<0>>$10 + sta.z cnt+2 + lda #>0>>$10 + sta.z cnt+3 + jmp __b1 + // [21] phi from main::@11 to main::@1 [phi:main::@11->main::@1] + __b1_from___b11: + // [21] phi (word) main::rnd#2 = (word) main::rnd#1 [phi:main::@11->main::@1#0] -- register_copy + // [21] phi (byte) main::row#3 = (byte) main::row#7 [phi:main::@11->main::@1#1] -- register_copy + // [21] phi (byte) main::col#3 = (byte) main::col#7 [phi:main::@11->main::@1#2] -- register_copy + // [21] phi (dword) main::cnt#2 = (dword) main::cnt#1 [phi:main::@11->main::@1#3] -- register_copy + jmp __b1 + // main::@1 + __b1: + // [22] (dword) main::cnt#1 ← ++ (dword) main::cnt#2 -- vduz1=_inc_vduz1 + inc.z cnt + bne !+ + inc.z cnt+1 + bne !+ + inc.z cnt+2 + bne !+ + inc.z cnt+3 + !: + // [23] (byte~) main::$18 ← (byte)(dword) main::cnt#1 -- vbuz1=_byte_vduz2 + lda.z cnt + sta.z __18 + // [24] if((byte~) main::$18!=(byte) 0) goto main::@2 -- vbuz1_neq_0_then_la1 + lda.z __18 + cmp #0 + bne __b2_from___b1 + jmp __b3 + // main::@3 + __b3: + // [25] (byte) gotoxy::x#2 ← (byte) main::col#3 -- vbuz1=vbuz2 + lda.z col + sta.z gotoxy.x + // [26] (byte) gotoxy::y#2 ← (byte) main::row#3 -- vbuz1=vbuz2 + lda.z row + sta.z gotoxy.y + // [27] call gotoxy + // [217] phi from main::@3 to gotoxy [phi:main::@3->gotoxy] + gotoxy_from___b3: + // [217] phi (byte) gotoxy::x#4 = (byte) gotoxy::x#2 [phi:main::@3->gotoxy#0] -- register_copy + // [217] phi (byte) gotoxy::y#4 = (byte) gotoxy::y#2 [phi:main::@3->gotoxy#1] -- register_copy + jsr gotoxy + jmp __b12 + // main::@12 + __b12: + // [28] (word) printf_uint::uvalue#0 ← (word) main::rnd#2 -- vwuz1=vwuz2 + lda.z rnd + sta.z printf_uint.uvalue + lda.z rnd+1 + sta.z printf_uint.uvalue+1 + // [29] call printf_uint + // [245] phi from main::@12 to printf_uint [phi:main::@12->printf_uint] + printf_uint_from___b12: + jsr printf_uint + jmp __b13 + // main::@13 + __b13: + // [30] (byte) main::row#1 ← ++ (byte) main::row#3 -- vbuz1=_inc_vbuz1 + inc.z row + // [31] if((byte) main::row#1!=(byte) $19) goto main::@2 -- vbuz1_neq_vbuc1_then_la1 + lda #$19 + cmp.z row + bne __b2_from___b13 + jmp __b4 + // main::@4 + __b4: + // [32] (byte) main::col#1 ← (byte) main::col#3 + (byte) 6 -- vbuz1=vbuz1_plus_vbuc1 + lax.z col + axs #-[6] + stx.z col + // [33] if((byte) main::col#1<(byte)(number) $28-(number) 5+(byte) 1) goto main::@17 -- vbuz1_lt_vbuc1_then_la1 + lda.z col + cmp #$28-5+1 + bcc __b17_from___b4 + // [35] phi from main::@4 to main::@2 [phi:main::@4->main::@2] + __b2_from___b4: + // [35] phi (byte) main::row#7 = (byte) 1 [phi:main::@4->main::@2#0] -- vbuz1=vbuc1 + lda #1 + sta.z row + // [35] phi (byte) main::col#7 = (byte) 3 [phi:main::@4->main::@2#1] -- vbuz1=vbuc1 + lda #3 + sta.z col + jmp __b2 + // [34] phi from main::@4 to main::@17 [phi:main::@4->main::@17] + __b17_from___b4: + jmp __b17 + // main::@17 + __b17: + // [35] phi from main::@17 to main::@2 [phi:main::@17->main::@2] + __b2_from___b17: + // [35] phi (byte) main::row#7 = (byte) 1 [phi:main::@17->main::@2#0] -- vbuz1=vbuc1 + lda #1 + sta.z row + // [35] phi (byte) main::col#7 = (byte) main::col#1 [phi:main::@17->main::@2#1] -- register_copy + jmp __b2 + // [35] phi from main::@1 main::@13 to main::@2 [phi:main::@1/main::@13->main::@2] + __b2_from___b1: + __b2_from___b13: + // [35] phi (byte) main::row#7 = (byte) main::row#3 [phi:main::@1/main::@13->main::@2#0] -- register_copy + // [35] phi (byte) main::col#7 = (byte) main::col#3 [phi:main::@1/main::@13->main::@2#1] -- register_copy + jmp __b2 + // main::@2 + __b2: + // [36] call rand + // [236] phi from main::@2 to rand [phi:main::@2->rand] + rand_from___b2: + // [236] phi (word) rand_state#9 = (word) rand_state#10 [phi:main::@2->rand#0] -- register_copy + jsr rand + // [37] (word) rand::return#3 ← (word) rand::return#0 -- vwuz1=vwuz2 + lda.z rand.return + sta.z rand.return_2 + lda.z rand.return+1 + sta.z rand.return_2+1 + jmp __b11 + // main::@11 + __b11: + // [38] (word) main::rnd#1 ← (word) rand::return#3 -- vwuz1=vwuz2 + lda.z rand.return_2 + sta.z rnd + lda.z rand.return_2+1 + sta.z rnd+1 + // [39] if((word) main::rnd#1!=(word) main::first#0) goto main::@1 -- vwuz1_neq_vwuz2_then_la1 + lda.z rnd+1 + cmp.z first+1 + bne __b1_from___b11 + lda.z rnd + cmp.z first + bne __b1_from___b11 + // [40] phi from main::@11 to main::@5 [phi:main::@11->main::@5] + __b5_from___b11: + jmp __b5 + // main::@5 + __b5: + // [41] call gotoxy + // [217] phi from main::@5 to gotoxy [phi:main::@5->gotoxy] + gotoxy_from___b5: + // [217] phi (byte) gotoxy::x#4 = (byte) $1c [phi:main::@5->gotoxy#0] -- vbuz1=vbuc1 + lda #$1c + sta.z gotoxy.x + // [217] phi (byte) gotoxy::y#4 = (byte) 0 [phi:main::@5->gotoxy#1] -- vbuz1=vbuc1 + lda #0 + sta.z gotoxy.y + jsr gotoxy + // [42] phi from main::@5 to main::@14 [phi:main::@5->main::@14] + __b14_from___b5: + jmp __b14 + // main::@14 + __b14: + // [43] call textcolor + // [214] phi from main::@14 to textcolor [phi:main::@14->textcolor] + textcolor_from___b14: + // [214] phi (byte) textcolor::color#3 = (const nomodify byte) WHITE [phi:main::@14->textcolor#0] -- vbuz1=vbuc1 + lda #WHITE + sta.z textcolor.color + jsr textcolor + // [44] phi from main::@14 to main::@15 [phi:main::@14->main::@15] + __b15_from___b14: + jmp __b15 + // main::@15 + __b15: + // [45] call cputs + // [157] phi from main::@15 to cputs [phi:main::@15->cputs] + cputs_from___b15: + // [157] phi (to_nomodify byte*) cputs::s#5 = (const byte*) main::s1 [phi:main::@15->cputs#0] -- pbuz1=pbuc1 + lda #s1 + sta.z cputs.s+1 + jsr cputs + jmp __b16 + // main::@16 + __b16: + // [46] (dword) printf_ulong::uvalue#0 ← (dword) main::cnt#1 -- vduz1=vduz2 + lda.z cnt + sta.z printf_ulong.uvalue + lda.z cnt+1 + sta.z printf_ulong.uvalue+1 + lda.z cnt+2 + sta.z printf_ulong.uvalue+2 + lda.z cnt+3 + sta.z printf_ulong.uvalue+3 + // [47] call printf_ulong + // [49] phi from main::@16 to printf_ulong [phi:main::@16->printf_ulong] + printf_ulong_from___b16: + jsr printf_ulong + jmp __breturn + // main::@return + __breturn: + // [48] return + rts + s: .text "generating unique randoms..." + .byte 0 + s1: .text "found " + .byte 0 +} + // printf_ulong +// Print an unsigned int using a specific format +// printf_ulong(dword zp($5c) uvalue) +printf_ulong: { + .const format_min_length = 0 + .const format_justify_left = 0 + .const format_zero_padding = 0 + .const format_upper_case = 0 + .label uvalue = $5c + jmp __b1 + // printf_ulong::@1 + __b1: + // [50] *((byte*)&(struct printf_buffer_number) printf_buffer) ← (byte) 0 -- _deref_pbuc1=vbuc2 + // Handle any sign + lda #0 + sta printf_buffer + // [51] (dword) ultoa::value#1 ← (dword) printf_ulong::uvalue#0 -- vduz1=vduz2 + lda.z uvalue + sta.z ultoa.value + lda.z uvalue+1 + sta.z ultoa.value+1 + lda.z uvalue+2 + sta.z ultoa.value+2 + lda.z uvalue+3 + sta.z ultoa.value+3 + // [52] call ultoa + // Format number into buffer + // [186] phi from printf_ulong::@1 to ultoa [phi:printf_ulong::@1->ultoa] + ultoa_from___b1: + jsr ultoa + jmp __b2 + // printf_ulong::@2 + __b2: + // [53] (byte) printf_number_buffer::buffer_sign#0 ← *((byte*)&(struct printf_buffer_number) printf_buffer) -- vbuz1=_deref_pbuc1 + lda printf_buffer + sta.z printf_number_buffer.buffer_sign + // [54] call printf_number_buffer + // Print using format + // [56] phi from printf_ulong::@2 to printf_number_buffer [phi:printf_ulong::@2->printf_number_buffer] + printf_number_buffer_from___b2: + // [56] phi (byte) printf_number_buffer::format_upper_case#10 = (const byte) printf_ulong::format_upper_case#0 [phi:printf_ulong::@2->printf_number_buffer#0] -- vbuz1=vbuc1 + lda #format_upper_case + sta.z printf_number_buffer.format_upper_case + // [56] phi (byte) printf_number_buffer::buffer_sign#10 = (byte) printf_number_buffer::buffer_sign#0 [phi:printf_ulong::@2->printf_number_buffer#1] -- register_copy + // [56] phi (byte) printf_number_buffer::format_zero_padding#10 = (const byte) printf_ulong::format_zero_padding#0 [phi:printf_ulong::@2->printf_number_buffer#2] -- vbuz1=vbuc1 + lda #format_zero_padding + sta.z printf_number_buffer.format_zero_padding + // [56] phi (byte) printf_number_buffer::format_justify_left#10 = (const byte) printf_ulong::format_justify_left#0 [phi:printf_ulong::@2->printf_number_buffer#3] -- vbuz1=vbuc1 + lda #format_justify_left + sta.z printf_number_buffer.format_justify_left + // [56] phi (byte) printf_number_buffer::format_min_length#2 = (const byte) printf_ulong::format_min_length#0 [phi:printf_ulong::@2->printf_number_buffer#4] -- vbuz1=vbuc1 + lda #format_min_length + sta.z printf_number_buffer.format_min_length + jsr printf_number_buffer + jmp __breturn + // printf_ulong::@return + __breturn: + // [55] return + rts +} + // 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 +// printf_number_buffer(byte zp($d) buffer_sign, byte zp($a) format_min_length, byte zp($b) format_justify_left, byte zp($c) format_zero_padding, byte zp($e) format_upper_case) +printf_number_buffer: { + .label __19 = $62 + .label buffer_sign = $d + .label len = $f + .label padding = $10 + .label format_min_length = $a + .label format_zero_padding = $c + .label format_justify_left = $b + .label format_upper_case = $e + // [57] if((byte) 0==(byte) printf_number_buffer::format_min_length#2) goto printf_number_buffer::@1 -- vbuc1_eq_vbuz1_then_la1 + lda #0 + cmp.z format_min_length + beq __b1_from_printf_number_buffer + // [58] phi from printf_number_buffer to printf_number_buffer::@6 [phi:printf_number_buffer->printf_number_buffer::@6] + __b6_from_printf_number_buffer: + jmp __b6 + // printf_number_buffer::@6 + __b6: + // [59] call strlen + // [180] phi from printf_number_buffer::@6 to strlen [phi:printf_number_buffer::@6->strlen] + strlen_from___b6: + jsr strlen + // [60] (word) strlen::return#2 ← (word) strlen::len#2 -- vwuz1=vwuz2 + lda.z strlen.len + sta.z strlen.return + lda.z strlen.len+1 + sta.z strlen.return+1 + jmp __b14 + // printf_number_buffer::@14 + __b14: + // [61] (word~) printf_number_buffer::$19 ← (word) strlen::return#2 -- vwuz1=vwuz2 + lda.z strlen.return + sta.z __19 + lda.z strlen.return+1 + sta.z __19+1 + // [62] (signed byte) printf_number_buffer::len#0 ← (signed byte)(word~) printf_number_buffer::$19 -- vbsz1=_sbyte_vwuz2 + // There is a minimum length - work out the padding + lda.z __19 + sta.z len + // [63] if((byte) 0==(byte) printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@13 -- vbuc1_eq_vbuz1_then_la1 + lda #0 + cmp.z buffer_sign + beq __b13_from___b14 + jmp __b7 + // printf_number_buffer::@7 + __b7: + // [64] (signed byte) printf_number_buffer::len#1 ← ++ (signed byte) printf_number_buffer::len#0 -- vbsz1=_inc_vbsz1 + inc.z len + // [65] phi from printf_number_buffer::@14 printf_number_buffer::@7 to printf_number_buffer::@13 [phi:printf_number_buffer::@14/printf_number_buffer::@7->printf_number_buffer::@13] + __b13_from___b14: + __b13_from___b7: + // [65] phi (signed byte) printf_number_buffer::len#2 = (signed byte) printf_number_buffer::len#0 [phi:printf_number_buffer::@14/printf_number_buffer::@7->printf_number_buffer::@13#0] -- register_copy + jmp __b13 + // printf_number_buffer::@13 + __b13: + // [66] (signed byte) printf_number_buffer::padding#1 ← (signed byte)(byte) printf_number_buffer::format_min_length#2 - (signed byte) printf_number_buffer::len#2 -- vbsz1=vbsz2_minus_vbsz3 + lda.z format_min_length + sec + sbc.z len + sta.z padding + // [67] if((signed byte) printf_number_buffer::padding#1>=(signed byte) 0) goto printf_number_buffer::@21 -- vbsz1_ge_0_then_la1 + lda.z padding + cmp #0 + bpl __b21_from___b13 + // [69] phi from printf_number_buffer printf_number_buffer::@13 to printf_number_buffer::@1 [phi:printf_number_buffer/printf_number_buffer::@13->printf_number_buffer::@1] + __b1_from_printf_number_buffer: + __b1_from___b13: + // [69] phi (signed byte) printf_number_buffer::padding#10 = (signed byte) 0 [phi:printf_number_buffer/printf_number_buffer::@13->printf_number_buffer::@1#0] -- vbsz1=vbsc1 + lda #0 + sta.z padding + jmp __b1 + // [68] phi from printf_number_buffer::@13 to printf_number_buffer::@21 [phi:printf_number_buffer::@13->printf_number_buffer::@21] + __b21_from___b13: + jmp __b21 + // printf_number_buffer::@21 + __b21: + // [69] phi from printf_number_buffer::@21 to printf_number_buffer::@1 [phi:printf_number_buffer::@21->printf_number_buffer::@1] + __b1_from___b21: + // [69] phi (signed byte) printf_number_buffer::padding#10 = (signed byte) printf_number_buffer::padding#1 [phi:printf_number_buffer::@21->printf_number_buffer::@1#0] -- register_copy + jmp __b1 + // printf_number_buffer::@1 + __b1: + // [70] if((byte) 0!=(byte) printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@2 -- vbuc1_neq_vbuz1_then_la1 + lda #0 + cmp.z format_justify_left + bne __b2 + jmp __b17 + // printf_number_buffer::@17 + __b17: + // [71] if((byte) 0!=(byte) printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2 -- vbuc1_neq_vbuz1_then_la1 + lda #0 + cmp.z format_zero_padding + bne __b2 + jmp __b16 + // printf_number_buffer::@16 + __b16: + // [72] if((signed byte) 0!=(signed byte) printf_number_buffer::padding#10) goto printf_number_buffer::@8 -- vbsc1_neq_vbsz1_then_la1 + lda #0 + cmp.z padding + bne __b8 + jmp __b2 + // printf_number_buffer::@8 + __b8: + // [73] (byte) printf_padding::length#0 ← (byte)(signed byte) printf_number_buffer::padding#10 -- vbuz1=vbuz2 + lda.z padding + sta.z printf_padding.length + // [74] call printf_padding + // [93] phi from printf_number_buffer::@8 to printf_padding [phi:printf_number_buffer::@8->printf_padding] + printf_padding_from___b8: + // [93] phi (byte) printf_padding::pad#5 = (byte) ' ' [phi:printf_number_buffer::@8->printf_padding#0] -- vbuz1=vbuc1 + lda #' ' + sta.z printf_padding.pad + // [93] phi (byte) printf_padding::length#4 = (byte) printf_padding::length#0 [phi:printf_number_buffer::@8->printf_padding#1] -- register_copy + jsr printf_padding + jmp __b2 + // printf_number_buffer::@2 + __b2: + // [75] if((byte) 0==(byte) printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@3 -- vbuc1_eq_vbuz1_then_la1 + lda #0 + cmp.z buffer_sign + beq __b3 + jmp __b9 + // printf_number_buffer::@9 + __b9: + // [76] (byte) cputc::c#2 ← (byte) printf_number_buffer::buffer_sign#10 -- vbuz1=vbuz2 + lda.z buffer_sign + sta.z cputc.c + // [77] call cputc + // [100] phi from printf_number_buffer::@9 to cputc [phi:printf_number_buffer::@9->cputc] + cputc_from___b9: + // [100] phi (byte) cputc::c#3 = (byte) cputc::c#2 [phi:printf_number_buffer::@9->cputc#0] -- register_copy + jsr cputc + jmp __b3 + // printf_number_buffer::@3 + __b3: + // [78] if((byte) 0==(byte) printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4 -- vbuc1_eq_vbuz1_then_la1 + lda #0 + cmp.z format_zero_padding + beq __b4 + jmp __b18 + // printf_number_buffer::@18 + __b18: + // [79] if((signed byte) 0!=(signed byte) printf_number_buffer::padding#10) goto printf_number_buffer::@10 -- vbsc1_neq_vbsz1_then_la1 + lda #0 + cmp.z padding + bne __b10 + jmp __b4 + // printf_number_buffer::@10 + __b10: + // [80] (byte) printf_padding::length#1 ← (byte)(signed byte) printf_number_buffer::padding#10 -- vbuz1=vbuz2 + lda.z padding + sta.z printf_padding.length + // [81] call printf_padding + // [93] phi from printf_number_buffer::@10 to printf_padding [phi:printf_number_buffer::@10->printf_padding] + printf_padding_from___b10: + // [93] phi (byte) printf_padding::pad#5 = (byte) '0' [phi:printf_number_buffer::@10->printf_padding#0] -- vbuz1=vbuc1 + lda #'0' + sta.z printf_padding.pad + // [93] phi (byte) printf_padding::length#4 = (byte) printf_padding::length#1 [phi:printf_number_buffer::@10->printf_padding#1] -- register_copy + jsr printf_padding + jmp __b4 + // printf_number_buffer::@4 + __b4: + // [82] if((byte) 0==(byte) printf_number_buffer::format_upper_case#10) goto printf_number_buffer::@5 -- vbuc1_eq_vbuz1_then_la1 + lda #0 + cmp.z format_upper_case + beq __b5_from___b4 + // [83] phi from printf_number_buffer::@4 to printf_number_buffer::@11 [phi:printf_number_buffer::@4->printf_number_buffer::@11] + __b11_from___b4: + jmp __b11 + // printf_number_buffer::@11 + __b11: + // [84] call strupr + // [165] phi from printf_number_buffer::@11 to strupr [phi:printf_number_buffer::@11->strupr] + strupr_from___b11: + jsr strupr + // [85] phi from printf_number_buffer::@11 printf_number_buffer::@4 to printf_number_buffer::@5 [phi:printf_number_buffer::@11/printf_number_buffer::@4->printf_number_buffer::@5] + __b5_from___b11: + __b5_from___b4: + jmp __b5 + // printf_number_buffer::@5 + __b5: + // [86] call cputs + // [157] phi from printf_number_buffer::@5 to cputs [phi:printf_number_buffer::@5->cputs] + cputs_from___b5: + // [157] phi (to_nomodify byte*) cputs::s#5 = (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:printf_number_buffer::@5->cputs#0] -- pbuz1=pbuc1 + lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + sta.z cputs.s+1 + jsr cputs + jmp __b15 + // printf_number_buffer::@15 + __b15: + // [87] if((byte) 0==(byte) printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@return -- vbuc1_eq_vbuz1_then_la1 + lda #0 + cmp.z format_justify_left + beq __breturn + jmp __b20 + // printf_number_buffer::@20 + __b20: + // [88] if((byte) 0!=(byte) printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@return -- vbuc1_neq_vbuz1_then_la1 + lda #0 + cmp.z format_zero_padding + bne __breturn + jmp __b19 + // printf_number_buffer::@19 + __b19: + // [89] if((signed byte) 0!=(signed byte) printf_number_buffer::padding#10) goto printf_number_buffer::@12 -- vbsc1_neq_vbsz1_then_la1 + lda #0 + cmp.z padding + bne __b12 + jmp __breturn + // printf_number_buffer::@12 + __b12: + // [90] (byte) printf_padding::length#2 ← (byte)(signed byte) printf_number_buffer::padding#10 -- vbuz1=vbuz2 + lda.z padding + sta.z printf_padding.length + // [91] call printf_padding + // [93] phi from printf_number_buffer::@12 to printf_padding [phi:printf_number_buffer::@12->printf_padding] + printf_padding_from___b12: + // [93] phi (byte) printf_padding::pad#5 = (byte) ' ' [phi:printf_number_buffer::@12->printf_padding#0] -- vbuz1=vbuc1 + lda #' ' + sta.z printf_padding.pad + // [93] phi (byte) printf_padding::length#4 = (byte) printf_padding::length#2 [phi:printf_number_buffer::@12->printf_padding#1] -- register_copy + jsr printf_padding + jmp __breturn + // printf_number_buffer::@return + __breturn: + // [92] return + rts +} + // printf_padding +// Print a padding char a number of times +// printf_padding(byte zp($12) pad, byte zp($11) length) +printf_padding: { + .label i = $13 + .label length = $11 + .label pad = $12 + // [94] phi from printf_padding to printf_padding::@1 [phi:printf_padding->printf_padding::@1] + __b1_from_printf_padding: + // [94] phi (byte) printf_padding::i#2 = (byte) 0 [phi:printf_padding->printf_padding::@1#0] -- vbuz1=vbuc1 + lda #0 + sta.z i + jmp __b1 + // printf_padding::@1 + __b1: + // [95] if((byte) printf_padding::i#2<(byte) printf_padding::length#4) goto printf_padding::@2 -- vbuz1_lt_vbuz2_then_la1 + lda.z i + cmp.z length + bcc __b2 + jmp __breturn + // printf_padding::@return + __breturn: + // [96] return + rts + // printf_padding::@2 + __b2: + // [97] (byte) cputc::c#1 ← (byte) printf_padding::pad#5 -- vbuz1=vbuz2 + lda.z pad + sta.z cputc.c + // [98] call cputc + // [100] phi from printf_padding::@2 to cputc [phi:printf_padding::@2->cputc] + cputc_from___b2: + // [100] phi (byte) cputc::c#3 = (byte) cputc::c#1 [phi:printf_padding::@2->cputc#0] -- register_copy + jsr cputc + jmp __b3 + // printf_padding::@3 + __b3: + // [99] (byte) printf_padding::i#1 ← ++ (byte) printf_padding::i#2 -- vbuz1=_inc_vbuz1 + inc.z i + // [94] phi from printf_padding::@3 to printf_padding::@1 [phi:printf_padding::@3->printf_padding::@1] + __b1_from___b3: + // [94] phi (byte) printf_padding::i#2 = (byte) printf_padding::i#1 [phi:printf_padding::@3->printf_padding::@1#0] -- register_copy + jmp __b1 +} + // cputc +// Output one character at the current cursor position +// Moves the cursor forward. Scrolls the entire screen if needed +// cputc(byte zp($14) c) +cputc: { + .label c = $14 + // [101] if((byte) cputc::c#3==(byte) ' ') goto cputc::@1 -- vbuz1_eq_vbuc1_then_la1 + lda #'\n' + cmp.z c + beq __b1_from_cputc + jmp __b2 + // cputc::@2 + __b2: + // [102] *((byte*) conio_cursor_text) ← (byte) cputc::c#3 -- _deref_pbuz1=vbuz2 + lda.z c + ldy #0 + sta (conio_cursor_text),y + // [103] (byte*) conio_cursor_text ← ++ (byte*) conio_cursor_text -- pbuz1=_inc_pbuz1 + inc.z conio_cursor_text + bne !+ + inc.z conio_cursor_text+1 + !: + // [104] *((byte*) conio_cursor_color) ← (byte) conio_textcolor -- _deref_pbuz1=vbuz2 + lda.z conio_textcolor + ldy #0 + sta (conio_cursor_color),y + // [105] (byte*) conio_cursor_color ← ++ (byte*) conio_cursor_color -- pbuz1=_inc_pbuz1 + inc.z conio_cursor_color + bne !+ + inc.z conio_cursor_color+1 + !: + // [106] (byte) conio_cursor_x ← ++ (byte) conio_cursor_x -- vbuz1=_inc_vbuz1 + inc.z conio_cursor_x + // [107] if((byte) conio_cursor_x!=(byte) $28) goto cputc::@return -- vbuz1_neq_vbuc1_then_la1 + lda #$28 + cmp.z conio_cursor_x + bne __breturn + jmp __b3 + // cputc::@3 + __b3: + // [108] (byte) conio_cursor_x ← (byte) 0 -- vbuz1=vbuc1 + lda #0 + sta.z conio_cursor_x + // [109] (byte) conio_cursor_y ← ++ (byte) conio_cursor_y -- vbuz1=_inc_vbuz1 + inc.z conio_cursor_y + // [110] call cscroll + jsr cscroll + jmp __breturn + // cputc::@return + __breturn: + // [111] return + rts + // [112] phi from cputc to cputc::@1 [phi:cputc->cputc::@1] + __b1_from_cputc: + jmp __b1 + // cputc::@1 + __b1: + // [113] call cputln + jsr cputln + jmp __breturn +} + // cputln +// Print a newline +cputln: { + .label __0 = $64 + .label __1 = $66 + .label __2 = $68 + .label __3 = $6a + // [114] (byte*~) cputln::$0 ← (byte*) conio_cursor_text - (byte) conio_cursor_x -- pbuz1=pbuz2_minus_vbuz3 + sec + lda.z conio_cursor_text + sbc.z conio_cursor_x + sta.z __0 + lda.z conio_cursor_text+1 + sbc #0 + sta.z __0+1 + // [115] (byte*~) cputln::$1 ← (byte*~) cputln::$0 + (byte) $28 -- pbuz1=pbuz2_plus_vbuc1 + lda #$28 + clc + adc.z __0 + sta.z __1 + lda #0 + adc.z __0+1 + sta.z __1+1 + // [116] (byte*) conio_cursor_text ← (byte*~) cputln::$1 -- pbuz1=pbuz2 + lda.z __1 + sta.z conio_cursor_text + lda.z __1+1 + sta.z conio_cursor_text+1 + // [117] (byte*~) cputln::$2 ← (byte*) conio_cursor_color - (byte) conio_cursor_x -- pbuz1=pbuz2_minus_vbuz3 + sec + lda.z conio_cursor_color + sbc.z conio_cursor_x + sta.z __2 + lda.z conio_cursor_color+1 + sbc #0 + sta.z __2+1 + // [118] (byte*~) cputln::$3 ← (byte*~) cputln::$2 + (byte) $28 -- pbuz1=pbuz2_plus_vbuc1 + lda #$28 + clc + adc.z __2 + sta.z __3 + lda #0 + adc.z __2+1 + sta.z __3+1 + // [119] (byte*) conio_cursor_color ← (byte*~) cputln::$3 -- pbuz1=pbuz2 + lda.z __3 + sta.z conio_cursor_color + lda.z __3+1 + sta.z conio_cursor_color+1 + // [120] (byte) conio_cursor_x ← (byte) 0 -- vbuz1=vbuc1 + lda #0 + sta.z conio_cursor_x + // [121] (byte) conio_cursor_y ← ++ (byte) conio_cursor_y -- vbuz1=_inc_vbuz1 + inc.z conio_cursor_y + // [122] call cscroll + jsr cscroll + jmp __breturn + // cputln::@return + __breturn: + // [123] return + rts +} + // cscroll +// Scroll the entire screen if the cursor is beyond the last line +cscroll: { + .label __7 = $6c + .label __8 = $6e + // [124] if((byte) conio_cursor_y!=(byte) $19) goto cscroll::@return -- vbuz1_neq_vbuc1_then_la1 + lda #$19 + cmp.z conio_cursor_y + bne __breturn + // [125] phi from cscroll to cscroll::@1 [phi:cscroll->cscroll::@1] + __b1_from_cscroll: + jmp __b1 + // cscroll::@1 + __b1: + // [126] call memcpy + // [147] phi from cscroll::@1 to memcpy [phi:cscroll::@1->memcpy] + memcpy_from___b1: + // [147] phi (void*) memcpy::destination#2 = (void*)(const nomodify byte*) CONIO_SCREEN_TEXT [phi:cscroll::@1->memcpy#0] -- pvoz1=pvoc1 + lda #CONIO_SCREEN_TEXT + sta.z memcpy.destination+1 + // [147] phi (void*) memcpy::source#2 = (void*)(const nomodify byte*) CONIO_SCREEN_TEXT+(byte) $28 [phi:cscroll::@1->memcpy#1] -- pvoz1=pvoc1 + lda #CONIO_SCREEN_TEXT+$28 + sta.z memcpy.source+1 + jsr memcpy + // [127] phi from cscroll::@1 to cscroll::@2 [phi:cscroll::@1->cscroll::@2] + __b2_from___b1: + jmp __b2 + // cscroll::@2 + __b2: + // [128] call memcpy + // [147] phi from cscroll::@2 to memcpy [phi:cscroll::@2->memcpy] + memcpy_from___b2: + // [147] phi (void*) memcpy::destination#2 = (void*)(const nomodify byte*) CONIO_SCREEN_COLORS [phi:cscroll::@2->memcpy#0] -- pvoz1=pvoc1 + lda #CONIO_SCREEN_COLORS + sta.z memcpy.destination+1 + // [147] phi (void*) memcpy::source#2 = (void*)(const nomodify byte*) CONIO_SCREEN_COLORS+(byte) $28 [phi:cscroll::@2->memcpy#1] -- pvoz1=pvoc1 + lda #CONIO_SCREEN_COLORS+$28 + sta.z memcpy.source+1 + jsr memcpy + // [129] phi from cscroll::@2 to cscroll::@3 [phi:cscroll::@2->cscroll::@3] + __b3_from___b2: + jmp __b3 + // cscroll::@3 + __b3: + // [130] call memset + // [139] phi from cscroll::@3 to memset [phi:cscroll::@3->memset] + memset_from___b3: + // [139] phi (byte) memset::c#4 = (byte) ' ' [phi:cscroll::@3->memset#0] -- vbuz1=vbuc1 + lda #' ' + sta.z memset.c + // [139] phi (void*) memset::str#3 = (void*)(const nomodify byte*) CONIO_SCREEN_TEXT+(word)(number) $19*(number) $28-(byte) $28 [phi:cscroll::@3->memset#1] -- pvoz1=pvoc1 + lda #CONIO_SCREEN_TEXT+$19*$28-$28 + sta.z memset.str+1 + jsr memset + jmp __b4 + // cscroll::@4 + __b4: + // [131] (byte) memset::c#1 ← (byte) conio_textcolor -- vbuz1=vbuz2 + lda.z conio_textcolor + sta.z memset.c + // [132] call memset + // [139] phi from cscroll::@4 to memset [phi:cscroll::@4->memset] + memset_from___b4: + // [139] phi (byte) memset::c#4 = (byte) memset::c#1 [phi:cscroll::@4->memset#0] -- register_copy + // [139] phi (void*) memset::str#3 = (void*)(const nomodify byte*) CONIO_SCREEN_COLORS+(word)(number) $19*(number) $28-(byte) $28 [phi:cscroll::@4->memset#1] -- pvoz1=pvoc1 + lda #CONIO_SCREEN_COLORS+$19*$28-$28 + sta.z memset.str+1 + jsr memset + jmp __b5 + // cscroll::@5 + __b5: + // [133] (byte*~) cscroll::$7 ← (byte*) conio_cursor_text - (byte) $28 -- pbuz1=pbuz2_minus_vwuc1 + lda.z conio_cursor_text + sec + sbc #<$28 + sta.z __7 + lda.z conio_cursor_text+1 + sbc #>$28 + sta.z __7+1 + // [134] (byte*) conio_cursor_text ← (byte*~) cscroll::$7 -- pbuz1=pbuz2 + lda.z __7 + sta.z conio_cursor_text + lda.z __7+1 + sta.z conio_cursor_text+1 + // [135] (byte*~) cscroll::$8 ← (byte*) conio_cursor_color - (byte) $28 -- pbuz1=pbuz2_minus_vwuc1 + lda.z conio_cursor_color + sec + sbc #<$28 + sta.z __8 + lda.z conio_cursor_color+1 + sbc #>$28 + sta.z __8+1 + // [136] (byte*) conio_cursor_color ← (byte*~) cscroll::$8 -- pbuz1=pbuz2 + lda.z __8 + sta.z conio_cursor_color + lda.z __8+1 + sta.z conio_cursor_color+1 + // [137] (byte) conio_cursor_y ← -- (byte) conio_cursor_y -- vbuz1=_dec_vbuz1 + dec.z conio_cursor_y + jmp __breturn + // cscroll::@return + __breturn: + // [138] return + rts +} + // memset +// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str. +// memset(void* zp($15) str, byte zp($17) c) +memset: { + .label end = $70 + .label dst = $18 + .label c = $17 + .label str = $15 + jmp __b1 + // memset::@1 + __b1: + // [140] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (byte) $28 -- pbuz1=pbuz2_plus_vbuc1 + lda #$28 + clc + adc.z str + sta.z end + lda #0 + adc.z str+1 + sta.z end+1 + // [141] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3 -- pbuz1=pbuz2 + lda.z str + sta.z dst + lda.z str+1 + sta.z dst+1 + // [142] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2] + __b2_from___b1: + __b2_from___b3: + // [142] phi (byte*) memset::dst#2 = (byte*) memset::dst#4 [phi:memset::@1/memset::@3->memset::@2#0] -- register_copy + jmp __b2 + // memset::@2 + __b2: + // [143] if((byte*) memset::dst#2!=(byte*) 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: + // [144] return + rts + // memset::@3 + __b3: + // [145] *((byte*) memset::dst#2) ← (byte) memset::c#4 -- _deref_pbuz1=vbuz2 + lda.z c + ldy #0 + sta (dst),y + // [146] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 + inc.z dst + bne !+ + inc.z dst+1 + !: + jmp __b2_from___b3 +} + // 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. +// memcpy(void* zp($1c) destination, void* zp($1a) source) +memcpy: { + .label src_end = $72 + .label dst = $20 + .label src = $1e + .label source = $1a + .label destination = $1c + // [148] (byte*) memcpy::src_end#0 ← (byte*)(void*) memcpy::source#2 + (word)(number) $19*(number) $28-(number) $28 -- pbuz1=pbuz2_plus_vwuc1 + lda.z source + clc + adc #<$19*$28-$28 + sta.z src_end + lda.z source+1 + adc #>$19*$28-$28 + sta.z src_end+1 + // [149] (byte*) memcpy::src#4 ← (byte*)(void*) memcpy::source#2 -- pbuz1=pbuz2 + lda.z source + sta.z src + lda.z source+1 + sta.z src+1 + // [150] (byte*) memcpy::dst#4 ← (byte*)(void*) memcpy::destination#2 -- pbuz1=pbuz2 + lda.z destination + sta.z dst + lda.z destination+1 + sta.z dst+1 + // [151] phi from memcpy memcpy::@2 to memcpy::@1 [phi:memcpy/memcpy::@2->memcpy::@1] + __b1_from_memcpy: + __b1_from___b2: + // [151] phi (byte*) memcpy::dst#2 = (byte*) memcpy::dst#4 [phi:memcpy/memcpy::@2->memcpy::@1#0] -- register_copy + // [151] phi (byte*) memcpy::src#2 = (byte*) memcpy::src#4 [phi:memcpy/memcpy::@2->memcpy::@1#1] -- register_copy + jmp __b1 + // memcpy::@1 + __b1: + // [152] if((byte*) memcpy::src#2!=(byte*) 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: + // [153] return + rts + // memcpy::@2 + __b2: + // [154] *((byte*) memcpy::dst#2) ← *((byte*) memcpy::src#2) -- _deref_pbuz1=_deref_pbuz2 + ldy #0 + lda (src),y + ldy #0 + sta (dst),y + // [155] (byte*) memcpy::dst#1 ← ++ (byte*) memcpy::dst#2 -- pbuz1=_inc_pbuz1 + inc.z dst + bne !+ + inc.z dst+1 + !: + // [156] (byte*) memcpy::src#1 ← ++ (byte*) memcpy::src#2 -- pbuz1=_inc_pbuz1 + inc.z src + bne !+ + inc.z src+1 + !: + jmp __b1_from___b2 +} + // cputs +// Output a NUL-terminated string at the current cursor position +// cputs(byte* zp($22) s) +cputs: { + .label c = $74 + .label s = $22 + // [158] phi from cputs cputs::@2 to cputs::@1 [phi:cputs/cputs::@2->cputs::@1] + __b1_from_cputs: + __b1_from___b2: + // [158] phi (to_nomodify byte*) cputs::s#4 = (to_nomodify byte*) cputs::s#5 [phi:cputs/cputs::@2->cputs::@1#0] -- register_copy + jmp __b1 + // cputs::@1 + __b1: + // [159] (byte) cputs::c#1 ← *((to_nomodify byte*) cputs::s#4) -- vbuz1=_deref_pbuz2 + ldy #0 + lda (s),y + sta.z c + // [160] (to_nomodify byte*) cputs::s#0 ← ++ (to_nomodify byte*) cputs::s#4 -- pbuz1=_inc_pbuz1 + inc.z s + bne !+ + inc.z s+1 + !: + // [161] if((byte) 0!=(byte) cputs::c#1) goto cputs::@2 -- vbuc1_neq_vbuz1_then_la1 + lda #0 + cmp.z c + bne __b2 + jmp __breturn + // cputs::@return + __breturn: + // [162] return + rts + // cputs::@2 + __b2: + // [163] (byte) cputc::c#0 ← (byte) cputs::c#1 -- vbuz1=vbuz2 + lda.z c + sta.z cputc.c + // [164] call cputc + // [100] phi from cputs::@2 to cputc [phi:cputs::@2->cputc] + cputc_from___b2: + // [100] phi (byte) cputc::c#3 = (byte) cputc::c#0 [phi:cputs::@2->cputc#0] -- register_copy + jsr cputc + jmp __b1_from___b2 +} + // strupr +// Converts a string to uppercase. +strupr: { + .label str = printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + .label __0 = $76 + .label src = $24 + // [166] phi from strupr to strupr::@1 [phi:strupr->strupr::@1] + __b1_from_strupr: + // [166] phi (byte*) strupr::src#2 = (const byte*) strupr::str#0 [phi:strupr->strupr::@1#0] -- pbuz1=pbuc1 + lda #str + sta.z src+1 + jmp __b1 + // strupr::@1 + __b1: + // [167] if((byte) 0!=*((byte*) strupr::src#2)) goto strupr::@2 -- vbuc1_neq__deref_pbuz1_then_la1 + ldy #0 + lda (src),y + cmp #0 + bne __b2 + jmp __breturn + // strupr::@return + __breturn: + // [168] return + rts + // strupr::@2 + __b2: + // [169] (byte) toupper::ch#0 ← *((byte*) strupr::src#2) -- vbuz1=_deref_pbuz2 + ldy #0 + lda (src),y + sta.z toupper.ch + // [170] call toupper + jsr toupper + // [171] (byte) toupper::return#3 ← (byte) toupper::return#2 -- vbuz1=vbuz2 + lda.z toupper.return + sta.z toupper.return_1 + jmp __b3 + // strupr::@3 + __b3: + // [172] (byte~) strupr::$0 ← (byte) toupper::return#3 -- vbuz1=vbuz2 + lda.z toupper.return_1 + sta.z __0 + // [173] *((byte*) strupr::src#2) ← (byte~) strupr::$0 -- _deref_pbuz1=vbuz2 + lda.z __0 + ldy #0 + sta (src),y + // [174] (byte*) strupr::src#1 ← ++ (byte*) strupr::src#2 -- pbuz1=_inc_pbuz1 + inc.z src + bne !+ + inc.z src+1 + !: + // [166] phi from strupr::@3 to strupr::@1 [phi:strupr::@3->strupr::@1] + __b1_from___b3: + // [166] phi (byte*) strupr::src#2 = (byte*) strupr::src#1 [phi:strupr::@3->strupr::@1#0] -- register_copy + jmp __b1 +} + // toupper +// Convert lowercase alphabet to uppercase +// Returns uppercase equivalent to c, if such value exists, else c remains unchanged +// toupper(byte zp($26) ch) +toupper: { + .label return = $26 + .label ch = $26 + .label return_1 = $75 + // [175] if((byte) toupper::ch#0<(byte) 'a') goto toupper::@return -- vbuz1_lt_vbuc1_then_la1 + lda.z ch + cmp #'a' + bcc __breturn_from_toupper + jmp __b2 + // toupper::@2 + __b2: + // [176] if((byte) toupper::ch#0<=(byte) 'z') goto toupper::@1 -- vbuz1_le_vbuc1_then_la1 + lda #'z' + cmp.z ch + bcs __b1 + // [178] phi from toupper toupper::@1 toupper::@2 to toupper::@return [phi:toupper/toupper::@1/toupper::@2->toupper::@return] + __breturn_from_toupper: + __breturn_from___b1: + __breturn_from___b2: + // [178] phi (byte) toupper::return#2 = (byte) toupper::ch#0 [phi:toupper/toupper::@1/toupper::@2->toupper::@return#0] -- register_copy + jmp __breturn + // toupper::@1 + __b1: + // [177] (byte) toupper::return#0 ← (byte) toupper::ch#0 + (byte) 'A'-(byte) 'a' -- vbuz1=vbuz1_plus_vbuc1 + lax.z return + axs #-['A'-'a'] + stx.z return + jmp __breturn_from___b1 + // toupper::@return + __breturn: + // [179] return + rts +} + // strlen +// Computes the length of the string str up to but not including the terminating null character. +// strlen(byte* zp($27) str) +strlen: { + .label len = $29 + .label str = $27 + .label return = $60 + // [181] phi from strlen to strlen::@1 [phi:strlen->strlen::@1] + __b1_from_strlen: + // [181] phi (word) strlen::len#2 = (word) 0 [phi:strlen->strlen::@1#0] -- vwuz1=vwuc1 + lda #<0 + sta.z len + lda #>0 + sta.z len+1 + // [181] phi (byte*) strlen::str#2 = (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:strlen->strlen::@1#1] -- pbuz1=pbuc1 + lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + sta.z str+1 + jmp __b1 + // strlen::@1 + __b1: + // [182] if((byte) 0!=*((byte*) strlen::str#2)) goto strlen::@2 -- vbuc1_neq__deref_pbuz1_then_la1 + ldy #0 + lda (str),y + cmp #0 + bne __b2 + jmp __breturn + // strlen::@return + __breturn: + // [183] return + rts + // strlen::@2 + __b2: + // [184] (word) strlen::len#1 ← ++ (word) strlen::len#2 -- vwuz1=_inc_vwuz1 + inc.z len + bne !+ + inc.z len+1 + !: + // [185] (byte*) strlen::str#0 ← ++ (byte*) strlen::str#2 -- pbuz1=_inc_pbuz1 + inc.z str + bne !+ + inc.z str+1 + !: + // [181] phi from strlen::@2 to strlen::@1 [phi:strlen::@2->strlen::@1] + __b1_from___b2: + // [181] phi (word) strlen::len#2 = (word) strlen::len#1 [phi:strlen::@2->strlen::@1#0] -- register_copy + // [181] phi (byte*) strlen::str#2 = (byte*) strlen::str#0 [phi:strlen::@2->strlen::@1#1] -- register_copy + jmp __b1 +} + // ultoa +// Converts unsigned number value to a string representing it in RADIX format. +// If the leading digits are zero they are not included in the string. +// - value : The number to be converted to RADIX +// - buffer : receives the string representing the number and zero-termination. +// - radix : The radix to convert the number to (from the enum RADIX) +// ultoa(dword zp($2c) value, byte* zp($78) buffer) +ultoa: { + .const max_digits = $a + .label __10 = $7a + .label __11 = $77 + .label digit_value = $7b + .label buffer = $78 + .label digit = $2b + .label value = $2c + .label buffer_1 = $31 + .label started = $30 + // [187] phi from ultoa to ultoa::@1 [phi:ultoa->ultoa::@1] + __b1_from_ultoa: + // [187] phi (byte*) ultoa::buffer#11 = (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:ultoa->ultoa::@1#0] -- pbuz1=pbuc1 + lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + sta.z buffer_1+1 + // [187] phi (byte) ultoa::started#2 = (byte) 0 [phi:ultoa->ultoa::@1#1] -- vbuz1=vbuc1 + lda #0 + sta.z started + // [187] phi (dword) ultoa::value#2 = (dword) ultoa::value#1 [phi:ultoa->ultoa::@1#2] -- register_copy + // [187] phi (byte) ultoa::digit#2 = (byte) 0 [phi:ultoa->ultoa::@1#3] -- vbuz1=vbuc1 + lda #0 + sta.z digit + jmp __b1 + // ultoa::@1 + __b1: + // [188] if((byte) ultoa::digit#2<(const byte) ultoa::max_digits#1-(byte) 1) goto ultoa::@2 -- vbuz1_lt_vbuc1_then_la1 + lda.z digit + cmp #max_digits-1 + bcc __b2 + jmp __b3 + // ultoa::@3 + __b3: + // [189] (byte~) ultoa::$11 ← (byte)(dword) ultoa::value#2 -- vbuz1=_byte_vduz2 + lda.z value + sta.z __11 + // [190] *((byte*) ultoa::buffer#11) ← *((const byte*) DIGITS + (byte~) ultoa::$11) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 + ldy.z __11 + lda DIGITS,y + ldy #0 + sta (buffer_1),y + // [191] (byte*) ultoa::buffer#3 ← ++ (byte*) ultoa::buffer#11 -- pbuz1=_inc_pbuz2 + lda.z buffer_1 + clc + adc #1 + sta.z buffer + lda.z buffer_1+1 + adc #0 + sta.z buffer+1 + // [192] *((byte*) ultoa::buffer#3) ← (byte) 0 -- _deref_pbuz1=vbuc1 + lda #0 + ldy #0 + sta (buffer),y + jmp __breturn + // ultoa::@return + __breturn: + // [193] return + rts + // ultoa::@2 + __b2: + // [194] (byte~) ultoa::$10 ← (byte) ultoa::digit#2 << (byte) 2 -- vbuz1=vbuz2_rol_2 + lda.z digit + asl + asl + sta.z __10 + // [195] (dword) ultoa::digit_value#0 ← *((const dword*) RADIX_DECIMAL_VALUES_LONG + (byte~) ultoa::$10) -- vduz1=pduc1_derefidx_vbuz2 + ldy.z __10 + lda RADIX_DECIMAL_VALUES_LONG,y + sta.z digit_value + lda RADIX_DECIMAL_VALUES_LONG+1,y + sta.z digit_value+1 + lda RADIX_DECIMAL_VALUES_LONG+2,y + sta.z digit_value+2 + lda RADIX_DECIMAL_VALUES_LONG+3,y + sta.z digit_value+3 + // [196] if((byte) 0!=(byte) ultoa::started#2) goto ultoa::@5 -- vbuc1_neq_vbuz1_then_la1 + lda #0 + cmp.z started + bne __b5 + jmp __b7 + // ultoa::@7 + __b7: + // [197] if((dword) ultoa::value#2>=(dword) ultoa::digit_value#0) goto ultoa::@5 -- vduz1_ge_vduz2_then_la1 + lda.z value+3 + cmp.z digit_value+3 + bcc !+ + bne __b5 + lda.z value+2 + cmp.z digit_value+2 + bcc !+ + bne __b5 + lda.z value+1 + cmp.z digit_value+1 + bcc !+ + bne __b5 + lda.z value + cmp.z digit_value + bcs __b5 + !: + // [198] phi from ultoa::@7 to ultoa::@4 [phi:ultoa::@7->ultoa::@4] + __b4_from___b7: + // [198] phi (byte*) ultoa::buffer#14 = (byte*) ultoa::buffer#11 [phi:ultoa::@7->ultoa::@4#0] -- register_copy + // [198] phi (byte) ultoa::started#4 = (byte) ultoa::started#2 [phi:ultoa::@7->ultoa::@4#1] -- register_copy + // [198] phi (dword) ultoa::value#6 = (dword) ultoa::value#2 [phi:ultoa::@7->ultoa::@4#2] -- register_copy + jmp __b4 + // ultoa::@4 + __b4: + // [199] (byte) ultoa::digit#1 ← ++ (byte) ultoa::digit#2 -- vbuz1=_inc_vbuz1 + inc.z digit + // [187] phi from ultoa::@4 to ultoa::@1 [phi:ultoa::@4->ultoa::@1] + __b1_from___b4: + // [187] phi (byte*) ultoa::buffer#11 = (byte*) ultoa::buffer#14 [phi:ultoa::@4->ultoa::@1#0] -- register_copy + // [187] phi (byte) ultoa::started#2 = (byte) ultoa::started#4 [phi:ultoa::@4->ultoa::@1#1] -- register_copy + // [187] phi (dword) ultoa::value#2 = (dword) ultoa::value#6 [phi:ultoa::@4->ultoa::@1#2] -- register_copy + // [187] phi (byte) ultoa::digit#2 = (byte) ultoa::digit#1 [phi:ultoa::@4->ultoa::@1#3] -- register_copy + jmp __b1 + // ultoa::@5 + __b5: + // [200] (byte*) ultoa_append::buffer#0 ← (byte*) ultoa::buffer#11 -- pbuz1=pbuz2 + lda.z buffer_1 + sta.z ultoa_append.buffer + lda.z buffer_1+1 + sta.z ultoa_append.buffer+1 + // [201] (dword) ultoa_append::value#0 ← (dword) ultoa::value#2 -- vduz1=vduz2 + lda.z value + sta.z ultoa_append.value + lda.z value+1 + sta.z ultoa_append.value+1 + lda.z value+2 + sta.z ultoa_append.value+2 + lda.z value+3 + sta.z ultoa_append.value+3 + // [202] (dword) ultoa_append::sub#0 ← (dword) ultoa::digit_value#0 -- vduz1=vduz2 + lda.z digit_value + sta.z ultoa_append.sub + lda.z digit_value+1 + sta.z ultoa_append.sub+1 + lda.z digit_value+2 + sta.z ultoa_append.sub+2 + lda.z digit_value+3 + sta.z ultoa_append.sub+3 + // [203] call ultoa_append + // [207] phi from ultoa::@5 to ultoa_append [phi:ultoa::@5->ultoa_append] + ultoa_append_from___b5: + jsr ultoa_append + // [204] (dword) ultoa_append::return#0 ← (dword) ultoa_append::value#2 -- vduz1=vduz2 + lda.z ultoa_append.value + sta.z ultoa_append.return + lda.z ultoa_append.value+1 + sta.z ultoa_append.return+1 + lda.z ultoa_append.value+2 + sta.z ultoa_append.return+2 + lda.z ultoa_append.value+3 + sta.z ultoa_append.return+3 + jmp __b6 + // ultoa::@6 + __b6: + // [205] (dword) ultoa::value#0 ← (dword) ultoa_append::return#0 -- vduz1=vduz2 + lda.z ultoa_append.return + sta.z value + lda.z ultoa_append.return+1 + sta.z value+1 + lda.z ultoa_append.return+2 + sta.z value+2 + lda.z ultoa_append.return+3 + sta.z value+3 + // [206] (byte*) ultoa::buffer#4 ← ++ (byte*) ultoa::buffer#11 -- pbuz1=_inc_pbuz1 + inc.z buffer_1 + bne !+ + inc.z buffer_1+1 + !: + // [198] phi from ultoa::@6 to ultoa::@4 [phi:ultoa::@6->ultoa::@4] + __b4_from___b6: + // [198] phi (byte*) ultoa::buffer#14 = (byte*) ultoa::buffer#4 [phi:ultoa::@6->ultoa::@4#0] -- register_copy + // [198] phi (byte) ultoa::started#4 = (byte) 1 [phi:ultoa::@6->ultoa::@4#1] -- vbuz1=vbuc1 + lda #1 + sta.z started + // [198] phi (dword) ultoa::value#6 = (dword) ultoa::value#0 [phi:ultoa::@6->ultoa::@4#2] -- register_copy + jmp __b4 +} + // ultoa_append +// Used to convert a single digit of an unsigned number value to a string representation +// Counts a single digit up from '0' as long as the value is larger than sub. +// Each time the digit is increased sub is subtracted from value. +// - buffer : pointer to the char that receives the digit +// - value : The value where the digit will be derived from +// - sub : the value of a '1' in the digit. Subtracted continually while the digit is increased. +// (For decimal the subs used are 10000, 1000, 100, 10, 1) +// returns : the value reduced by sub * digit so that it is less than sub. +// ultoa_append(byte* zp($7f) buffer, dword zp($33) value, dword zp($81) sub) +ultoa_append: { + .label buffer = $7f + .label value = $33 + .label sub = $81 + .label return = $85 + .label digit = $37 + // [208] phi from ultoa_append to ultoa_append::@1 [phi:ultoa_append->ultoa_append::@1] + __b1_from_ultoa_append: + // [208] phi (byte) ultoa_append::digit#2 = (byte) 0 [phi:ultoa_append->ultoa_append::@1#0] -- vbuz1=vbuc1 + lda #0 + sta.z digit + // [208] phi (dword) ultoa_append::value#2 = (dword) ultoa_append::value#0 [phi:ultoa_append->ultoa_append::@1#1] -- register_copy + jmp __b1 + // ultoa_append::@1 + __b1: + // [209] if((dword) ultoa_append::value#2>=(dword) ultoa_append::sub#0) goto ultoa_append::@2 -- vduz1_ge_vduz2_then_la1 + lda.z value+3 + cmp.z sub+3 + bcc !+ + bne __b2 + lda.z value+2 + cmp.z sub+2 + bcc !+ + bne __b2 + lda.z value+1 + cmp.z sub+1 + bcc !+ + bne __b2 + lda.z value + cmp.z sub + bcs __b2 + !: + jmp __b3 + // ultoa_append::@3 + __b3: + // [210] *((byte*) ultoa_append::buffer#0) ← *((const byte*) DIGITS + (byte) ultoa_append::digit#2) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 + ldy.z digit + lda DIGITS,y + ldy #0 + sta (buffer),y + jmp __breturn + // ultoa_append::@return + __breturn: + // [211] return + rts + // ultoa_append::@2 + __b2: + // [212] (byte) ultoa_append::digit#1 ← ++ (byte) ultoa_append::digit#2 -- vbuz1=_inc_vbuz1 + inc.z digit + // [213] (dword) ultoa_append::value#1 ← (dword) ultoa_append::value#2 - (dword) ultoa_append::sub#0 -- vduz1=vduz1_minus_vduz2 + lda.z value + sec + sbc.z sub + sta.z value + lda.z value+1 + sbc.z sub+1 + sta.z value+1 + lda.z value+2 + sbc.z sub+2 + sta.z value+2 + lda.z value+3 + sbc.z sub+3 + sta.z value+3 + // [208] phi from ultoa_append::@2 to ultoa_append::@1 [phi:ultoa_append::@2->ultoa_append::@1] + __b1_from___b2: + // [208] phi (byte) ultoa_append::digit#2 = (byte) ultoa_append::digit#1 [phi:ultoa_append::@2->ultoa_append::@1#0] -- register_copy + // [208] phi (dword) ultoa_append::value#2 = (dword) ultoa_append::value#1 [phi:ultoa_append::@2->ultoa_append::@1#1] -- register_copy + jmp __b1 +} + // textcolor +// Set the color for text output. The old color setting is returned. +// textcolor(byte zp($38) color) +textcolor: { + .label color = $38 + // [215] (byte) conio_textcolor ← (byte) textcolor::color#3 -- vbuz1=vbuz2 + lda.z color + sta.z conio_textcolor + jmp __breturn + // textcolor::@return + __breturn: + // [216] return + rts +} + // gotoxy +// Set the cursor to the specified position +// gotoxy(byte zp($3a) x, byte zp($39) y) +gotoxy: { + .label __4 = $8f + .label __6 = $93 + .label __7 = $95 + .label __8 = $89 + .label offset = $91 + .label x = $3a + .label y = $39 + .label __9 = $8b + .label __10 = $8d + // [218] if((byte) gotoxy::y#4<(byte) $19+(byte) 1) goto gotoxy::@3 -- vbuz1_lt_vbuc1_then_la1 + lda.z y + cmp #$19+1 + bcc __b3_from_gotoxy + // [220] phi from gotoxy to gotoxy::@1 [phi:gotoxy->gotoxy::@1] + __b1_from_gotoxy: + // [220] phi (byte) gotoxy::y#5 = (byte) 0 [phi:gotoxy->gotoxy::@1#0] -- vbuz1=vbuc1 + lda #0 + sta.z y + jmp __b1 + // [219] phi from gotoxy to gotoxy::@3 [phi:gotoxy->gotoxy::@3] + __b3_from_gotoxy: + jmp __b3 + // gotoxy::@3 + __b3: + // [220] phi from gotoxy::@3 to gotoxy::@1 [phi:gotoxy::@3->gotoxy::@1] + __b1_from___b3: + // [220] phi (byte) gotoxy::y#5 = (byte) gotoxy::y#4 [phi:gotoxy::@3->gotoxy::@1#0] -- register_copy + jmp __b1 + // gotoxy::@1 + __b1: + // [221] if((byte) gotoxy::x#4<(byte) $28) goto gotoxy::@4 -- vbuz1_lt_vbuc1_then_la1 + lda.z x + cmp #$28 + bcc __b4_from___b1 + // [223] phi from gotoxy::@1 to gotoxy::@2 [phi:gotoxy::@1->gotoxy::@2] + __b2_from___b1: + // [223] phi (byte) gotoxy::x#5 = (byte) 0 [phi:gotoxy::@1->gotoxy::@2#0] -- vbuz1=vbuc1 + lda #0 + sta.z x + jmp __b2 + // [222] phi from gotoxy::@1 to gotoxy::@4 [phi:gotoxy::@1->gotoxy::@4] + __b4_from___b1: + jmp __b4 + // gotoxy::@4 + __b4: + // [223] phi from gotoxy::@4 to gotoxy::@2 [phi:gotoxy::@4->gotoxy::@2] + __b2_from___b4: + // [223] phi (byte) gotoxy::x#5 = (byte) gotoxy::x#4 [phi:gotoxy::@4->gotoxy::@2#0] -- register_copy + jmp __b2 + // gotoxy::@2 + __b2: + // [224] (byte) conio_cursor_x ← (byte) gotoxy::x#5 -- vbuz1=vbuz2 + lda.z x + sta.z conio_cursor_x + // [225] (byte) conio_cursor_y ← (byte) gotoxy::y#5 -- vbuz1=vbuz2 + lda.z y + sta.z conio_cursor_y + // [226] (word~) gotoxy::$8 ← (word)(byte) gotoxy::y#5 -- vwuz1=_word_vbuz2 + lda.z y + sta.z __8 + lda #0 + sta.z __8+1 + // [227] (word~) gotoxy::$9 ← (word~) gotoxy::$8 << (byte) 2 -- vwuz1=vwuz2_rol_2 + lda.z __8 + asl + sta.z __9 + lda.z __8+1 + rol + sta.z __9+1 + asl.z __9 + rol.z __9+1 + // [228] (word~) gotoxy::$10 ← (word~) gotoxy::$9 + (word~) gotoxy::$8 -- vwuz1=vwuz2_plus_vwuz3 + lda.z __9 + clc + adc.z __8 + sta.z __10 + lda.z __9+1 + adc.z __8+1 + sta.z __10+1 + // [229] (word~) gotoxy::$4 ← (word~) gotoxy::$10 << (byte) 3 -- vwuz1=vwuz2_rol_3 + lda.z __10 + asl + sta.z __4 + lda.z __10+1 + rol + sta.z __4+1 + asl.z __4 + rol.z __4+1 + asl.z __4 + rol.z __4+1 + // [230] (word) gotoxy::offset#0 ← (word~) gotoxy::$4 + (byte) gotoxy::x#5 -- vwuz1=vwuz2_plus_vbuz3 + lda.z x + clc + adc.z __4 + sta.z offset + lda #0 + adc.z __4+1 + sta.z offset+1 + // [231] (byte*~) gotoxy::$6 ← (const nomodify byte*) CONIO_SCREEN_TEXT + (word) gotoxy::offset#0 -- pbuz1=pbuc1_plus_vwuz2 + lda.z offset + clc + adc #CONIO_SCREEN_TEXT + sta.z __6+1 + // [232] (byte*) conio_cursor_text ← (byte*~) gotoxy::$6 -- pbuz1=pbuz2 + lda.z __6 + sta.z conio_cursor_text + lda.z __6+1 + sta.z conio_cursor_text+1 + // [233] (byte*~) gotoxy::$7 ← (const nomodify byte*) CONIO_SCREEN_COLORS + (word) gotoxy::offset#0 -- pbuz1=pbuc1_plus_vwuz2 + lda.z offset + clc + adc #CONIO_SCREEN_COLORS + sta.z __7+1 + // [234] (byte*) conio_cursor_color ← (byte*~) gotoxy::$7 -- pbuz1=pbuz2 + lda.z __7 + sta.z conio_cursor_color + lda.z __7+1 + sta.z conio_cursor_color+1 + jmp __breturn + // gotoxy::@return + __breturn: + // [235] return + rts +} + // rand +// Returns a pseudo-random number in the range of 0 to RAND_MAX (65535) +// Uses an xorshift pseudorandom number generator that hits all different values +// Information https://en.wikipedia.org/wiki/Xorshift +// Source http://www.retroprogramming.com/2017/07/xorshift-pseudorandom-numbers-in-z80.html +rand: { + .label __0 = $97 + .label __1 = $9b + .label __2 = $9f + .label return = $a1 + .label return_1 = $53 + .label return_2 = $5a + // [237] (word~) rand::$0 ← (word) rand_state#9 << (byte) 7 -- vwuz1=vwuz2_rol_7 + lda.z rand_state_2+1 + lsr + lda.z rand_state_2 + ror + sta.z __0+1 + lda #0 + ror + sta.z __0 + // [238] (word) rand_state#1 ← (word) rand_state#9 ^ (word~) rand::$0 -- vwuz1=vwuz2_bxor_vwuz3 + lda.z rand_state_2 + eor.z __0 + sta.z rand_state + lda.z rand_state_2+1 + eor.z __0+1 + sta.z rand_state+1 + // [239] (word~) rand::$1 ← (word) rand_state#1 >> (byte) 9 -- vwuz1=vwuz2_ror_9 + lda.z rand_state+1 + lsr + sta.z __1 + lda #0 + sta.z __1+1 + // [240] (word) rand_state#2 ← (word) rand_state#1 ^ (word~) rand::$1 -- vwuz1=vwuz2_bxor_vwuz3 + lda.z rand_state + eor.z __1 + sta.z rand_state_1 + lda.z rand_state+1 + eor.z __1+1 + sta.z rand_state_1+1 + // [241] (word~) rand::$2 ← (word) rand_state#2 << (byte) 8 -- vwuz1=vwuz2_rol_8 + lda.z rand_state_1 + sta.z __2+1 + lda #0 + sta.z __2 + // [242] (word) rand_state#10 ← (word) rand_state#2 ^ (word~) rand::$2 -- vwuz1=vwuz2_bxor_vwuz3 + lda.z rand_state_1 + eor.z __2 + sta.z rand_state_2 + lda.z rand_state_1+1 + eor.z __2+1 + sta.z rand_state_2+1 + // [243] (word) rand::return#0 ← (word) rand_state#10 -- vwuz1=vwuz2 + lda.z rand_state_2 + sta.z return + lda.z rand_state_2+1 + sta.z return+1 + jmp __breturn + // rand::@return + __breturn: + // [244] return + rts +} + // printf_uint +// Print an unsigned int using a specific format +// printf_uint(word zp($58) uvalue) +printf_uint: { + .const format_min_length = 5 + .const format_justify_left = 0 + .const format_zero_padding = 0 + .const format_upper_case = 0 + .label uvalue = $58 + jmp __b1 + // printf_uint::@1 + __b1: + // [246] *((byte*)&(struct printf_buffer_number) printf_buffer) ← (byte) 0 -- _deref_pbuc1=vbuc2 + // Handle any sign + lda #0 + sta printf_buffer + // [247] (word) utoa::value#1 ← (word) printf_uint::uvalue#0 -- vwuz1=vwuz2 + lda.z uvalue + sta.z utoa.value + lda.z uvalue+1 + sta.z utoa.value+1 + // [248] call utoa + // Format number into buffer + // [252] phi from printf_uint::@1 to utoa [phi:printf_uint::@1->utoa] + utoa_from___b1: + jsr utoa + jmp __b2 + // printf_uint::@2 + __b2: + // [249] (byte) printf_number_buffer::buffer_sign#1 ← *((byte*)&(struct printf_buffer_number) printf_buffer) -- vbuz1=_deref_pbuc1 + lda printf_buffer + sta.z printf_number_buffer.buffer_sign + // [250] call printf_number_buffer + // Print using format + // [56] phi from printf_uint::@2 to printf_number_buffer [phi:printf_uint::@2->printf_number_buffer] + printf_number_buffer_from___b2: + // [56] phi (byte) printf_number_buffer::format_upper_case#10 = (const byte) printf_uint::format_upper_case#0 [phi:printf_uint::@2->printf_number_buffer#0] -- vbuz1=vbuc1 + lda #format_upper_case + sta.z printf_number_buffer.format_upper_case + // [56] phi (byte) printf_number_buffer::buffer_sign#10 = (byte) printf_number_buffer::buffer_sign#1 [phi:printf_uint::@2->printf_number_buffer#1] -- register_copy + // [56] phi (byte) printf_number_buffer::format_zero_padding#10 = (const byte) printf_uint::format_zero_padding#0 [phi:printf_uint::@2->printf_number_buffer#2] -- vbuz1=vbuc1 + lda #format_zero_padding + sta.z printf_number_buffer.format_zero_padding + // [56] phi (byte) printf_number_buffer::format_justify_left#10 = (const byte) printf_uint::format_justify_left#0 [phi:printf_uint::@2->printf_number_buffer#3] -- vbuz1=vbuc1 + lda #format_justify_left + sta.z printf_number_buffer.format_justify_left + // [56] phi (byte) printf_number_buffer::format_min_length#2 = (const byte) printf_uint::format_min_length#0 [phi:printf_uint::@2->printf_number_buffer#4] -- vbuz1=vbuc1 + lda #format_min_length + sta.z printf_number_buffer.format_min_length + jsr printf_number_buffer + jmp __breturn + // printf_uint::@return + __breturn: + // [251] 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) +// utoa(word zp($3e) value, byte* zp($a4) buffer) +utoa: { + .const max_digits = 5 + .label __10 = $a6 + .label __11 = $a3 + .label digit_value = $a7 + .label buffer = $a4 + .label digit = $3d + .label value = $3e + .label buffer_1 = $41 + .label started = $40 + // [253] phi from utoa to utoa::@1 [phi:utoa->utoa::@1] + __b1_from_utoa: + // [253] phi (byte*) utoa::buffer#11 = (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) 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_1+1 + // [253] phi (byte) utoa::started#2 = (byte) 0 [phi:utoa->utoa::@1#1] -- vbuz1=vbuc1 + lda #0 + sta.z started + // [253] phi (word) utoa::value#2 = (word) utoa::value#1 [phi:utoa->utoa::@1#2] -- register_copy + // [253] phi (byte) utoa::digit#2 = (byte) 0 [phi:utoa->utoa::@1#3] -- vbuz1=vbuc1 + lda #0 + sta.z digit + jmp __b1 + // utoa::@1 + __b1: + // [254] if((byte) utoa::digit#2<(const byte) utoa::max_digits#1-(byte) 1) goto utoa::@2 -- vbuz1_lt_vbuc1_then_la1 + lda.z digit + cmp #max_digits-1 + bcc __b2 + jmp __b3 + // utoa::@3 + __b3: + // [255] (byte~) utoa::$11 ← (byte)(word) utoa::value#2 -- vbuz1=_byte_vwuz2 + lda.z value + sta.z __11 + // [256] *((byte*) utoa::buffer#11) ← *((const byte*) DIGITS + (byte~) utoa::$11) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 + ldy.z __11 + lda DIGITS,y + ldy #0 + sta (buffer_1),y + // [257] (byte*) utoa::buffer#3 ← ++ (byte*) utoa::buffer#11 -- pbuz1=_inc_pbuz2 + lda.z buffer_1 + clc + adc #1 + sta.z buffer + lda.z buffer_1+1 + adc #0 + sta.z buffer+1 + // [258] *((byte*) utoa::buffer#3) ← (byte) 0 -- _deref_pbuz1=vbuc1 + lda #0 + ldy #0 + sta (buffer),y + jmp __breturn + // utoa::@return + __breturn: + // [259] return + rts + // utoa::@2 + __b2: + // [260] (byte~) utoa::$10 ← (byte) utoa::digit#2 << (byte) 1 -- vbuz1=vbuz2_rol_1 + lda.z digit + asl + sta.z __10 + // [261] (word) utoa::digit_value#0 ← *((const word*) RADIX_DECIMAL_VALUES + (byte~) utoa::$10) -- vwuz1=pwuc1_derefidx_vbuz2 + ldy.z __10 + lda RADIX_DECIMAL_VALUES,y + sta.z digit_value + lda RADIX_DECIMAL_VALUES+1,y + sta.z digit_value+1 + // [262] if((byte) 0!=(byte) utoa::started#2) goto utoa::@5 -- vbuc1_neq_vbuz1_then_la1 + lda #0 + cmp.z started + bne __b5 + jmp __b7 + // utoa::@7 + __b7: + // [263] if((word) utoa::value#2>=(word) 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 + // [264] phi from utoa::@7 to utoa::@4 [phi:utoa::@7->utoa::@4] + __b4_from___b7: + // [264] phi (byte*) utoa::buffer#14 = (byte*) utoa::buffer#11 [phi:utoa::@7->utoa::@4#0] -- register_copy + // [264] phi (byte) utoa::started#4 = (byte) utoa::started#2 [phi:utoa::@7->utoa::@4#1] -- register_copy + // [264] phi (word) utoa::value#6 = (word) utoa::value#2 [phi:utoa::@7->utoa::@4#2] -- register_copy + jmp __b4 + // utoa::@4 + __b4: + // [265] (byte) utoa::digit#1 ← ++ (byte) utoa::digit#2 -- vbuz1=_inc_vbuz1 + inc.z digit + // [253] phi from utoa::@4 to utoa::@1 [phi:utoa::@4->utoa::@1] + __b1_from___b4: + // [253] phi (byte*) utoa::buffer#11 = (byte*) utoa::buffer#14 [phi:utoa::@4->utoa::@1#0] -- register_copy + // [253] phi (byte) utoa::started#2 = (byte) utoa::started#4 [phi:utoa::@4->utoa::@1#1] -- register_copy + // [253] phi (word) utoa::value#2 = (word) utoa::value#6 [phi:utoa::@4->utoa::@1#2] -- register_copy + // [253] phi (byte) utoa::digit#2 = (byte) utoa::digit#1 [phi:utoa::@4->utoa::@1#3] -- register_copy + jmp __b1 + // utoa::@5 + __b5: + // [266] (byte*) utoa_append::buffer#0 ← (byte*) utoa::buffer#11 -- pbuz1=pbuz2 + lda.z buffer_1 + sta.z utoa_append.buffer + lda.z buffer_1+1 + sta.z utoa_append.buffer+1 + // [267] (word) utoa_append::value#0 ← (word) utoa::value#2 -- vwuz1=vwuz2 + lda.z value + sta.z utoa_append.value + lda.z value+1 + sta.z utoa_append.value+1 + // [268] (word) utoa_append::sub#0 ← (word) utoa::digit_value#0 -- vwuz1=vwuz2 + lda.z digit_value + sta.z utoa_append.sub + lda.z digit_value+1 + sta.z utoa_append.sub+1 + // [269] call utoa_append + // [273] phi from utoa::@5 to utoa_append [phi:utoa::@5->utoa_append] + utoa_append_from___b5: + jsr utoa_append + // [270] (word) utoa_append::return#0 ← (word) utoa_append::value#2 -- vwuz1=vwuz2 + lda.z utoa_append.value + sta.z utoa_append.return + lda.z utoa_append.value+1 + sta.z utoa_append.return+1 + jmp __b6 + // utoa::@6 + __b6: + // [271] (word) utoa::value#0 ← (word) utoa_append::return#0 -- vwuz1=vwuz2 + lda.z utoa_append.return + sta.z value + lda.z utoa_append.return+1 + sta.z value+1 + // [272] (byte*) utoa::buffer#4 ← ++ (byte*) utoa::buffer#11 -- pbuz1=_inc_pbuz1 + inc.z buffer_1 + bne !+ + inc.z buffer_1+1 + !: + // [264] phi from utoa::@6 to utoa::@4 [phi:utoa::@6->utoa::@4] + __b4_from___b6: + // [264] phi (byte*) utoa::buffer#14 = (byte*) utoa::buffer#4 [phi:utoa::@6->utoa::@4#0] -- register_copy + // [264] phi (byte) utoa::started#4 = (byte) 1 [phi:utoa::@6->utoa::@4#1] -- vbuz1=vbuc1 + lda #1 + sta.z started + // [264] phi (word) utoa::value#6 = (word) utoa::value#0 [phi:utoa::@6->utoa::@4#2] -- register_copy + jmp __b4 +} + // 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. +// utoa_append(byte* zp($a9) buffer, word zp($43) value, word zp($ab) sub) +utoa_append: { + .label buffer = $a9 + .label value = $43 + .label sub = $ab + .label return = $ad + .label digit = $45 + // [274] phi from utoa_append to utoa_append::@1 [phi:utoa_append->utoa_append::@1] + __b1_from_utoa_append: + // [274] phi (byte) utoa_append::digit#2 = (byte) 0 [phi:utoa_append->utoa_append::@1#0] -- vbuz1=vbuc1 + lda #0 + sta.z digit + // [274] phi (word) utoa_append::value#2 = (word) utoa_append::value#0 [phi:utoa_append->utoa_append::@1#1] -- register_copy + jmp __b1 + // utoa_append::@1 + __b1: + // [275] if((word) utoa_append::value#2>=(word) 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: + // [276] *((byte*) utoa_append::buffer#0) ← *((const byte*) DIGITS + (byte) utoa_append::digit#2) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 + ldy.z digit + lda DIGITS,y + ldy #0 + sta (buffer),y + jmp __breturn + // utoa_append::@return + __breturn: + // [277] return + rts + // utoa_append::@2 + __b2: + // [278] (byte) utoa_append::digit#1 ← ++ (byte) utoa_append::digit#2 -- vbuz1=_inc_vbuz1 + inc.z digit + // [279] (word) utoa_append::value#1 ← (word) utoa_append::value#2 - (word) 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 + // [274] phi from utoa_append::@2 to utoa_append::@1 [phi:utoa_append::@2->utoa_append::@1] + __b1_from___b2: + // [274] phi (byte) utoa_append::digit#2 = (byte) utoa_append::digit#1 [phi:utoa_append::@2->utoa_append::@1#0] -- register_copy + // [274] phi (word) utoa_append::value#2 = (word) utoa_append::value#1 [phi:utoa_append::@2->utoa_append::@1#1] -- register_copy + jmp __b1 +} + // clrscr +// clears the screen and moves the cursor to the upper left-hand corner of the screen. +clrscr: { + .label c = $4b + .label line_text = $47 + .label line_cols = $49 + .label l = $46 + // [281] phi from clrscr to clrscr::@1 [phi:clrscr->clrscr::@1] + __b1_from_clrscr: + // [281] phi (byte*) clrscr::line_cols#5 = (const nomodify byte*) CONIO_SCREEN_COLORS [phi:clrscr->clrscr::@1#0] -- pbuz1=pbuc1 + lda #CONIO_SCREEN_COLORS + sta.z line_cols+1 + // [281] phi (byte*) clrscr::line_text#5 = (const nomodify byte*) CONIO_SCREEN_TEXT [phi:clrscr->clrscr::@1#1] -- pbuz1=pbuc1 + lda #CONIO_SCREEN_TEXT + sta.z line_text+1 + // [281] phi (byte) clrscr::l#2 = (byte) 0 [phi:clrscr->clrscr::@1#2] -- vbuz1=vbuc1 + lda #0 + sta.z l + jmp __b1 + // clrscr::@1 + __b1: + // [282] if((byte) clrscr::l#2<(byte) $19) goto clrscr::@3 -- vbuz1_lt_vbuc1_then_la1 + lda.z l + cmp #$19 + bcc __b3_from___b1 + jmp __b2 + // clrscr::@2 + __b2: + // [283] (byte) conio_cursor_x ← (byte) 0 -- vbuz1=vbuc1 + lda #0 + sta.z conio_cursor_x + // [284] (byte) conio_cursor_y ← (byte) 0 -- vbuz1=vbuc1 + lda #0 + sta.z conio_cursor_y + // [285] (byte*) conio_cursor_text ← (const nomodify byte*) CONIO_SCREEN_TEXT -- pbuz1=pbuc1 + lda #CONIO_SCREEN_TEXT + sta.z conio_cursor_text+1 + // [286] (byte*) conio_cursor_color ← (const nomodify byte*) CONIO_SCREEN_COLORS -- pbuz1=pbuc1 + lda #CONIO_SCREEN_COLORS + sta.z conio_cursor_color+1 + jmp __breturn + // clrscr::@return + __breturn: + // [287] return + rts + // [288] phi from clrscr::@1 to clrscr::@3 [phi:clrscr::@1->clrscr::@3] + __b3_from___b1: + // [288] phi (byte) clrscr::c#2 = (byte) 0 [phi:clrscr::@1->clrscr::@3#0] -- vbuz1=vbuc1 + lda #0 + sta.z c + jmp __b3 + // clrscr::@3 + __b3: + // [289] if((byte) clrscr::c#2<(byte) $28) goto clrscr::@4 -- vbuz1_lt_vbuc1_then_la1 + lda.z c + cmp #$28 + bcc __b4 + jmp __b5 + // clrscr::@5 + __b5: + // [290] (byte*) clrscr::line_text#1 ← (byte*) clrscr::line_text#5 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 + lda #$28 + clc + adc.z line_text + sta.z line_text + bcc !+ + inc.z line_text+1 + !: + // [291] (byte*) clrscr::line_cols#1 ← (byte*) clrscr::line_cols#5 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 + lda #$28 + clc + adc.z line_cols + sta.z line_cols + bcc !+ + inc.z line_cols+1 + !: + // [292] (byte) clrscr::l#1 ← ++ (byte) clrscr::l#2 -- vbuz1=_inc_vbuz1 + inc.z l + // [281] phi from clrscr::@5 to clrscr::@1 [phi:clrscr::@5->clrscr::@1] + __b1_from___b5: + // [281] phi (byte*) clrscr::line_cols#5 = (byte*) clrscr::line_cols#1 [phi:clrscr::@5->clrscr::@1#0] -- register_copy + // [281] phi (byte*) clrscr::line_text#5 = (byte*) clrscr::line_text#1 [phi:clrscr::@5->clrscr::@1#1] -- register_copy + // [281] phi (byte) clrscr::l#2 = (byte) clrscr::l#1 [phi:clrscr::@5->clrscr::@1#2] -- register_copy + jmp __b1 + // clrscr::@4 + __b4: + // [293] *((byte*) clrscr::line_text#5 + (byte) clrscr::c#2) ← (byte) ' ' -- pbuz1_derefidx_vbuz2=vbuc1 + lda #' ' + ldy.z c + sta (line_text),y + // [294] *((byte*) clrscr::line_cols#5 + (byte) clrscr::c#2) ← (byte) conio_textcolor -- pbuz1_derefidx_vbuz2=vbuz3 + lda.z conio_textcolor + ldy.z c + sta (line_cols),y + // [295] (byte) clrscr::c#1 ← ++ (byte) clrscr::c#2 -- vbuz1=_inc_vbuz1 + inc.z c + // [288] phi from clrscr::@4 to clrscr::@3 [phi:clrscr::@4->clrscr::@3] + __b3_from___b4: + // [288] phi (byte) clrscr::c#2 = (byte) clrscr::c#1 [phi:clrscr::@4->clrscr::@3#0] -- register_copy + jmp __b3 +} + // File Data + // The digits used for numbers + DIGITS: .text "0123456789abcdef" + // Values of decimal digits + RADIX_DECIMAL_VALUES: .word $2710, $3e8, $64, $a + // Values of decimal digits + RADIX_DECIMAL_VALUES_LONG: .dword $3b9aca00, $5f5e100, $989680, $f4240, $186a0, $2710, $3e8, $64, $a + // Buffer used for stringified number being printed + printf_buffer: .fill SIZEOF_STRUCT_PRINTF_BUFFER_NUMBER, 0 + +REGISTER UPLIFT POTENTIAL REGISTERS +Statement [1] (byte) conio_cursor_x ← (byte) 0 [ printf_buffer ] ( [ printf_buffer ] { } ) always clobbers reg byte a +Statement [2] (byte) conio_cursor_y ← (byte) 0 [ printf_buffer ] ( [ printf_buffer ] { } ) always clobbers reg byte a +Statement [3] (byte*) conio_cursor_text ← (const nomodify byte*) CONIO_SCREEN_TEXT [ printf_buffer ] ( [ printf_buffer ] { } ) always clobbers reg byte a +Statement [4] (byte*) conio_cursor_color ← (const nomodify byte*) CONIO_SCREEN_COLORS [ printf_buffer ] ( [ printf_buffer ] { } ) always clobbers reg byte a +Statement [5] (byte) conio_textcolor ← (const nomodify byte) CONIO_TEXTCOLOR_DEFAULT [ conio_textcolor printf_buffer ] ( [ conio_textcolor printf_buffer ] { } ) always clobbers reg byte a +Statement [17] (word) rand::return#2 ← (word) rand::return#0 [ rand::return#2 printf_buffer rand_state#10 ] ( main:7 [ rand::return#2 printf_buffer rand_state#10 ] { { rand::return#0 = rand::return#2 } } ) always clobbers reg byte a +Statement [18] (word) main::first#0 ← (word) rand::return#2 [ main::first#0 printf_buffer rand_state#10 ] ( main:7 [ main::first#0 printf_buffer rand_state#10 ] { } ) always clobbers reg byte a +Statement [20] (word) main::rnd#5 ← (word) main::first#0 [ conio_textcolor main::first#0 main::rnd#5 printf_buffer rand_state#10 ] ( main:7 [ conio_textcolor main::first#0 main::rnd#5 printf_buffer rand_state#10 ] { } ) always clobbers reg byte a +Statement [23] (byte~) main::$18 ← (byte)(dword) main::cnt#1 [ conio_textcolor main::first#0 main::col#3 main::row#3 main::rnd#2 main::cnt#1 main::$18 printf_buffer rand_state#10 ] ( main:7 [ conio_textcolor main::first#0 main::col#3 main::row#3 main::rnd#2 main::cnt#1 main::$18 printf_buffer rand_state#10 ] { } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:6 [ main::col#3 main::col#7 main::col#1 ] +Removing always clobbered register reg byte a as potential for zp[1]:7 [ main::row#3 main::row#7 main::row#1 ] +Statement [28] (word) printf_uint::uvalue#0 ← (word) main::rnd#2 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor main::first#0 main::col#3 main::row#3 main::cnt#1 printf_uint::uvalue#0 printf_buffer rand_state#10 ] ( main:7 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor main::first#0 main::col#3 main::row#3 main::cnt#1 printf_uint::uvalue#0 printf_buffer rand_state#10 ] { { printf_uint::uvalue#0 = main::rnd#2 } } ) always clobbers reg byte a +Statement [32] (byte) main::col#1 ← (byte) main::col#3 + (byte) 6 [ conio_textcolor main::first#0 main::cnt#1 main::col#1 printf_buffer rand_state#10 ] ( main:7 [ conio_textcolor main::first#0 main::cnt#1 main::col#1 printf_buffer rand_state#10 ] { } ) always clobbers reg byte a +Statement [37] (word) rand::return#3 ← (word) rand::return#0 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 rand::return#3 printf_buffer rand_state#10 ] ( main:7 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 rand::return#3 printf_buffer rand_state#10 ] { { rand_state#10 = rand_state#9 } { rand::return#0 = rand::return#3 } } ) always clobbers reg byte a +Statement [38] (word) main::rnd#1 ← (word) rand::return#3 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 main::rnd#1 printf_buffer rand_state#10 ] ( main:7 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 main::rnd#1 printf_buffer rand_state#10 ] { } ) always clobbers reg byte a +Statement [39] if((word) main::rnd#1!=(word) main::first#0) goto main::@1 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 main::rnd#1 printf_buffer rand_state#10 ] ( main:7 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 main::rnd#1 printf_buffer rand_state#10 ] { } ) always clobbers reg byte a +Statement [46] (dword) printf_ulong::uvalue#0 ← (dword) main::cnt#1 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_ulong::uvalue#0 printf_buffer ] ( main:7 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_ulong::uvalue#0 printf_buffer ] { { printf_ulong::uvalue#0 = main::cnt#1 } } ) always clobbers reg byte a +Statement [50] *((byte*)&(struct printf_buffer_number) printf_buffer) ← (byte) 0 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_ulong::uvalue#0 printf_buffer ] ( main:7::printf_ulong:47 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_ulong::uvalue#0 printf_buffer ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } } ) always clobbers reg byte a +Statement [51] (dword) ultoa::value#1 ← (dword) printf_ulong::uvalue#0 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::value#1 ] ( main:7::printf_ulong:47 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::value#1 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } } ) always clobbers reg byte a +Statement [60] (word) strlen::return#2 ← (word) strlen::len#2 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_min_length#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] ( main:7::printf_ulong:47::printf_number_buffer:54 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_min_length#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } } main:7::printf_uint:29::printf_number_buffer:250 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_min_length#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:10 [ printf_number_buffer::format_min_length#2 ] +Removing always clobbered register reg byte a as potential for zp[1]:11 [ printf_number_buffer::format_justify_left#10 ] +Removing always clobbered register reg byte a as potential for zp[1]:12 [ printf_number_buffer::format_zero_padding#10 ] +Removing always clobbered register reg byte a as potential for zp[1]:13 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ] +Removing always clobbered register reg byte a as potential for zp[1]:14 [ printf_number_buffer::format_upper_case#10 ] +Statement [61] (word~) printf_number_buffer::$19 ← (word) strlen::return#2 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_min_length#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] ( main:7::printf_ulong:47::printf_number_buffer:54 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_min_length#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_uint:29::printf_number_buffer:250 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_min_length#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a +Statement [62] (signed byte) printf_number_buffer::len#0 ← (signed byte)(word~) printf_number_buffer::$19 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_min_length#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] ( main:7::printf_ulong:47::printf_number_buffer:54 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_min_length#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_uint:29::printf_number_buffer:250 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_min_length#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a +Statement [66] (signed byte) printf_number_buffer::padding#1 ← (signed byte)(byte) printf_number_buffer::format_min_length#2 - (signed byte) printf_number_buffer::len#2 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] ( main:7::printf_ulong:47::printf_number_buffer:54 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_uint:29::printf_number_buffer:250 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a +Statement [102] *((byte*) conio_cursor_text) ← (byte) cputc::c#3 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte y +Removing always clobbered register reg byte y as potential for zp[1]:11 [ printf_number_buffer::format_justify_left#10 ] +Removing always clobbered register reg byte y as potential for zp[1]:12 [ printf_number_buffer::format_zero_padding#10 ] +Removing always clobbered register reg byte y as potential for zp[1]:14 [ printf_number_buffer::format_upper_case#10 ] +Removing always clobbered register reg byte y as potential for zp[1]:16 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ] +Removing always clobbered register reg byte y as potential for zp[1]:6 [ main::col#3 main::col#7 main::col#1 ] +Removing always clobbered register reg byte y as potential for zp[1]:7 [ main::row#3 main::row#7 main::row#1 ] +Removing always clobbered register reg byte y as potential for zp[1]:13 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ] +Removing always clobbered register reg byte y as potential for zp[1]:17 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ] +Removing always clobbered register reg byte y as potential for zp[1]:18 [ printf_padding::pad#5 ] +Removing always clobbered register reg byte y as potential for zp[1]:19 [ printf_padding::i#2 printf_padding::i#1 ] +Statement [104] *((byte*) conio_cursor_color) ← (byte) conio_textcolor [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte a as potential for zp[1]:16 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ] +Removing always clobbered register reg byte a as potential for zp[1]:17 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ] +Removing always clobbered register reg byte a as potential for zp[1]:18 [ printf_padding::pad#5 ] +Removing always clobbered register reg byte a as potential for zp[1]:19 [ printf_padding::i#2 printf_padding::i#1 ] +Statement [107] if((byte) conio_cursor_x!=(byte) $28) goto cputc::@return [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [108] (byte) conio_cursor_x ← (byte) 0 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [114] (byte*~) cputln::$0 ← (byte*) conio_cursor_text - (byte) conio_cursor_x [ conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [115] (byte*~) cputln::$1 ← (byte*~) cputln::$0 + (byte) $28 [ conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [116] (byte*) conio_cursor_text ← (byte*~) cputln::$1 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [117] (byte*~) cputln::$2 ← (byte*) conio_cursor_color - (byte) conio_cursor_x [ conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113 [ printf_buffer cputs::s#0 conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [118] (byte*~) cputln::$3 ← (byte*~) cputln::$2 + (byte) $28 [ conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113 [ printf_buffer cputs::s#0 conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [119] (byte*) conio_cursor_color ← (byte*~) cputln::$3 [ conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113 [ printf_buffer cputs::s#0 conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [120] (byte) conio_cursor_x ← (byte) 0 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [124] if((byte) conio_cursor_y!=(byte) $19) goto cscroll::@return [ conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [133] (byte*~) cscroll::$7 ← (byte*) conio_cursor_text - (byte) $28 [ conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [134] (byte*) conio_cursor_text ← (byte*~) cscroll::$7 [ conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [135] (byte*~) cscroll::$8 ← (byte*) conio_cursor_color - (byte) $28 [ conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [136] (byte*) conio_cursor_color ← (byte*~) cscroll::$8 [ conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [140] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (byte) $28 [ memset::str#3 memset::c#4 memset::end#0 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memset:130 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memset:130 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memset:130 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memset:130 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memset:130 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memset:130 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memset:130 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memset:132 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:14::cputc:164::cscroll:110::memset:132 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:45::cputc:164::cscroll:110::memset:132 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memset:132 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memset:132 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memset:132 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memset:132 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:23 [ memset::c#4 memset::c#1 ] +Statement [141] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3 [ memset::c#4 memset::end#0 memset::dst#4 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memset:130 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memset:130 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memset:130 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memset:130 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memset:130 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memset:130 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memset:130 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memset:132 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:14::cputc:164::cscroll:110::memset:132 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:45::cputc:164::cscroll:110::memset:132 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memset:132 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memset:132 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memset:132 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memset:132 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } ) always clobbers reg byte a +Statement [143] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 [ memset::c#4 memset::end#0 memset::dst#2 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memset:130 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memset:130 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memset:130 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memset:130 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memset:130 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memset:130 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memset:130 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memset:132 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:14::cputc:164::cscroll:110::memset:132 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:45::cputc:164::cscroll:110::memset:132 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memset:132 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memset:132 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memset:132 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memset:132 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } ) always clobbers reg byte a +Statement [145] *((byte*) memset::dst#2) ← (byte) memset::c#4 [ memset::c#4 memset::end#0 memset::dst#2 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memset:130 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memset:130 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memset:130 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memset:130 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memset:130 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memset:130 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memset:130 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memset:132 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:14::cputc:164::cscroll:110::memset:132 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:45::cputc:164::cscroll:110::memset:132 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memset:132 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memset:132 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memset:132 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memset:132 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte y as potential for zp[1]:23 [ memset::c#4 memset::c#1 ] +Statement [148] (byte*) memcpy::src_end#0 ← (byte*)(void*) memcpy::source#2 + (word)(number) $19*(number) $28-(number) $28 [ memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memcpy:126 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memcpy:126 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memcpy:126 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memcpy:126 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memcpy:126 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:126 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memcpy:128 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memcpy:128 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memcpy:128 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memcpy:128 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memcpy:128 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:128 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [149] (byte*) memcpy::src#4 ← (byte*)(void*) memcpy::source#2 [ memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memcpy:126 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memcpy:126 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memcpy:126 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memcpy:126 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memcpy:126 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:126 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memcpy:128 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memcpy:128 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memcpy:128 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memcpy:128 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memcpy:128 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:128 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [150] (byte*) memcpy::dst#4 ← (byte*)(void*) memcpy::destination#2 [ memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memcpy:126 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memcpy:126 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memcpy:126 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memcpy:126 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memcpy:126 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:126 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memcpy:128 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memcpy:128 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memcpy:128 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memcpy:128 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memcpy:128 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:128 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [152] if((byte*) memcpy::src#2!=(byte*) memcpy::src_end#0) goto memcpy::@2 [ memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memcpy:126 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memcpy:126 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memcpy:126 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memcpy:126 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memcpy:126 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:126 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memcpy:128 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memcpy:128 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memcpy:128 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memcpy:128 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memcpy:128 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:128 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [154] *((byte*) memcpy::dst#2) ← *((byte*) memcpy::src#2) [ memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memcpy:126 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memcpy:126 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memcpy:126 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memcpy:126 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memcpy:126 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:126 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memcpy:128 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memcpy:128 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memcpy:128 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memcpy:128 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memcpy:128 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:128 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a reg byte y +Statement [159] (byte) cputs::c#1 ← *((to_nomodify byte*) cputs::s#4) [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer cputs::s#4 cputs::c#1 ] ( main:7::cputs:14 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer cputs::s#4 cputs::c#1 ] { } main:7::cputs:45 [ main::cnt#1 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer cputs::s#4 cputs::c#1 ] { } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer cputs::s#4 cputs::c#1 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer cputs::s#4 cputs::c#1 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a reg byte y +Statement [167] if((byte) 0!=*((byte*) strupr::src#2)) goto strupr::@2 [ strupr::src#2 ] ( main:7::printf_ulong:47::printf_number_buffer:54::strupr:84 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_uint:29::printf_number_buffer:250::strupr:84 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a reg byte y +Statement [169] (byte) toupper::ch#0 ← *((byte*) strupr::src#2) [ strupr::src#2 toupper::ch#0 ] ( main:7::printf_ulong:47::printf_number_buffer:54::strupr:84 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } } main:7::printf_uint:29::printf_number_buffer:250::strupr:84 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } } ) always clobbers reg byte a reg byte y +Statement [173] *((byte*) strupr::src#2) ← (byte~) strupr::$0 [ strupr::src#2 ] ( main:7::printf_ulong:47::printf_number_buffer:54::strupr:84 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_uint:29::printf_number_buffer:250::strupr:84 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte y +Statement [177] (byte) toupper::return#0 ← (byte) toupper::ch#0 + (byte) 'A'-(byte) 'a' [ toupper::return#0 ] ( main:7::printf_ulong:47::printf_number_buffer:54::strupr:84::toupper:170 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } } main:7::printf_uint:29::printf_number_buffer:250::strupr:84::toupper:170 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } } ) always clobbers reg byte a +Statement [182] if((byte) 0!=*((byte*) strlen::str#2)) goto strlen::@2 [ printf_buffer strlen::len#2 strlen::str#2 ] ( main:7::printf_ulong:47::printf_number_buffer:54::strlen:59 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_number_buffer::format_min_length#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } } main:7::printf_uint:29::printf_number_buffer:250::strlen:59 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_number_buffer::format_min_length#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } } ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte y as potential for zp[1]:10 [ printf_number_buffer::format_min_length#2 ] +Statement [189] (byte~) ultoa::$11 ← (byte)(dword) ultoa::value#2 [ printf_buffer ultoa::buffer#11 ultoa::$11 ] ( main:7::printf_ulong:47::ultoa:52 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::buffer#11 ultoa::$11 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } } ) always clobbers reg byte a +Statement [190] *((byte*) ultoa::buffer#11) ← *((const byte*) DIGITS + (byte~) ultoa::$11) [ printf_buffer ultoa::buffer#11 ] ( main:7::printf_ulong:47::ultoa:52 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::buffer#11 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } } ) always clobbers reg byte a reg byte y +Statement [191] (byte*) ultoa::buffer#3 ← ++ (byte*) ultoa::buffer#11 [ printf_buffer ultoa::buffer#3 ] ( main:7::printf_ulong:47::ultoa:52 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::buffer#3 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } } ) always clobbers reg byte a +Statement [192] *((byte*) ultoa::buffer#3) ← (byte) 0 [ printf_buffer ] ( main:7::printf_ulong:47::ultoa:52 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } } ) always clobbers reg byte a reg byte y +Statement [194] (byte~) ultoa::$10 ← (byte) ultoa::digit#2 << (byte) 2 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::$10 ] ( main:7::printf_ulong:47::ultoa:52 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::$10 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:43 [ ultoa::digit#2 ultoa::digit#1 ] +Removing always clobbered register reg byte a as potential for zp[1]:48 [ ultoa::started#2 ultoa::started#4 ] +Statement [195] (dword) ultoa::digit_value#0 ← *((const dword*) RADIX_DECIMAL_VALUES_LONG + (byte~) ultoa::$10) [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] ( main:7::printf_ulong:47::ultoa:52 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } } ) always clobbers reg byte a +Statement [197] if((dword) ultoa::value#2>=(dword) ultoa::digit_value#0) goto ultoa::@5 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] ( main:7::printf_ulong:47::ultoa:52 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } } ) always clobbers reg byte a +Statement [200] (byte*) ultoa_append::buffer#0 ← (byte*) ultoa::buffer#11 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ] ( main:7::printf_ulong:47::ultoa:52 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a +Statement [201] (dword) ultoa_append::value#0 ← (dword) ultoa::value#2 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ultoa_append::value#0 ] ( main:7::printf_ulong:47::ultoa:52 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ultoa_append::value#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a +Statement [202] (dword) ultoa_append::sub#0 ← (dword) ultoa::digit_value#0 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::value#0 ultoa_append::sub#0 ] ( main:7::printf_ulong:47::ultoa:52 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::value#0 ultoa_append::sub#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a +Statement [204] (dword) ultoa_append::return#0 ← (dword) ultoa_append::value#2 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::return#0 ] ( main:7::printf_ulong:47::ultoa:52 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::return#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a +Statement [205] (dword) ultoa::value#0 ← (dword) ultoa_append::return#0 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::value#0 ] ( main:7::printf_ulong:47::ultoa:52 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::value#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } } ) always clobbers reg byte a +Statement [209] if((dword) ultoa_append::value#2>=(dword) ultoa_append::sub#0) goto ultoa_append::@2 [ ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#2 ultoa_append::digit#2 ] ( main:7::printf_ulong:47::ultoa:52::ultoa_append:203 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#2 ultoa_append::digit#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:55 [ ultoa_append::digit#2 ultoa_append::digit#1 ] +Statement [210] *((byte*) ultoa_append::buffer#0) ← *((const byte*) DIGITS + (byte) ultoa_append::digit#2) [ ultoa_append::value#2 ] ( main:7::printf_ulong:47::ultoa:52::ultoa_append:203 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::value#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte y as potential for zp[1]:43 [ ultoa::digit#2 ultoa::digit#1 ] +Statement [213] (dword) ultoa_append::value#1 ← (dword) ultoa_append::value#2 - (dword) ultoa_append::sub#0 [ ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#1 ultoa_append::digit#1 ] ( main:7::printf_ulong:47::ultoa:52::ultoa_append:203 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#1 ultoa_append::digit#1 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a +Statement [226] (word~) gotoxy::$8 ← (word)(byte) gotoxy::y#5 [ conio_cursor_x conio_cursor_y gotoxy::x#5 gotoxy::$8 ] ( main:7::gotoxy:27 [ conio_textcolor main::first#0 main::col#3 main::row#3 main::rnd#2 main::cnt#1 printf_buffer rand_state#10 conio_cursor_x conio_cursor_y gotoxy::x#5 gotoxy::$8 ] { { gotoxy::y#2 = gotoxy::y#4 main::row#3 } { gotoxy::x#2 = gotoxy::x#4 main::col#3 } } main:7::gotoxy:41 [ main::cnt#1 printf_buffer conio_cursor_x conio_cursor_y gotoxy::x#5 gotoxy::$8 ] { } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:58 [ gotoxy::x#5 gotoxy::x#4 gotoxy::x#2 ] +Statement [227] (word~) gotoxy::$9 ← (word~) gotoxy::$8 << (byte) 2 [ conio_cursor_x conio_cursor_y gotoxy::x#5 gotoxy::$8 gotoxy::$9 ] ( main:7::gotoxy:27 [ conio_textcolor main::first#0 main::col#3 main::row#3 main::rnd#2 main::cnt#1 printf_buffer rand_state#10 conio_cursor_x conio_cursor_y gotoxy::x#5 gotoxy::$8 gotoxy::$9 ] { { gotoxy::y#2 = gotoxy::y#4 main::row#3 } { gotoxy::x#2 = gotoxy::x#4 main::col#3 } } main:7::gotoxy:41 [ main::cnt#1 printf_buffer conio_cursor_x conio_cursor_y gotoxy::x#5 gotoxy::$8 gotoxy::$9 ] { } ) always clobbers reg byte a +Statement [228] (word~) gotoxy::$10 ← (word~) gotoxy::$9 + (word~) gotoxy::$8 [ conio_cursor_x conio_cursor_y gotoxy::x#5 gotoxy::$10 ] ( main:7::gotoxy:27 [ conio_textcolor main::first#0 main::col#3 main::row#3 main::rnd#2 main::cnt#1 printf_buffer rand_state#10 conio_cursor_x conio_cursor_y gotoxy::x#5 gotoxy::$10 ] { { gotoxy::y#2 = gotoxy::y#4 main::row#3 } { gotoxy::x#2 = gotoxy::x#4 main::col#3 } } main:7::gotoxy:41 [ main::cnt#1 printf_buffer conio_cursor_x conio_cursor_y gotoxy::x#5 gotoxy::$10 ] { } ) always clobbers reg byte a +Statement [229] (word~) gotoxy::$4 ← (word~) gotoxy::$10 << (byte) 3 [ conio_cursor_x conio_cursor_y gotoxy::x#5 gotoxy::$4 ] ( main:7::gotoxy:27 [ conio_textcolor main::first#0 main::col#3 main::row#3 main::rnd#2 main::cnt#1 printf_buffer rand_state#10 conio_cursor_x conio_cursor_y gotoxy::x#5 gotoxy::$4 ] { { gotoxy::y#2 = gotoxy::y#4 main::row#3 } { gotoxy::x#2 = gotoxy::x#4 main::col#3 } } main:7::gotoxy:41 [ main::cnt#1 printf_buffer conio_cursor_x conio_cursor_y gotoxy::x#5 gotoxy::$4 ] { } ) always clobbers reg byte a +Statement [230] (word) gotoxy::offset#0 ← (word~) gotoxy::$4 + (byte) gotoxy::x#5 [ conio_cursor_x conio_cursor_y gotoxy::offset#0 ] ( main:7::gotoxy:27 [ conio_textcolor main::first#0 main::col#3 main::row#3 main::rnd#2 main::cnt#1 printf_buffer rand_state#10 conio_cursor_x conio_cursor_y gotoxy::offset#0 ] { { gotoxy::y#2 = gotoxy::y#4 main::row#3 } { gotoxy::x#2 = gotoxy::x#4 main::col#3 } } main:7::gotoxy:41 [ main::cnt#1 printf_buffer conio_cursor_x conio_cursor_y gotoxy::offset#0 ] { } ) always clobbers reg byte a +Statement [231] (byte*~) gotoxy::$6 ← (const nomodify byte*) CONIO_SCREEN_TEXT + (word) gotoxy::offset#0 [ conio_cursor_x conio_cursor_y gotoxy::offset#0 gotoxy::$6 ] ( main:7::gotoxy:27 [ conio_textcolor main::first#0 main::col#3 main::row#3 main::rnd#2 main::cnt#1 printf_buffer rand_state#10 conio_cursor_x conio_cursor_y gotoxy::offset#0 gotoxy::$6 ] { { gotoxy::y#2 = gotoxy::y#4 main::row#3 } { gotoxy::x#2 = gotoxy::x#4 main::col#3 } } main:7::gotoxy:41 [ main::cnt#1 printf_buffer conio_cursor_x conio_cursor_y gotoxy::offset#0 gotoxy::$6 ] { } ) always clobbers reg byte a +Statement [232] (byte*) conio_cursor_text ← (byte*~) gotoxy::$6 [ conio_cursor_x conio_cursor_y conio_cursor_text gotoxy::offset#0 ] ( main:7::gotoxy:27 [ conio_textcolor main::first#0 main::col#3 main::row#3 main::rnd#2 main::cnt#1 printf_buffer rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text gotoxy::offset#0 ] { { gotoxy::y#2 = gotoxy::y#4 main::row#3 } { gotoxy::x#2 = gotoxy::x#4 main::col#3 } } main:7::gotoxy:41 [ main::cnt#1 printf_buffer conio_cursor_x conio_cursor_y conio_cursor_text gotoxy::offset#0 ] { } ) always clobbers reg byte a +Statement [233] (byte*~) gotoxy::$7 ← (const nomodify byte*) CONIO_SCREEN_COLORS + (word) gotoxy::offset#0 [ conio_cursor_x conio_cursor_y conio_cursor_text gotoxy::$7 ] ( main:7::gotoxy:27 [ conio_textcolor main::first#0 main::col#3 main::row#3 main::rnd#2 main::cnt#1 printf_buffer rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text gotoxy::$7 ] { { gotoxy::y#2 = gotoxy::y#4 main::row#3 } { gotoxy::x#2 = gotoxy::x#4 main::col#3 } } main:7::gotoxy:41 [ main::cnt#1 printf_buffer conio_cursor_x conio_cursor_y conio_cursor_text gotoxy::$7 ] { } ) always clobbers reg byte a +Statement [234] (byte*) conio_cursor_color ← (byte*~) gotoxy::$7 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color ] ( main:7::gotoxy:27 [ conio_textcolor main::first#0 main::col#3 main::row#3 main::rnd#2 main::cnt#1 printf_buffer rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color ] { { gotoxy::y#2 = gotoxy::y#4 main::row#3 } { gotoxy::x#2 = gotoxy::x#4 main::col#3 } } main:7::gotoxy:41 [ main::cnt#1 printf_buffer conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color ] { } ) always clobbers reg byte a +Statement [237] (word~) rand::$0 ← (word) rand_state#9 << (byte) 7 [ rand_state#9 rand::$0 ] ( main:7::rand:16 [ printf_buffer rand_state#9 rand::$0 ] { { rand::return#0 = rand::return#2 } } main:7::rand:36 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 printf_buffer rand_state#9 rand::$0 ] { { rand_state#10 = rand_state#9 } { rand::return#0 = rand::return#3 } } ) always clobbers reg byte a +Statement [238] (word) rand_state#1 ← (word) rand_state#9 ^ (word~) rand::$0 [ rand_state#1 ] ( main:7::rand:16 [ printf_buffer rand_state#1 ] { { rand::return#0 = rand::return#2 } } main:7::rand:36 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 printf_buffer rand_state#1 ] { { rand_state#10 = rand_state#9 } { rand::return#0 = rand::return#3 } } ) always clobbers reg byte a +Statement [239] (word~) rand::$1 ← (word) rand_state#1 >> (byte) 9 [ rand_state#1 rand::$1 ] ( main:7::rand:16 [ printf_buffer rand_state#1 rand::$1 ] { { rand::return#0 = rand::return#2 } } main:7::rand:36 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 printf_buffer rand_state#1 rand::$1 ] { { rand_state#10 = rand_state#9 } { rand::return#0 = rand::return#3 } } ) always clobbers reg byte a +Statement [240] (word) rand_state#2 ← (word) rand_state#1 ^ (word~) rand::$1 [ rand_state#2 ] ( main:7::rand:16 [ printf_buffer rand_state#2 ] { { rand::return#0 = rand::return#2 } } main:7::rand:36 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 printf_buffer rand_state#2 ] { { rand_state#10 = rand_state#9 } { rand::return#0 = rand::return#3 } } ) always clobbers reg byte a +Statement [241] (word~) rand::$2 ← (word) rand_state#2 << (byte) 8 [ rand_state#2 rand::$2 ] ( main:7::rand:16 [ printf_buffer rand_state#2 rand::$2 ] { { rand::return#0 = rand::return#2 } } main:7::rand:36 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 printf_buffer rand_state#2 rand::$2 ] { { rand_state#10 = rand_state#9 } { rand::return#0 = rand::return#3 } } ) always clobbers reg byte a +Statement [242] (word) rand_state#10 ← (word) rand_state#2 ^ (word~) rand::$2 [ rand_state#10 ] ( main:7::rand:16 [ printf_buffer rand_state#10 ] { { rand::return#0 = rand::return#2 } } main:7::rand:36 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 printf_buffer rand_state#10 ] { { rand_state#10 = rand_state#9 } { rand::return#0 = rand::return#3 } } ) always clobbers reg byte a +Statement [243] (word) rand::return#0 ← (word) rand_state#10 [ rand::return#0 rand_state#10 ] ( main:7::rand:16 [ printf_buffer rand::return#0 rand_state#10 ] { { rand::return#0 = rand::return#2 } } main:7::rand:36 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 printf_buffer rand::return#0 rand_state#10 ] { { rand_state#10 = rand_state#9 } { rand::return#0 = rand::return#3 } } ) always clobbers reg byte a +Statement [246] *((byte*)&(struct printf_buffer_number) printf_buffer) ← (byte) 0 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_uint::uvalue#0 printf_buffer ] ( main:7::printf_uint:29 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_uint::uvalue#0 printf_buffer ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } } ) always clobbers reg byte a +Statement [247] (word) utoa::value#1 ← (word) printf_uint::uvalue#0 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::value#1 ] ( main:7::printf_uint:29 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::value#1 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } } ) always clobbers reg byte a +Statement [255] (byte~) utoa::$11 ← (byte)(word) utoa::value#2 [ printf_buffer utoa::buffer#11 utoa::$11 ] ( main:7::printf_uint:29::utoa:248 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::buffer#11 utoa::$11 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } } ) always clobbers reg byte a +Statement [256] *((byte*) utoa::buffer#11) ← *((const byte*) DIGITS + (byte~) utoa::$11) [ printf_buffer utoa::buffer#11 ] ( main:7::printf_uint:29::utoa:248 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::buffer#11 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } } ) always clobbers reg byte a reg byte y +Statement [257] (byte*) utoa::buffer#3 ← ++ (byte*) utoa::buffer#11 [ printf_buffer utoa::buffer#3 ] ( main:7::printf_uint:29::utoa:248 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::buffer#3 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } } ) always clobbers reg byte a +Statement [258] *((byte*) utoa::buffer#3) ← (byte) 0 [ printf_buffer ] ( main:7::printf_uint:29::utoa:248 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } } ) always clobbers reg byte a reg byte y +Statement [260] (byte~) utoa::$10 ← (byte) utoa::digit#2 << (byte) 1 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::$10 ] ( main:7::printf_uint:29::utoa:248 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::$10 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:61 [ utoa::digit#2 utoa::digit#1 ] +Removing always clobbered register reg byte a as potential for zp[1]:64 [ utoa::started#2 utoa::started#4 ] +Statement [261] (word) utoa::digit_value#0 ← *((const word*) RADIX_DECIMAL_VALUES + (byte~) utoa::$10) [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] ( main:7::printf_uint:29::utoa:248 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } } ) always clobbers reg byte a +Statement [263] if((word) utoa::value#2>=(word) 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:7::printf_uint:29::utoa:248 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } } ) always clobbers reg byte a +Statement [266] (byte*) utoa_append::buffer#0 ← (byte*) utoa::buffer#11 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 ] ( main:7::printf_uint:29::utoa:248 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::digit#2 utoa::value#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } { 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 [267] (word) utoa_append::value#0 ← (word) utoa::value#2 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] ( main:7::printf_uint:29::utoa:248 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::digit#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } { 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 [268] (word) utoa_append::sub#0 ← (word) 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:7::printf_uint:29::utoa:248 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } { 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 [270] (word) utoa_append::return#0 ← (word) utoa_append::value#2 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::return#0 ] ( main:7::printf_uint:29::utoa:248 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::return#0 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } { 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 [271] (word) utoa::value#0 ← (word) utoa_append::return#0 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa::value#0 ] ( main:7::printf_uint:29::utoa:248 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::digit#2 utoa::buffer#11 utoa::value#0 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } } ) always clobbers reg byte a +Statement [275] if((word) utoa_append::value#2>=(word) utoa_append::sub#0) goto utoa_append::@2 [ utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] ( main:7::printf_uint:29::utoa:248::utoa_append:269 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor 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_uint::uvalue#0 = main::rnd#2 utoa::value#1 } { 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]:69 [ utoa_append::digit#2 utoa_append::digit#1 ] +Statement [276] *((byte*) utoa_append::buffer#0) ← *((const byte*) DIGITS + (byte) utoa_append::digit#2) [ utoa_append::value#2 ] ( main:7::printf_uint:29::utoa:248::utoa_append:269 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::value#2 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } { 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]:61 [ utoa::digit#2 utoa::digit#1 ] +Statement [279] (word) utoa_append::value#1 ← (word) utoa_append::value#2 - (word) utoa_append::sub#0 [ utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] ( main:7::printf_uint:29::utoa:248::utoa_append:269 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor 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_uint::uvalue#0 = main::rnd#2 utoa::value#1 } { 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 [283] (byte) conio_cursor_x ← (byte) 0 [ conio_cursor_x ] ( main:7::clrscr:10 [ printf_buffer conio_cursor_x ] { } ) always clobbers reg byte a +Statement [284] (byte) conio_cursor_y ← (byte) 0 [ conio_cursor_x conio_cursor_y ] ( main:7::clrscr:10 [ printf_buffer conio_cursor_x conio_cursor_y ] { } ) always clobbers reg byte a +Statement [285] (byte*) conio_cursor_text ← (const nomodify byte*) CONIO_SCREEN_TEXT [ conio_cursor_x conio_cursor_y conio_cursor_text ] ( main:7::clrscr:10 [ printf_buffer conio_cursor_x conio_cursor_y conio_cursor_text ] { } ) always clobbers reg byte a +Statement [286] (byte*) conio_cursor_color ← (const nomodify byte*) CONIO_SCREEN_COLORS [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color ] ( main:7::clrscr:10 [ printf_buffer conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color ] { } ) always clobbers reg byte a +Statement [290] (byte*) clrscr::line_text#1 ← (byte*) clrscr::line_text#5 + (byte) $28 [ conio_textcolor clrscr::l#2 clrscr::line_cols#5 clrscr::line_text#1 ] ( main:7::clrscr:10 [ printf_buffer conio_textcolor clrscr::l#2 clrscr::line_cols#5 clrscr::line_text#1 ] { } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:70 [ clrscr::l#2 clrscr::l#1 ] +Statement [291] (byte*) clrscr::line_cols#1 ← (byte*) clrscr::line_cols#5 + (byte) $28 [ conio_textcolor clrscr::l#2 clrscr::line_text#1 clrscr::line_cols#1 ] ( main:7::clrscr:10 [ printf_buffer conio_textcolor clrscr::l#2 clrscr::line_text#1 clrscr::line_cols#1 ] { } ) always clobbers reg byte a +Statement [293] *((byte*) clrscr::line_text#5 + (byte) clrscr::c#2) ← (byte) ' ' [ conio_textcolor clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] ( main:7::clrscr:10 [ printf_buffer conio_textcolor clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] { } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:75 [ clrscr::c#2 clrscr::c#1 ] +Statement [294] *((byte*) clrscr::line_cols#5 + (byte) clrscr::c#2) ← (byte) conio_textcolor [ conio_textcolor clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] ( main:7::clrscr:10 [ printf_buffer conio_textcolor clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] { } ) always clobbers reg byte a +Statement [1] (byte) conio_cursor_x ← (byte) 0 [ printf_buffer ] ( [ printf_buffer ] { } ) always clobbers reg byte a +Statement [2] (byte) conio_cursor_y ← (byte) 0 [ printf_buffer ] ( [ printf_buffer ] { } ) always clobbers reg byte a +Statement [3] (byte*) conio_cursor_text ← (const nomodify byte*) CONIO_SCREEN_TEXT [ printf_buffer ] ( [ printf_buffer ] { } ) always clobbers reg byte a +Statement [4] (byte*) conio_cursor_color ← (const nomodify byte*) CONIO_SCREEN_COLORS [ printf_buffer ] ( [ printf_buffer ] { } ) always clobbers reg byte a +Statement [5] (byte) conio_textcolor ← (const nomodify byte) CONIO_TEXTCOLOR_DEFAULT [ conio_textcolor printf_buffer ] ( [ conio_textcolor printf_buffer ] { } ) always clobbers reg byte a +Statement [17] (word) rand::return#2 ← (word) rand::return#0 [ rand::return#2 printf_buffer rand_state#10 ] ( main:7 [ rand::return#2 printf_buffer rand_state#10 ] { { rand::return#0 = rand::return#2 } } ) always clobbers reg byte a +Statement [18] (word) main::first#0 ← (word) rand::return#2 [ main::first#0 printf_buffer rand_state#10 ] ( main:7 [ main::first#0 printf_buffer rand_state#10 ] { } ) always clobbers reg byte a +Statement [20] (word) main::rnd#5 ← (word) main::first#0 [ conio_textcolor main::first#0 main::rnd#5 printf_buffer rand_state#10 ] ( main:7 [ conio_textcolor main::first#0 main::rnd#5 printf_buffer rand_state#10 ] { } ) always clobbers reg byte a +Statement [23] (byte~) main::$18 ← (byte)(dword) main::cnt#1 [ conio_textcolor main::first#0 main::col#3 main::row#3 main::rnd#2 main::cnt#1 main::$18 printf_buffer rand_state#10 ] ( main:7 [ conio_textcolor main::first#0 main::col#3 main::row#3 main::rnd#2 main::cnt#1 main::$18 printf_buffer rand_state#10 ] { } ) always clobbers reg byte a +Statement [28] (word) printf_uint::uvalue#0 ← (word) main::rnd#2 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor main::first#0 main::col#3 main::row#3 main::cnt#1 printf_uint::uvalue#0 printf_buffer rand_state#10 ] ( main:7 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor main::first#0 main::col#3 main::row#3 main::cnt#1 printf_uint::uvalue#0 printf_buffer rand_state#10 ] { { printf_uint::uvalue#0 = main::rnd#2 } } ) always clobbers reg byte a +Statement [32] (byte) main::col#1 ← (byte) main::col#3 + (byte) 6 [ conio_textcolor main::first#0 main::cnt#1 main::col#1 printf_buffer rand_state#10 ] ( main:7 [ conio_textcolor main::first#0 main::cnt#1 main::col#1 printf_buffer rand_state#10 ] { } ) always clobbers reg byte a reg byte x +Statement [37] (word) rand::return#3 ← (word) rand::return#0 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 rand::return#3 printf_buffer rand_state#10 ] ( main:7 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 rand::return#3 printf_buffer rand_state#10 ] { { rand_state#10 = rand_state#9 } { rand::return#0 = rand::return#3 } } ) always clobbers reg byte a +Statement [38] (word) main::rnd#1 ← (word) rand::return#3 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 main::rnd#1 printf_buffer rand_state#10 ] ( main:7 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 main::rnd#1 printf_buffer rand_state#10 ] { } ) always clobbers reg byte a +Statement [39] if((word) main::rnd#1!=(word) main::first#0) goto main::@1 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 main::rnd#1 printf_buffer rand_state#10 ] ( main:7 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 main::rnd#1 printf_buffer rand_state#10 ] { } ) always clobbers reg byte a +Statement [46] (dword) printf_ulong::uvalue#0 ← (dword) main::cnt#1 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_ulong::uvalue#0 printf_buffer ] ( main:7 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_ulong::uvalue#0 printf_buffer ] { { printf_ulong::uvalue#0 = main::cnt#1 } } ) always clobbers reg byte a +Statement [50] *((byte*)&(struct printf_buffer_number) printf_buffer) ← (byte) 0 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_ulong::uvalue#0 printf_buffer ] ( main:7::printf_ulong:47 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_ulong::uvalue#0 printf_buffer ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } } ) always clobbers reg byte a +Statement [51] (dword) ultoa::value#1 ← (dword) printf_ulong::uvalue#0 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::value#1 ] ( main:7::printf_ulong:47 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::value#1 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } } ) always clobbers reg byte a +Statement [60] (word) strlen::return#2 ← (word) strlen::len#2 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_min_length#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] ( main:7::printf_ulong:47::printf_number_buffer:54 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_min_length#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } } main:7::printf_uint:29::printf_number_buffer:250 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_min_length#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } } ) always clobbers reg byte a +Statement [61] (word~) printf_number_buffer::$19 ← (word) strlen::return#2 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_min_length#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] ( main:7::printf_ulong:47::printf_number_buffer:54 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_min_length#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_uint:29::printf_number_buffer:250 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_min_length#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a +Statement [62] (signed byte) printf_number_buffer::len#0 ← (signed byte)(word~) printf_number_buffer::$19 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_min_length#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] ( main:7::printf_ulong:47::printf_number_buffer:54 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_min_length#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_uint:29::printf_number_buffer:250 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_min_length#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a +Statement [66] (signed byte) printf_number_buffer::padding#1 ← (signed byte)(byte) printf_number_buffer::format_min_length#2 - (signed byte) printf_number_buffer::len#2 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] ( main:7::printf_ulong:47::printf_number_buffer:54 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_uint:29::printf_number_buffer:250 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a +Statement [102] *((byte*) conio_cursor_text) ← (byte) cputc::c#3 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte y +Statement [104] *((byte*) conio_cursor_color) ← (byte) conio_textcolor [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a reg byte y +Statement [107] if((byte) conio_cursor_x!=(byte) $28) goto cputc::@return [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [108] (byte) conio_cursor_x ← (byte) 0 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [114] (byte*~) cputln::$0 ← (byte*) conio_cursor_text - (byte) conio_cursor_x [ conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [115] (byte*~) cputln::$1 ← (byte*~) cputln::$0 + (byte) $28 [ conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cputln::$1 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [116] (byte*) conio_cursor_text ← (byte*~) cputln::$1 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [117] (byte*~) cputln::$2 ← (byte*) conio_cursor_color - (byte) conio_cursor_x [ conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113 [ printf_buffer cputs::s#0 conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_y conio_cursor_text conio_textcolor cputln::$2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [118] (byte*~) cputln::$3 ← (byte*~) cputln::$2 + (byte) $28 [ conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113 [ printf_buffer cputs::s#0 conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_y conio_cursor_text conio_textcolor cputln::$3 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [119] (byte*) conio_cursor_color ← (byte*~) cputln::$3 [ conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113 [ printf_buffer cputs::s#0 conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [120] (byte) conio_cursor_x ← (byte) 0 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [124] if((byte) conio_cursor_y!=(byte) $19) goto cscroll::@return [ conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [133] (byte*~) cscroll::$7 ← (byte*) conio_cursor_text - (byte) $28 [ conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_color conio_textcolor cscroll::$7 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [134] (byte*) conio_cursor_text ← (byte*~) cscroll::$7 [ conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [135] (byte*~) cscroll::$8 ← (byte*) conio_cursor_color - (byte) $28 [ conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_textcolor cscroll::$8 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [136] (byte*) conio_cursor_color ← (byte*~) cscroll::$8 [ conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [140] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (byte) $28 [ memset::str#3 memset::c#4 memset::end#0 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memset:130 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memset:130 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memset:130 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memset:130 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memset:130 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memset:130 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memset:130 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memset:132 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:14::cputc:164::cscroll:110::memset:132 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:45::cputc:164::cscroll:110::memset:132 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memset:132 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memset:132 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memset:132 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memset:132 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::str#3 memset::c#4 memset::end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } ) always clobbers reg byte a +Statement [141] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3 [ memset::c#4 memset::end#0 memset::dst#4 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memset:130 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memset:130 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memset:130 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memset:130 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memset:130 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memset:130 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memset:130 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memset:132 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:14::cputc:164::cscroll:110::memset:132 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:45::cputc:164::cscroll:110::memset:132 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memset:132 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memset:132 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memset:132 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memset:132 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } ) always clobbers reg byte a +Statement [143] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 [ memset::c#4 memset::end#0 memset::dst#2 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memset:130 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memset:130 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memset:130 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memset:130 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memset:130 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memset:130 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memset:130 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memset:132 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:14::cputc:164::cscroll:110::memset:132 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:45::cputc:164::cscroll:110::memset:132 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memset:132 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memset:132 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memset:132 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memset:132 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } ) always clobbers reg byte a +Statement [145] *((byte*) memset::dst#2) ← (byte) memset::c#4 [ memset::c#4 memset::end#0 memset::dst#2 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memset:130 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memset:130 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memset:130 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memset:130 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:130 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memset:130 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memset:130 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memset:130 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memset:130 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memset:132 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:14::cputc:164::cscroll:110::memset:132 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:45::cputc:164::cscroll:110::memset:132 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memset:132 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:132 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memset:132 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memset:132 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memset:132 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memset:132 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memset::c#4 memset::end#0 memset::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } { memset::c#1 = memset::c#4 conio_textcolor } } ) always clobbers reg byte a reg byte y +Statement [148] (byte*) memcpy::src_end#0 ← (byte*)(void*) memcpy::source#2 + (word)(number) $19*(number) $28-(number) $28 [ memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memcpy:126 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memcpy:126 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memcpy:126 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memcpy:126 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memcpy:126 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:126 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memcpy:128 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memcpy:128 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memcpy:128 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memcpy:128 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memcpy:128 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:128 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [149] (byte*) memcpy::src#4 ← (byte*)(void*) memcpy::source#2 [ memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memcpy:126 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memcpy:126 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memcpy:126 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memcpy:126 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memcpy:126 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:126 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memcpy:128 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memcpy:128 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memcpy:128 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memcpy:128 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memcpy:128 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:128 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [150] (byte*) memcpy::dst#4 ← (byte*)(void*) memcpy::destination#2 [ memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memcpy:126 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memcpy:126 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memcpy:126 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memcpy:126 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memcpy:126 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:126 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memcpy:128 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memcpy:128 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memcpy:128 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memcpy:128 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memcpy:128 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:128 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [152] if((byte*) memcpy::src#2!=(byte*) memcpy::src_end#0) goto memcpy::@2 [ memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memcpy:126 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memcpy:126 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memcpy:126 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memcpy:126 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memcpy:126 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:126 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memcpy:128 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memcpy:128 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memcpy:128 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memcpy:128 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memcpy:128 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:128 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a +Statement [154] *((byte*) memcpy::dst#2) ← *((byte*) memcpy::src#2) [ memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] ( main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memcpy:126 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memcpy:126 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memcpy:126 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memcpy:126 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:126 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memcpy:126 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memcpy:126 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:126 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:126 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cscroll:110::memcpy:128 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cscroll:110::memcpy:128 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cscroll:110::memcpy:128 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cscroll:110::memcpy:128 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cscroll:110::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputc:77::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#0 } } main:7::printf_uint:29::printf_number_buffer:250::cputc:77::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { cputc::c#2 = cputc::c#3 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:74::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:81::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_ulong:47::printf_number_buffer:54::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:128 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::printf_uint:29::printf_number_buffer:250::printf_padding:91::cputc:98::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { cputc::c#1 = cputc::c#3 printf_padding::pad#5 } } main:7::cputs:14::cputc:164::cputln:113::cscroll:122::memcpy:128 [ printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::cputs:45::cputc:164::cputln:113::cscroll:122::memcpy:128 [ main::cnt#1 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:128 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86::cputc:164::cputln:113::cscroll:122::memcpy:128 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 printf_buffer cputs::s#0 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { cputc::c#0 = cputc::c#3 cputs::c#1 } } ) always clobbers reg byte a reg byte y +Statement [159] (byte) cputs::c#1 ← *((to_nomodify byte*) cputs::s#4) [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer cputs::s#4 cputs::c#1 ] ( main:7::cputs:14 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer cputs::s#4 cputs::c#1 ] { } main:7::cputs:45 [ main::cnt#1 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer cputs::s#4 cputs::c#1 ] { } main:7::printf_ulong:47::printf_number_buffer:54::cputs:86 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer cputs::s#4 cputs::c#1 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_uint:29::printf_number_buffer:250::cputs:86 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer cputs::s#4 cputs::c#1 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a reg byte y +Statement [167] if((byte) 0!=*((byte*) strupr::src#2)) goto strupr::@2 [ strupr::src#2 ] ( main:7::printf_ulong:47::printf_number_buffer:54::strupr:84 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_uint:29::printf_number_buffer:250::strupr:84 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte a reg byte y +Statement [169] (byte) toupper::ch#0 ← *((byte*) strupr::src#2) [ strupr::src#2 toupper::ch#0 ] ( main:7::printf_ulong:47::printf_number_buffer:54::strupr:84 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } } main:7::printf_uint:29::printf_number_buffer:250::strupr:84 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } } ) always clobbers reg byte a reg byte y +Statement [173] *((byte*) strupr::src#2) ← (byte~) strupr::$0 [ strupr::src#2 ] ( main:7::printf_ulong:47::printf_number_buffer:54::strupr:84 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } } main:7::printf_uint:29::printf_number_buffer:250::strupr:84 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } } ) always clobbers reg byte y +Statement [177] (byte) toupper::return#0 ← (byte) toupper::ch#0 + (byte) 'A'-(byte) 'a' [ toupper::return#0 ] ( main:7::printf_ulong:47::printf_number_buffer:54::strupr:84::toupper:170 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } } main:7::printf_uint:29::printf_number_buffer:250::strupr:84::toupper:170 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } } ) always clobbers reg byte a +Statement [182] if((byte) 0!=*((byte*) strlen::str#2)) goto strlen::@2 [ printf_buffer strlen::len#2 strlen::str#2 ] ( main:7::printf_ulong:47::printf_number_buffer:54::strlen:59 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_number_buffer::format_min_length#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } } main:7::printf_uint:29::printf_number_buffer:250::strlen:59 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_number_buffer::format_min_length#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_uint::uvalue#0 = main::rnd#2 } { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } } ) always clobbers reg byte a reg byte y +Statement [189] (byte~) ultoa::$11 ← (byte)(dword) ultoa::value#2 [ printf_buffer ultoa::buffer#11 ultoa::$11 ] ( main:7::printf_ulong:47::ultoa:52 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::buffer#11 ultoa::$11 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } } ) always clobbers reg byte a +Statement [190] *((byte*) ultoa::buffer#11) ← *((const byte*) DIGITS + (byte~) ultoa::$11) [ printf_buffer ultoa::buffer#11 ] ( main:7::printf_ulong:47::ultoa:52 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::buffer#11 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } } ) always clobbers reg byte a reg byte y +Statement [191] (byte*) ultoa::buffer#3 ← ++ (byte*) ultoa::buffer#11 [ printf_buffer ultoa::buffer#3 ] ( main:7::printf_ulong:47::ultoa:52 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::buffer#3 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } } ) always clobbers reg byte a +Statement [192] *((byte*) ultoa::buffer#3) ← (byte) 0 [ printf_buffer ] ( main:7::printf_ulong:47::ultoa:52 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } } ) always clobbers reg byte a reg byte y +Statement [194] (byte~) ultoa::$10 ← (byte) ultoa::digit#2 << (byte) 2 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::$10 ] ( main:7::printf_ulong:47::ultoa:52 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::$10 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } } ) always clobbers reg byte a +Statement [195] (dword) ultoa::digit_value#0 ← *((const dword*) RADIX_DECIMAL_VALUES_LONG + (byte~) ultoa::$10) [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] ( main:7::printf_ulong:47::ultoa:52 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } } ) always clobbers reg byte a +Statement [197] if((dword) ultoa::value#2>=(dword) ultoa::digit_value#0) goto ultoa::@5 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] ( main:7::printf_ulong:47::ultoa:52 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } } ) always clobbers reg byte a +Statement [200] (byte*) ultoa_append::buffer#0 ← (byte*) ultoa::buffer#11 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ] ( main:7::printf_ulong:47::ultoa:52 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a +Statement [201] (dword) ultoa_append::value#0 ← (dword) ultoa::value#2 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ultoa_append::value#0 ] ( main:7::printf_ulong:47::ultoa:52 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ultoa_append::value#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a +Statement [202] (dword) ultoa_append::sub#0 ← (dword) ultoa::digit_value#0 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::value#0 ultoa_append::sub#0 ] ( main:7::printf_ulong:47::ultoa:52 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::value#0 ultoa_append::sub#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a +Statement [204] (dword) ultoa_append::return#0 ← (dword) ultoa_append::value#2 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::return#0 ] ( main:7::printf_ulong:47::ultoa:52 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::return#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a +Statement [205] (dword) ultoa::value#0 ← (dword) ultoa_append::return#0 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::value#0 ] ( main:7::printf_ulong:47::ultoa:52 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::value#0 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } } ) always clobbers reg byte a +Statement [209] if((dword) ultoa_append::value#2>=(dword) ultoa_append::sub#0) goto ultoa_append::@2 [ ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#2 ultoa_append::digit#2 ] ( main:7::printf_ulong:47::ultoa:52::ultoa_append:203 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#2 ultoa_append::digit#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a +Statement [210] *((byte*) ultoa_append::buffer#0) ← *((const byte*) DIGITS + (byte) ultoa_append::digit#2) [ ultoa_append::value#2 ] ( main:7::printf_ulong:47::ultoa:52::ultoa_append:203 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::value#2 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a reg byte y +Statement [213] (dword) ultoa_append::value#1 ← (dword) ultoa_append::value#2 - (dword) ultoa_append::sub#0 [ ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#1 ultoa_append::digit#1 ] ( main:7::printf_ulong:47::ultoa:52::ultoa_append:203 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#1 ultoa_append::digit#1 ] { { printf_ulong::uvalue#0 = main::cnt#1 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } } ) always clobbers reg byte a +Statement [226] (word~) gotoxy::$8 ← (word)(byte) gotoxy::y#5 [ conio_cursor_x conio_cursor_y gotoxy::x#5 gotoxy::$8 ] ( main:7::gotoxy:27 [ conio_textcolor main::first#0 main::col#3 main::row#3 main::rnd#2 main::cnt#1 printf_buffer rand_state#10 conio_cursor_x conio_cursor_y gotoxy::x#5 gotoxy::$8 ] { { gotoxy::y#2 = gotoxy::y#4 main::row#3 } { gotoxy::x#2 = gotoxy::x#4 main::col#3 } } main:7::gotoxy:41 [ main::cnt#1 printf_buffer conio_cursor_x conio_cursor_y gotoxy::x#5 gotoxy::$8 ] { } ) always clobbers reg byte a +Statement [227] (word~) gotoxy::$9 ← (word~) gotoxy::$8 << (byte) 2 [ conio_cursor_x conio_cursor_y gotoxy::x#5 gotoxy::$8 gotoxy::$9 ] ( main:7::gotoxy:27 [ conio_textcolor main::first#0 main::col#3 main::row#3 main::rnd#2 main::cnt#1 printf_buffer rand_state#10 conio_cursor_x conio_cursor_y gotoxy::x#5 gotoxy::$8 gotoxy::$9 ] { { gotoxy::y#2 = gotoxy::y#4 main::row#3 } { gotoxy::x#2 = gotoxy::x#4 main::col#3 } } main:7::gotoxy:41 [ main::cnt#1 printf_buffer conio_cursor_x conio_cursor_y gotoxy::x#5 gotoxy::$8 gotoxy::$9 ] { } ) always clobbers reg byte a +Statement [228] (word~) gotoxy::$10 ← (word~) gotoxy::$9 + (word~) gotoxy::$8 [ conio_cursor_x conio_cursor_y gotoxy::x#5 gotoxy::$10 ] ( main:7::gotoxy:27 [ conio_textcolor main::first#0 main::col#3 main::row#3 main::rnd#2 main::cnt#1 printf_buffer rand_state#10 conio_cursor_x conio_cursor_y gotoxy::x#5 gotoxy::$10 ] { { gotoxy::y#2 = gotoxy::y#4 main::row#3 } { gotoxy::x#2 = gotoxy::x#4 main::col#3 } } main:7::gotoxy:41 [ main::cnt#1 printf_buffer conio_cursor_x conio_cursor_y gotoxy::x#5 gotoxy::$10 ] { } ) always clobbers reg byte a +Statement [229] (word~) gotoxy::$4 ← (word~) gotoxy::$10 << (byte) 3 [ conio_cursor_x conio_cursor_y gotoxy::x#5 gotoxy::$4 ] ( main:7::gotoxy:27 [ conio_textcolor main::first#0 main::col#3 main::row#3 main::rnd#2 main::cnt#1 printf_buffer rand_state#10 conio_cursor_x conio_cursor_y gotoxy::x#5 gotoxy::$4 ] { { gotoxy::y#2 = gotoxy::y#4 main::row#3 } { gotoxy::x#2 = gotoxy::x#4 main::col#3 } } main:7::gotoxy:41 [ main::cnt#1 printf_buffer conio_cursor_x conio_cursor_y gotoxy::x#5 gotoxy::$4 ] { } ) always clobbers reg byte a +Statement [230] (word) gotoxy::offset#0 ← (word~) gotoxy::$4 + (byte) gotoxy::x#5 [ conio_cursor_x conio_cursor_y gotoxy::offset#0 ] ( main:7::gotoxy:27 [ conio_textcolor main::first#0 main::col#3 main::row#3 main::rnd#2 main::cnt#1 printf_buffer rand_state#10 conio_cursor_x conio_cursor_y gotoxy::offset#0 ] { { gotoxy::y#2 = gotoxy::y#4 main::row#3 } { gotoxy::x#2 = gotoxy::x#4 main::col#3 } } main:7::gotoxy:41 [ main::cnt#1 printf_buffer conio_cursor_x conio_cursor_y gotoxy::offset#0 ] { } ) always clobbers reg byte a +Statement [231] (byte*~) gotoxy::$6 ← (const nomodify byte*) CONIO_SCREEN_TEXT + (word) gotoxy::offset#0 [ conio_cursor_x conio_cursor_y gotoxy::offset#0 gotoxy::$6 ] ( main:7::gotoxy:27 [ conio_textcolor main::first#0 main::col#3 main::row#3 main::rnd#2 main::cnt#1 printf_buffer rand_state#10 conio_cursor_x conio_cursor_y gotoxy::offset#0 gotoxy::$6 ] { { gotoxy::y#2 = gotoxy::y#4 main::row#3 } { gotoxy::x#2 = gotoxy::x#4 main::col#3 } } main:7::gotoxy:41 [ main::cnt#1 printf_buffer conio_cursor_x conio_cursor_y gotoxy::offset#0 gotoxy::$6 ] { } ) always clobbers reg byte a +Statement [232] (byte*) conio_cursor_text ← (byte*~) gotoxy::$6 [ conio_cursor_x conio_cursor_y conio_cursor_text gotoxy::offset#0 ] ( main:7::gotoxy:27 [ conio_textcolor main::first#0 main::col#3 main::row#3 main::rnd#2 main::cnt#1 printf_buffer rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text gotoxy::offset#0 ] { { gotoxy::y#2 = gotoxy::y#4 main::row#3 } { gotoxy::x#2 = gotoxy::x#4 main::col#3 } } main:7::gotoxy:41 [ main::cnt#1 printf_buffer conio_cursor_x conio_cursor_y conio_cursor_text gotoxy::offset#0 ] { } ) always clobbers reg byte a +Statement [233] (byte*~) gotoxy::$7 ← (const nomodify byte*) CONIO_SCREEN_COLORS + (word) gotoxy::offset#0 [ conio_cursor_x conio_cursor_y conio_cursor_text gotoxy::$7 ] ( main:7::gotoxy:27 [ conio_textcolor main::first#0 main::col#3 main::row#3 main::rnd#2 main::cnt#1 printf_buffer rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text gotoxy::$7 ] { { gotoxy::y#2 = gotoxy::y#4 main::row#3 } { gotoxy::x#2 = gotoxy::x#4 main::col#3 } } main:7::gotoxy:41 [ main::cnt#1 printf_buffer conio_cursor_x conio_cursor_y conio_cursor_text gotoxy::$7 ] { } ) always clobbers reg byte a +Statement [234] (byte*) conio_cursor_color ← (byte*~) gotoxy::$7 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color ] ( main:7::gotoxy:27 [ conio_textcolor main::first#0 main::col#3 main::row#3 main::rnd#2 main::cnt#1 printf_buffer rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color ] { { gotoxy::y#2 = gotoxy::y#4 main::row#3 } { gotoxy::x#2 = gotoxy::x#4 main::col#3 } } main:7::gotoxy:41 [ main::cnt#1 printf_buffer conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color ] { } ) always clobbers reg byte a +Statement [237] (word~) rand::$0 ← (word) rand_state#9 << (byte) 7 [ rand_state#9 rand::$0 ] ( main:7::rand:16 [ printf_buffer rand_state#9 rand::$0 ] { { rand::return#0 = rand::return#2 } } main:7::rand:36 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 printf_buffer rand_state#9 rand::$0 ] { { rand_state#10 = rand_state#9 } { rand::return#0 = rand::return#3 } } ) always clobbers reg byte a +Statement [238] (word) rand_state#1 ← (word) rand_state#9 ^ (word~) rand::$0 [ rand_state#1 ] ( main:7::rand:16 [ printf_buffer rand_state#1 ] { { rand::return#0 = rand::return#2 } } main:7::rand:36 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 printf_buffer rand_state#1 ] { { rand_state#10 = rand_state#9 } { rand::return#0 = rand::return#3 } } ) always clobbers reg byte a +Statement [239] (word~) rand::$1 ← (word) rand_state#1 >> (byte) 9 [ rand_state#1 rand::$1 ] ( main:7::rand:16 [ printf_buffer rand_state#1 rand::$1 ] { { rand::return#0 = rand::return#2 } } main:7::rand:36 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 printf_buffer rand_state#1 rand::$1 ] { { rand_state#10 = rand_state#9 } { rand::return#0 = rand::return#3 } } ) always clobbers reg byte a +Statement [240] (word) rand_state#2 ← (word) rand_state#1 ^ (word~) rand::$1 [ rand_state#2 ] ( main:7::rand:16 [ printf_buffer rand_state#2 ] { { rand::return#0 = rand::return#2 } } main:7::rand:36 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 printf_buffer rand_state#2 ] { { rand_state#10 = rand_state#9 } { rand::return#0 = rand::return#3 } } ) always clobbers reg byte a +Statement [241] (word~) rand::$2 ← (word) rand_state#2 << (byte) 8 [ rand_state#2 rand::$2 ] ( main:7::rand:16 [ printf_buffer rand_state#2 rand::$2 ] { { rand::return#0 = rand::return#2 } } main:7::rand:36 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 printf_buffer rand_state#2 rand::$2 ] { { rand_state#10 = rand_state#9 } { rand::return#0 = rand::return#3 } } ) always clobbers reg byte a +Statement [242] (word) rand_state#10 ← (word) rand_state#2 ^ (word~) rand::$2 [ rand_state#10 ] ( main:7::rand:16 [ printf_buffer rand_state#10 ] { { rand::return#0 = rand::return#2 } } main:7::rand:36 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 printf_buffer rand_state#10 ] { { rand_state#10 = rand_state#9 } { rand::return#0 = rand::return#3 } } ) always clobbers reg byte a +Statement [243] (word) rand::return#0 ← (word) rand_state#10 [ rand::return#0 rand_state#10 ] ( main:7::rand:16 [ printf_buffer rand::return#0 rand_state#10 ] { { rand::return#0 = rand::return#2 } } main:7::rand:36 [ conio_textcolor main::first#0 main::cnt#1 main::col#7 main::row#7 printf_buffer rand::return#0 rand_state#10 ] { { rand_state#10 = rand_state#9 } { rand::return#0 = rand::return#3 } } ) always clobbers reg byte a +Statement [246] *((byte*)&(struct printf_buffer_number) printf_buffer) ← (byte) 0 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_uint::uvalue#0 printf_buffer ] ( main:7::printf_uint:29 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_uint::uvalue#0 printf_buffer ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } } ) always clobbers reg byte a +Statement [247] (word) utoa::value#1 ← (word) printf_uint::uvalue#0 [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::value#1 ] ( main:7::printf_uint:29 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::value#1 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } } ) always clobbers reg byte a +Statement [255] (byte~) utoa::$11 ← (byte)(word) utoa::value#2 [ printf_buffer utoa::buffer#11 utoa::$11 ] ( main:7::printf_uint:29::utoa:248 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::buffer#11 utoa::$11 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } } ) always clobbers reg byte a +Statement [256] *((byte*) utoa::buffer#11) ← *((const byte*) DIGITS + (byte~) utoa::$11) [ printf_buffer utoa::buffer#11 ] ( main:7::printf_uint:29::utoa:248 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::buffer#11 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } } ) always clobbers reg byte a reg byte y +Statement [257] (byte*) utoa::buffer#3 ← ++ (byte*) utoa::buffer#11 [ printf_buffer utoa::buffer#3 ] ( main:7::printf_uint:29::utoa:248 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::buffer#3 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } } ) always clobbers reg byte a +Statement [258] *((byte*) utoa::buffer#3) ← (byte) 0 [ printf_buffer ] ( main:7::printf_uint:29::utoa:248 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } } ) always clobbers reg byte a reg byte y +Statement [260] (byte~) utoa::$10 ← (byte) utoa::digit#2 << (byte) 1 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::$10 ] ( main:7::printf_uint:29::utoa:248 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::$10 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } } ) always clobbers reg byte a +Statement [261] (word) utoa::digit_value#0 ← *((const word*) RADIX_DECIMAL_VALUES + (byte~) utoa::$10) [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] ( main:7::printf_uint:29::utoa:248 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } } ) always clobbers reg byte a +Statement [263] if((word) utoa::value#2>=(word) 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:7::printf_uint:29::utoa:248 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } } ) always clobbers reg byte a +Statement [266] (byte*) utoa_append::buffer#0 ← (byte*) utoa::buffer#11 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 ] ( main:7::printf_uint:29::utoa:248 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::digit#2 utoa::value#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } { 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 [267] (word) utoa_append::value#0 ← (word) utoa::value#2 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] ( main:7::printf_uint:29::utoa:248 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::digit#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } { 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 [268] (word) utoa_append::sub#0 ← (word) 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:7::printf_uint:29::utoa:248 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } { 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 [270] (word) utoa_append::return#0 ← (word) utoa_append::value#2 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::return#0 ] ( main:7::printf_uint:29::utoa:248 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::return#0 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } { 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 [271] (word) utoa::value#0 ← (word) utoa_append::return#0 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa::value#0 ] ( main:7::printf_uint:29::utoa:248 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::digit#2 utoa::buffer#11 utoa::value#0 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } } ) always clobbers reg byte a +Statement [275] if((word) utoa_append::value#2>=(word) utoa_append::sub#0) goto utoa_append::@2 [ utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] ( main:7::printf_uint:29::utoa:248::utoa_append:269 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor 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_uint::uvalue#0 = main::rnd#2 utoa::value#1 } { 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 [276] *((byte*) utoa_append::buffer#0) ← *((const byte*) DIGITS + (byte) utoa_append::digit#2) [ utoa_append::value#2 ] ( main:7::printf_uint:29::utoa:248::utoa_append:269 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::value#2 ] { { printf_uint::uvalue#0 = main::rnd#2 utoa::value#1 } { 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 [279] (word) utoa_append::value#1 ← (word) utoa_append::value#2 - (word) utoa_append::sub#0 [ utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] ( main:7::printf_uint:29::utoa:248::utoa_append:269 [ main::first#0 main::col#3 main::row#3 main::cnt#1 rand_state#10 conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color conio_textcolor 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_uint::uvalue#0 = main::rnd#2 utoa::value#1 } { 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 [283] (byte) conio_cursor_x ← (byte) 0 [ conio_cursor_x ] ( main:7::clrscr:10 [ printf_buffer conio_cursor_x ] { } ) always clobbers reg byte a +Statement [284] (byte) conio_cursor_y ← (byte) 0 [ conio_cursor_x conio_cursor_y ] ( main:7::clrscr:10 [ printf_buffer conio_cursor_x conio_cursor_y ] { } ) always clobbers reg byte a +Statement [285] (byte*) conio_cursor_text ← (const nomodify byte*) CONIO_SCREEN_TEXT [ conio_cursor_x conio_cursor_y conio_cursor_text ] ( main:7::clrscr:10 [ printf_buffer conio_cursor_x conio_cursor_y conio_cursor_text ] { } ) always clobbers reg byte a +Statement [286] (byte*) conio_cursor_color ← (const nomodify byte*) CONIO_SCREEN_COLORS [ conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color ] ( main:7::clrscr:10 [ printf_buffer conio_cursor_x conio_cursor_y conio_cursor_text conio_cursor_color ] { } ) always clobbers reg byte a +Statement [290] (byte*) clrscr::line_text#1 ← (byte*) clrscr::line_text#5 + (byte) $28 [ conio_textcolor clrscr::l#2 clrscr::line_cols#5 clrscr::line_text#1 ] ( main:7::clrscr:10 [ printf_buffer conio_textcolor clrscr::l#2 clrscr::line_cols#5 clrscr::line_text#1 ] { } ) always clobbers reg byte a +Statement [291] (byte*) clrscr::line_cols#1 ← (byte*) clrscr::line_cols#5 + (byte) $28 [ conio_textcolor clrscr::l#2 clrscr::line_text#1 clrscr::line_cols#1 ] ( main:7::clrscr:10 [ printf_buffer conio_textcolor clrscr::l#2 clrscr::line_text#1 clrscr::line_cols#1 ] { } ) always clobbers reg byte a +Statement [293] *((byte*) clrscr::line_text#5 + (byte) clrscr::c#2) ← (byte) ' ' [ conio_textcolor clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] ( main:7::clrscr:10 [ printf_buffer conio_textcolor clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] { } ) always clobbers reg byte a +Statement [294] *((byte*) clrscr::line_cols#5 + (byte) clrscr::c#2) ← (byte) conio_textcolor [ conio_textcolor clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] ( main:7::clrscr:10 [ printf_buffer conio_textcolor clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] { } ) always clobbers reg byte a +Potential registers zp[4]:2 [ main::cnt#2 main::cnt#1 ] : zp[4]:2 , +Potential registers zp[1]:6 [ main::col#3 main::col#7 main::col#1 ] : zp[1]:6 , reg byte x , +Potential registers zp[1]:7 [ main::row#3 main::row#7 main::row#1 ] : zp[1]:7 , reg byte x , +Potential registers zp[2]:8 [ main::rnd#2 main::rnd#5 main::rnd#1 ] : zp[2]:8 , +Potential registers zp[1]:10 [ printf_number_buffer::format_min_length#2 ] : zp[1]:10 , reg byte x , +Potential registers zp[1]:11 [ printf_number_buffer::format_justify_left#10 ] : zp[1]:11 , reg byte x , +Potential registers zp[1]:12 [ printf_number_buffer::format_zero_padding#10 ] : zp[1]:12 , reg byte x , +Potential registers zp[1]:13 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ] : zp[1]:13 , reg byte x , +Potential registers zp[1]:14 [ printf_number_buffer::format_upper_case#10 ] : zp[1]:14 , reg byte x , +Potential registers zp[1]:15 [ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ] : zp[1]:15 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:16 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ] : zp[1]:16 , reg byte x , +Potential registers zp[1]:17 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ] : zp[1]:17 , reg byte x , +Potential registers zp[1]:18 [ printf_padding::pad#5 ] : zp[1]:18 , reg byte x , +Potential registers zp[1]:19 [ printf_padding::i#2 printf_padding::i#1 ] : zp[1]:19 , reg byte x , +Potential registers zp[1]:20 [ cputc::c#3 cputc::c#0 cputc::c#2 cputc::c#1 ] : zp[1]:20 , reg byte a , reg byte x , reg byte y , +Potential registers zp[2]:21 [ memset::str#3 ] : zp[2]:21 , +Potential registers zp[1]:23 [ memset::c#4 memset::c#1 ] : zp[1]:23 , reg byte x , +Potential registers zp[2]:24 [ memset::dst#2 memset::dst#4 memset::dst#1 ] : zp[2]:24 , +Potential registers zp[2]:26 [ memcpy::source#2 ] : zp[2]:26 , +Potential registers zp[2]:28 [ memcpy::destination#2 ] : zp[2]:28 , +Potential registers zp[2]:30 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 ] : zp[2]:30 , +Potential registers zp[2]:32 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] : zp[2]:32 , +Potential registers zp[2]:34 [ cputs::s#4 cputs::s#5 cputs::s#0 ] : zp[2]:34 , +Potential registers zp[2]:36 [ strupr::src#2 strupr::src#1 ] : zp[2]:36 , +Potential registers zp[1]:38 [ toupper::return#2 toupper::return#0 toupper::ch#0 ] : zp[1]:38 , reg byte a , reg byte x , reg byte y , +Potential registers zp[2]:39 [ strlen::str#2 strlen::str#0 ] : zp[2]:39 , +Potential registers zp[2]:41 [ strlen::len#2 strlen::len#1 ] : zp[2]:41 , +Potential registers zp[1]:43 [ ultoa::digit#2 ultoa::digit#1 ] : zp[1]:43 , reg byte x , +Potential registers zp[4]:44 [ ultoa::value#2 ultoa::value#6 ultoa::value#1 ultoa::value#0 ] : zp[4]:44 , +Potential registers zp[1]:48 [ ultoa::started#2 ultoa::started#4 ] : zp[1]:48 , reg byte x , reg byte y , +Potential registers zp[2]:49 [ ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ] : zp[2]:49 , +Potential registers zp[4]:51 [ ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ] : zp[4]:51 , +Potential registers zp[1]:55 [ ultoa_append::digit#2 ultoa_append::digit#1 ] : zp[1]:55 , reg byte x , reg byte y , +Potential registers zp[1]:56 [ textcolor::color#3 ] : zp[1]:56 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:57 [ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ] : zp[1]:57 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:58 [ gotoxy::x#5 gotoxy::x#4 gotoxy::x#2 ] : zp[1]:58 , reg byte x , reg byte y , +Potential registers zp[2]:59 [ rand_state#9 rand_state#10 ] : zp[2]:59 , +Potential registers zp[1]:61 [ utoa::digit#2 utoa::digit#1 ] : zp[1]:61 , reg byte x , +Potential registers zp[2]:62 [ utoa::value#2 utoa::value#6 utoa::value#1 utoa::value#0 ] : zp[2]:62 , +Potential registers zp[1]:64 [ utoa::started#2 utoa::started#4 ] : zp[1]:64 , reg byte x , reg byte y , +Potential registers zp[2]:65 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 ] : zp[2]:65 , +Potential registers zp[2]:67 [ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ] : zp[2]:67 , +Potential registers zp[1]:69 [ utoa_append::digit#2 utoa_append::digit#1 ] : zp[1]:69 , reg byte x , reg byte y , +Potential registers zp[1]:70 [ clrscr::l#2 clrscr::l#1 ] : zp[1]:70 , reg byte x , reg byte y , +Potential registers zp[2]:71 [ clrscr::line_text#5 clrscr::line_text#1 ] : zp[2]:71 , +Potential registers zp[2]:73 [ clrscr::line_cols#5 clrscr::line_cols#1 ] : zp[2]:73 , +Potential registers zp[1]:75 [ clrscr::c#2 clrscr::c#1 ] : zp[1]:75 , reg byte x , reg byte y , +Potential registers zp[1]:76 [ conio_cursor_x ] : zp[1]:76 , +Potential registers zp[1]:77 [ conio_cursor_y ] : zp[1]:77 , +Potential registers zp[2]:78 [ conio_cursor_text ] : zp[2]:78 , +Potential registers zp[2]:80 [ conio_cursor_color ] : zp[2]:80 , +Potential registers zp[1]:82 [ conio_textcolor ] : zp[1]:82 , +Potential registers zp[2]:83 [ rand::return#2 ] : zp[2]:83 , +Potential registers zp[2]:85 [ main::first#0 ] : zp[2]:85 , +Potential registers zp[1]:87 [ main::$18 ] : zp[1]:87 , reg byte a , reg byte x , reg byte y , +Potential registers zp[2]:88 [ printf_uint::uvalue#0 ] : zp[2]:88 , +Potential registers zp[2]:90 [ rand::return#3 ] : zp[2]:90 , +Potential registers zp[4]:92 [ printf_ulong::uvalue#0 ] : zp[4]:92 , +Potential registers zp[2]:96 [ strlen::return#2 ] : zp[2]:96 , +Potential registers zp[2]:98 [ printf_number_buffer::$19 ] : zp[2]:98 , +Potential registers zp[2]:100 [ cputln::$0 ] : zp[2]:100 , +Potential registers zp[2]:102 [ cputln::$1 ] : zp[2]:102 , +Potential registers zp[2]:104 [ cputln::$2 ] : zp[2]:104 , +Potential registers zp[2]:106 [ cputln::$3 ] : zp[2]:106 , +Potential registers zp[2]:108 [ cscroll::$7 ] : zp[2]:108 , +Potential registers zp[2]:110 [ cscroll::$8 ] : zp[2]:110 , +Potential registers zp[2]:112 [ memset::end#0 ] : zp[2]:112 , +Potential registers zp[2]:114 [ memcpy::src_end#0 ] : zp[2]:114 , +Potential registers zp[1]:116 [ cputs::c#1 ] : zp[1]:116 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:117 [ toupper::return#3 ] : zp[1]:117 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:118 [ strupr::$0 ] : zp[1]:118 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:119 [ ultoa::$11 ] : zp[1]:119 , reg byte a , reg byte x , reg byte y , +Potential registers zp[2]:120 [ ultoa::buffer#3 ] : zp[2]:120 , +Potential registers zp[1]:122 [ ultoa::$10 ] : zp[1]:122 , reg byte a , reg byte x , reg byte y , +Potential registers zp[4]:123 [ ultoa::digit_value#0 ] : zp[4]:123 , +Potential registers zp[2]:127 [ ultoa_append::buffer#0 ] : zp[2]:127 , +Potential registers zp[4]:129 [ ultoa_append::sub#0 ] : zp[4]:129 , +Potential registers zp[4]:133 [ ultoa_append::return#0 ] : zp[4]:133 , +Potential registers zp[2]:137 [ gotoxy::$8 ] : zp[2]:137 , +Potential registers zp[2]:139 [ gotoxy::$9 ] : zp[2]:139 , +Potential registers zp[2]:141 [ gotoxy::$10 ] : zp[2]:141 , +Potential registers zp[2]:143 [ gotoxy::$4 ] : zp[2]:143 , +Potential registers zp[2]:145 [ gotoxy::offset#0 ] : zp[2]:145 , +Potential registers zp[2]:147 [ gotoxy::$6 ] : zp[2]:147 , +Potential registers zp[2]:149 [ gotoxy::$7 ] : zp[2]:149 , +Potential registers zp[2]:151 [ rand::$0 ] : zp[2]:151 , +Potential registers zp[2]:153 [ rand_state#1 ] : zp[2]:153 , +Potential registers zp[2]:155 [ rand::$1 ] : zp[2]:155 , +Potential registers zp[2]:157 [ rand_state#2 ] : zp[2]:157 , +Potential registers zp[2]:159 [ rand::$2 ] : zp[2]:159 , +Potential registers zp[2]:161 [ rand::return#0 ] : zp[2]:161 , +Potential registers zp[1]:163 [ utoa::$11 ] : zp[1]:163 , reg byte a , reg byte x , reg byte y , +Potential registers zp[2]:164 [ utoa::buffer#3 ] : zp[2]:164 , +Potential registers zp[1]:166 [ utoa::$10 ] : zp[1]:166 , reg byte a , reg byte x , reg byte y , +Potential registers zp[2]:167 [ utoa::digit_value#0 ] : zp[2]:167 , +Potential registers zp[2]:169 [ utoa_append::buffer#0 ] : zp[2]:169 , +Potential registers zp[2]:171 [ utoa_append::sub#0 ] : zp[2]:171 , +Potential registers zp[2]:173 [ utoa_append::return#0 ] : zp[2]:173 , +Potential registers mem[12] [ printf_buffer ] : mem[12] , + +REGISTER UPLIFT SCOPES +Uplift Scope [memcpy] 300,125,000,000,004.25: zp[2]:30 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 ] 200,233,333,333,337.7: zp[2]:32 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] 12,512,500,000,000.25: zp[2]:114 [ memcpy::src_end#0 ] 0: zp[2]:26 [ memcpy::source#2 ] 0: zp[2]:28 [ memcpy::destination#2 ] +Uplift Scope [memset] 333,566,666,666,672.4: zp[2]:24 [ memset::dst#2 memset::dst#4 memset::dst#1 ] 16,683,333,333,333.67: zp[2]:112 [ memset::end#0 ] 14,307,142,857,145.14: zp[1]:23 [ memset::c#4 memset::c#1 ] 0: zp[2]:21 [ memset::str#3 ] +Uplift Scope [utoa_append] 25,005,500,003.5: zp[2]:67 [ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ] 20,005,000,002.5: zp[1]:69 [ utoa_append::digit#2 utoa_append::digit#1 ] 3,333,500,000.5: zp[2]:171 [ utoa_append::sub#0 ] 2,000,002: zp[2]:173 [ utoa_append::return#0 ] 1,375,000.25: zp[2]:169 [ utoa_append::buffer#0 ] +Uplift Scope [cscroll] 20,000,000,002: zp[2]:108 [ cscroll::$7 ] 20,000,000,002: zp[2]:110 [ cscroll::$8 ] +Uplift Scope [cputln] 2,000,000,002: zp[2]:100 [ cputln::$0 ] 2,000,000,002: zp[2]:102 [ cputln::$1 ] 2,000,000,002: zp[2]:104 [ cputln::$2 ] 2,000,000,002: zp[2]:106 [ cputln::$3 ] +Uplift Scope [] 255,555,564.37: zp[1]:77 [ conio_cursor_y ] 199,107,152.78: zp[2]:80 [ conio_cursor_color ] 193,913,053.14: zp[2]:78 [ conio_cursor_text ] 69,178,151.41: zp[1]:82 [ conio_textcolor ] 30,909,101.01: zp[1]:76 [ conio_cursor_x ] 1,501.5: zp[2]:153 [ rand_state#1 ] 1,501.5: zp[2]:157 [ rand_state#2 ] 1,129.39: zp[2]:59 [ rand_state#9 rand_state#10 ] 0: mem[12] [ printf_buffer ] +Uplift Scope [toupper] 473,333,338.67: zp[1]:38 [ toupper::return#2 toupper::return#0 toupper::ch#0 ] 20,000,002: zp[1]:117 [ toupper::return#3 ] +Uplift Scope [cputc] 150,025,008.5: zp[1]:20 [ cputc::c#3 cputc::c#0 cputc::c#2 cputc::c#1 ] +Uplift Scope [ultoa_append] 25,055,003.5: zp[4]:51 [ ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ] 20,050,002.5: zp[1]:55 [ ultoa_append::digit#2 ultoa_append::digit#1 ] 3,335,000.5: zp[4]:129 [ ultoa_append::sub#0 ] 20,002: zp[4]:133 [ ultoa_append::return#0 ] 13,750.25: zp[2]:127 [ ultoa_append::buffer#0 ] +Uplift Scope [strupr] 27,142,859.86: zp[2]:36 [ strupr::src#2 strupr::src#1 ] 20,000,002: zp[1]:118 [ strupr::$0 ] +Uplift Scope [strlen] 30,000,003: zp[2]:39 [ strlen::str#2 strlen::str#0 ] 15,002,501.75: zp[2]:41 [ strlen::len#2 strlen::len#1 ] 20,002: zp[2]:96 [ strlen::return#2 ] +Uplift Scope [printf_padding] 27,500,002.75: zp[1]:19 [ printf_padding::i#2 printf_padding::i#1 ] 1,731,673.33: zp[1]:17 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ] 1,666,666.83: zp[1]:18 [ printf_padding::pad#5 ] +Uplift Scope [cputs] 20,150,003.5: zp[2]:34 [ cputs::s#4 cputs::s#5 cputs::s#0 ] 10,000,001: zp[1]:116 [ cputs::c#1 ] +Uplift Scope [utoa] 3,787,146.79: zp[2]:65 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 ] 3,078,361.36: zp[2]:62 [ utoa::value#2 utoa::value#6 utoa::value#1 utoa::value#0 ] 2,285,716.57: zp[1]:61 [ utoa::digit#2 utoa::digit#1 ] 2,000,002: zp[1]:166 [ utoa::$10 ] 1,500,001.5: zp[1]:64 [ utoa::started#2 utoa::started#4 ] 600,000.6: zp[2]:167 [ utoa::digit_value#0 ] 20,002: zp[1]:163 [ utoa::$11 ] 20,002: zp[2]:164 [ utoa::buffer#3 ] +Uplift Scope [ultoa] 38,003.93: zp[2]:49 [ ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ] 31,411.36: zp[4]:44 [ ultoa::value#2 ultoa::value#6 ultoa::value#1 ultoa::value#0 ] 22,859.43: zp[1]:43 [ ultoa::digit#2 ultoa::digit#1 ] 20,002: zp[1]:122 [ ultoa::$10 ] 15,001.5: zp[1]:48 [ ultoa::started#2 ultoa::started#4 ] 6,000.6: zp[4]:123 [ ultoa::digit_value#0 ] 2,002: zp[1]:119 [ ultoa::$11 ] 2,002: zp[2]:120 [ ultoa::buffer#3 ] +Uplift Scope [printf_number_buffer] 65,006.5: zp[1]:15 [ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ] 11,905.95: zp[1]:16 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ] 10,001: zp[2]:98 [ printf_number_buffer::$19 ] 3,759.25: zp[1]:13 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ] 1,000.1: zp[1]:10 [ printf_number_buffer::format_min_length#2 ] 937.59: zp[1]:12 [ printf_number_buffer::format_zero_padding#10 ] 645.23: zp[1]:11 [ printf_number_buffer::format_justify_left#10 ] 384.65: zp[1]:14 [ printf_number_buffer::format_upper_case#10 ] +Uplift Scope [clrscr] 32,503.25: zp[1]:75 [ clrscr::c#2 clrscr::c#1 ] 2,501.38: zp[2]:73 [ clrscr::line_cols#5 clrscr::line_cols#1 ] 2,382.05: zp[2]:71 [ clrscr::line_text#5 clrscr::line_text#1 ] 2,335.67: zp[1]:70 [ clrscr::l#2 clrscr::l#1 ] +Uplift Scope [gotoxy] 2,002: zp[2]:139 [ gotoxy::$9 ] 2,002: zp[2]:141 [ gotoxy::$10 ] 2,002: zp[2]:143 [ gotoxy::$4 ] 2,002: zp[2]:147 [ gotoxy::$6 ] 2,002: zp[2]:149 [ gotoxy::$7 ] 1,501.5: zp[2]:137 [ gotoxy::$8 ] 1,236.67: zp[1]:57 [ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ] 1,001: zp[2]:145 [ gotoxy::offset#0 ] 880.5: zp[1]:58 [ gotoxy::x#5 gotoxy::x#4 gotoxy::x#2 ] +Uplift Scope [rand] 2,002: zp[2]:151 [ rand::$0 ] 2,002: zp[2]:155 [ rand::$1 ] 2,002: zp[2]:159 [ rand::$2 ] 278.25: zp[2]:161 [ rand::return#0 ] 202: zp[2]:90 [ rand::return#3 ] 22: zp[2]:83 [ rand::return#2 ] +Uplift Scope [main] 256.99: zp[1]:7 [ main::row#3 main::row#7 main::row#1 ] 227.71: zp[1]:6 [ main::col#3 main::col#7 main::col#1 ] 210.88: zp[4]:2 [ main::cnt#2 main::cnt#1 ] 203.93: zp[2]:8 [ main::rnd#2 main::rnd#5 main::rnd#1 ] 202: zp[1]:87 [ main::$18 ] 5.59: zp[2]:85 [ main::first#0 ] +Uplift Scope [printf_uint] 367.33: zp[2]:88 [ printf_uint::uvalue#0 ] +Uplift Scope [textcolor] 101: zp[1]:56 [ textcolor::color#3 ] +Uplift Scope [printf_ulong] 37.33: zp[4]:92 [ printf_ulong::uvalue#0 ] +Uplift Scope [RADIX] +Uplift Scope [printf_format_number] +Uplift Scope [printf_buffer_number] +Uplift Scope [printf_format_string] +Uplift Scope [MOS6526_CIA] +Uplift Scope [MOS6569_VICII] +Uplift Scope [MOS6581_SID] + +Uplifting [memcpy] best 238108 combination zp[2]:30 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 ] zp[2]:32 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] zp[2]:114 [ memcpy::src_end#0 ] zp[2]:26 [ memcpy::source#2 ] zp[2]:28 [ memcpy::destination#2 ] +Uplifting [memset] best 237102 combination zp[2]:24 [ memset::dst#2 memset::dst#4 memset::dst#1 ] zp[2]:112 [ memset::end#0 ] reg byte x [ memset::c#4 memset::c#1 ] zp[2]:21 [ memset::str#3 ] +Uplifting [utoa_append] best 231099 combination zp[2]:67 [ 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]:171 [ utoa_append::sub#0 ] zp[2]:173 [ utoa_append::return#0 ] zp[2]:169 [ utoa_append::buffer#0 ] +Uplifting [cscroll] best 231099 combination zp[2]:108 [ cscroll::$7 ] zp[2]:110 [ cscroll::$8 ] +Uplifting [cputln] best 231099 combination zp[2]:100 [ cputln::$0 ] zp[2]:102 [ cputln::$1 ] zp[2]:104 [ cputln::$2 ] zp[2]:106 [ cputln::$3 ] +Uplifting [] best 231099 combination zp[1]:77 [ conio_cursor_y ] zp[2]:80 [ conio_cursor_color ] zp[2]:78 [ conio_cursor_text ] zp[1]:82 [ conio_textcolor ] zp[1]:76 [ conio_cursor_x ] zp[2]:153 [ rand_state#1 ] zp[2]:157 [ rand_state#2 ] zp[2]:59 [ rand_state#9 rand_state#10 ] mem[12] [ printf_buffer ] +Uplifting [toupper] best 229892 combination reg byte a [ toupper::return#2 toupper::return#0 toupper::ch#0 ] reg byte a [ toupper::return#3 ] +Uplifting [cputc] best 229283 combination reg byte a [ cputc::c#3 cputc::c#0 cputc::c#2 cputc::c#1 ] +Uplifting [ultoa_append] best 228680 combination zp[4]:51 [ ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ] reg byte x [ ultoa_append::digit#2 ultoa_append::digit#1 ] zp[4]:129 [ ultoa_append::sub#0 ] zp[4]:133 [ ultoa_append::return#0 ] zp[2]:127 [ ultoa_append::buffer#0 ] +Uplifting [strupr] best 228080 combination zp[2]:36 [ strupr::src#2 strupr::src#1 ] reg byte a [ strupr::$0 ] +Uplifting [strlen] best 228080 combination zp[2]:39 [ strlen::str#2 strlen::str#0 ] zp[2]:41 [ strlen::len#2 strlen::len#1 ] zp[2]:96 [ strlen::return#2 ] +Uplifting [printf_padding] best 228080 combination zp[1]:19 [ printf_padding::i#2 printf_padding::i#1 ] zp[1]:17 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ] zp[1]:18 [ printf_padding::pad#5 ] +Uplifting [cputs] best 227180 combination zp[2]:34 [ cputs::s#4 cputs::s#5 cputs::s#0 ] reg byte a [ cputs::c#1 ] +Uplifting [utoa] best 225876 combination zp[2]:65 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 ] zp[2]:62 [ utoa::value#2 utoa::value#6 utoa::value#1 utoa::value#0 ] zp[1]:61 [ utoa::digit#2 utoa::digit#1 ] reg byte a [ utoa::$10 ] reg byte x [ utoa::started#2 utoa::started#4 ] zp[2]:167 [ utoa::digit_value#0 ] reg byte a [ utoa::$11 ] zp[2]:164 [ utoa::buffer#3 ] +Uplifting [ultoa] best 225742 combination zp[2]:49 [ ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ] zp[4]:44 [ ultoa::value#2 ultoa::value#6 ultoa::value#1 ultoa::value#0 ] zp[1]:43 [ ultoa::digit#2 ultoa::digit#1 ] reg byte a [ ultoa::$10 ] reg byte x [ ultoa::started#2 ultoa::started#4 ] zp[4]:123 [ ultoa::digit_value#0 ] reg byte a [ ultoa::$11 ] zp[2]:120 [ ultoa::buffer#3 ] +Uplifting [printf_number_buffer] best 225731 combination reg byte y [ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ] zp[1]:16 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ] zp[2]:98 [ printf_number_buffer::$19 ] zp[1]:13 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ] reg byte x [ printf_number_buffer::format_min_length#2 ] zp[1]:12 [ printf_number_buffer::format_zero_padding#10 ] zp[1]:11 [ printf_number_buffer::format_justify_left#10 ] zp[1]:14 [ printf_number_buffer::format_upper_case#10 ] +Limited combination testing to 100 combinations of 256 possible. +Uplifting [clrscr] best 224141 combination reg byte y [ clrscr::c#2 clrscr::c#1 ] zp[2]:73 [ clrscr::line_cols#5 clrscr::line_cols#1 ] zp[2]:71 [ clrscr::line_text#5 clrscr::line_text#1 ] reg byte x [ clrscr::l#2 clrscr::l#1 ] +Uplifting [gotoxy] best 224053 combination zp[2]:139 [ gotoxy::$9 ] zp[2]:141 [ gotoxy::$10 ] zp[2]:143 [ gotoxy::$4 ] zp[2]:147 [ gotoxy::$6 ] zp[2]:149 [ gotoxy::$7 ] zp[2]:137 [ gotoxy::$8 ] reg byte a [ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ] zp[2]:145 [ gotoxy::offset#0 ] reg byte x [ gotoxy::x#5 gotoxy::x#4 gotoxy::x#2 ] +Uplifting [rand] best 224053 combination zp[2]:151 [ rand::$0 ] zp[2]:155 [ rand::$1 ] zp[2]:159 [ rand::$2 ] zp[2]:161 [ rand::return#0 ] zp[2]:90 [ rand::return#3 ] zp[2]:83 [ rand::return#2 ] +Uplifting [main] best 223993 combination zp[1]:7 [ main::row#3 main::row#7 main::row#1 ] zp[1]:6 [ main::col#3 main::col#7 main::col#1 ] zp[4]:2 [ main::cnt#2 main::cnt#1 ] zp[2]:8 [ main::rnd#2 main::rnd#5 main::rnd#1 ] reg byte a [ main::$18 ] zp[2]:85 [ main::first#0 ] +Uplifting [printf_uint] best 223993 combination zp[2]:88 [ printf_uint::uvalue#0 ] +Uplifting [textcolor] best 223981 combination reg byte a [ textcolor::color#3 ] +Uplifting [printf_ulong] best 223981 combination zp[4]:92 [ printf_ulong::uvalue#0 ] +Uplifting [RADIX] best 223981 combination +Uplifting [printf_format_number] best 223981 combination +Uplifting [printf_buffer_number] best 223981 combination +Uplifting [printf_format_string] best 223981 combination +Uplifting [MOS6526_CIA] best 223981 combination +Uplifting [MOS6569_VICII] best 223981 combination +Uplifting [MOS6581_SID] best 223981 combination +Attempting to uplift remaining variables inzp[1]:77 [ conio_cursor_y ] +Uplifting [] best 223981 combination zp[1]:77 [ conio_cursor_y ] +Attempting to uplift remaining variables inzp[1]:82 [ conio_textcolor ] +Uplifting [] best 223981 combination zp[1]:82 [ conio_textcolor ] +Attempting to uplift remaining variables inzp[1]:76 [ conio_cursor_x ] +Uplifting [] best 223981 combination zp[1]:76 [ conio_cursor_x ] +Attempting to uplift remaining variables inzp[1]:19 [ printf_padding::i#2 printf_padding::i#1 ] +Uplifting [printf_padding] best 223981 combination zp[1]:19 [ printf_padding::i#2 printf_padding::i#1 ] +Attempting to uplift remaining variables inzp[1]:61 [ utoa::digit#2 utoa::digit#1 ] +Uplifting [utoa] best 223981 combination zp[1]:61 [ utoa::digit#2 utoa::digit#1 ] +Attempting to uplift remaining variables inzp[1]:17 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ] +Uplifting [printf_padding] best 223981 combination zp[1]:17 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ] +Attempting to uplift remaining variables inzp[1]:18 [ printf_padding::pad#5 ] +Uplifting [printf_padding] best 223981 combination zp[1]:18 [ printf_padding::pad#5 ] +Attempting to uplift remaining variables inzp[1]:43 [ ultoa::digit#2 ultoa::digit#1 ] +Uplifting [ultoa] best 223981 combination zp[1]:43 [ ultoa::digit#2 ultoa::digit#1 ] +Attempting to uplift remaining variables inzp[1]:16 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ] +Uplifting [printf_number_buffer] best 223981 combination zp[1]:16 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ] +Attempting to uplift remaining variables inzp[1]:13 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ] +Uplifting [printf_number_buffer] best 223981 combination zp[1]:13 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ] +Attempting to uplift remaining variables inzp[1]:12 [ printf_number_buffer::format_zero_padding#10 ] +Uplifting [printf_number_buffer] best 223981 combination zp[1]:12 [ printf_number_buffer::format_zero_padding#10 ] +Attempting to uplift remaining variables inzp[1]:11 [ printf_number_buffer::format_justify_left#10 ] +Uplifting [printf_number_buffer] best 223981 combination zp[1]:11 [ printf_number_buffer::format_justify_left#10 ] +Attempting to uplift remaining variables inzp[1]:14 [ printf_number_buffer::format_upper_case#10 ] +Uplifting [printf_number_buffer] best 223981 combination zp[1]:14 [ printf_number_buffer::format_upper_case#10 ] +Attempting to uplift remaining variables inzp[1]:7 [ main::row#3 main::row#7 main::row#1 ] +Uplifting [main] best 223981 combination zp[1]:7 [ main::row#3 main::row#7 main::row#1 ] +Attempting to uplift remaining variables inzp[1]:6 [ main::col#3 main::col#7 main::col#1 ] +Uplifting [main] best 223981 combination zp[1]:6 [ main::col#3 main::col#7 main::col#1 ] +Coalescing zero page register [ zp[2]:78 [ conio_cursor_text ] ] with [ zp[2]:108 [ cscroll::$7 ] ] - score: 2 +Coalescing zero page register [ zp[2]:80 [ conio_cursor_color ] ] with [ zp[2]:110 [ cscroll::$8 ] ] - score: 2 +Coalescing zero page register [ zp[4]:2 [ main::cnt#2 main::cnt#1 ] ] with [ zp[4]:92 [ printf_ulong::uvalue#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:8 [ main::rnd#2 main::rnd#5 main::rnd#1 ] ] with [ zp[2]:88 [ printf_uint::uvalue#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:8 [ main::rnd#2 main::rnd#5 main::rnd#1 printf_uint::uvalue#0 ] ] with [ zp[2]:90 [ rand::return#3 ] ] - score: 1 +Coalescing zero page register [ zp[2]:21 [ memset::str#3 ] ] with [ zp[2]:24 [ memset::dst#2 memset::dst#4 memset::dst#1 ] ] - score: 1 +Coalescing zero page register [ zp[2]:26 [ memcpy::source#2 ] ] with [ zp[2]:30 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 ] ] - score: 1 +Coalescing zero page register [ zp[2]:28 [ memcpy::destination#2 ] ] with [ zp[2]:32 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] ] - score: 1 +Coalescing zero page register [ zp[2]:41 [ strlen::len#2 strlen::len#1 ] ] with [ zp[2]:96 [ strlen::return#2 ] ] - score: 1 +Coalescing zero page register [ zp[4]:44 [ ultoa::value#2 ultoa::value#6 ultoa::value#1 ultoa::value#0 ] ] with [ zp[4]:51 [ ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ] ] - score: 1 +Coalescing zero page register [ zp[4]:44 [ ultoa::value#2 ultoa::value#6 ultoa::value#1 ultoa::value#0 ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ] ] with [ zp[4]:133 [ ultoa_append::return#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:49 [ ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ] ] with [ zp[2]:120 [ ultoa::buffer#3 ] ] - score: 1 +Coalescing zero page register [ zp[2]:49 [ ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ultoa::buffer#3 ] ] with [ zp[2]:127 [ ultoa_append::buffer#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:59 [ rand_state#9 rand_state#10 ] ] with [ zp[2]:153 [ rand_state#1 ] ] - score: 1 +Coalescing zero page register [ zp[2]:59 [ rand_state#9 rand_state#10 rand_state#1 ] ] with [ zp[2]:157 [ rand_state#2 ] ] - score: 1 +Coalescing zero page register [ zp[2]:62 [ utoa::value#2 utoa::value#6 utoa::value#1 utoa::value#0 ] ] with [ zp[2]:67 [ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ] ] - score: 1 +Coalescing zero page register [ zp[2]:62 [ utoa::value#2 utoa::value#6 utoa::value#1 utoa::value#0 utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ] ] with [ zp[2]:173 [ utoa_append::return#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:65 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 ] ] with [ zp[2]:164 [ utoa::buffer#3 ] ] - score: 1 +Coalescing zero page register [ zp[2]:65 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 utoa::buffer#3 ] ] with [ zp[2]:169 [ utoa_append::buffer#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:78 [ conio_cursor_text cscroll::$7 ] ] with [ zp[2]:100 [ cputln::$0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:78 [ conio_cursor_text cscroll::$7 cputln::$0 ] ] with [ zp[2]:102 [ cputln::$1 ] ] - score: 1 +Coalescing zero page register [ zp[2]:78 [ conio_cursor_text cscroll::$7 cputln::$0 cputln::$1 ] ] with [ zp[2]:147 [ gotoxy::$6 ] ] - score: 1 +Coalescing zero page register [ zp[2]:80 [ conio_cursor_color cscroll::$8 ] ] with [ zp[2]:104 [ cputln::$2 ] ] - score: 1 +Coalescing zero page register [ zp[2]:80 [ conio_cursor_color cscroll::$8 cputln::$2 ] ] with [ zp[2]:106 [ cputln::$3 ] ] - score: 1 +Coalescing zero page register [ zp[2]:80 [ conio_cursor_color cscroll::$8 cputln::$2 cputln::$3 ] ] with [ zp[2]:149 [ gotoxy::$7 ] ] - score: 1 +Coalescing zero page register [ zp[2]:83 [ rand::return#2 ] ] with [ zp[2]:85 [ main::first#0 ] ] - score: 1 +Coalescing zero page register [ zp[4]:123 [ ultoa::digit_value#0 ] ] with [ zp[4]:129 [ ultoa_append::sub#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:137 [ gotoxy::$8 ] ] with [ zp[2]:141 [ gotoxy::$10 ] ] - score: 1 +Coalescing zero page register [ zp[2]:143 [ gotoxy::$4 ] ] with [ zp[2]:145 [ gotoxy::offset#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:167 [ utoa::digit_value#0 ] ] with [ zp[2]:171 [ utoa_append::sub#0 ] ] - score: 1 +Coalescing zero page register [ zp[4]:2 [ main::cnt#2 main::cnt#1 printf_ulong::uvalue#0 ] ] with [ zp[4]:44 [ ultoa::value#2 ultoa::value#6 ultoa::value#1 ultoa::value#0 ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ultoa_append::return#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:8 [ main::rnd#2 main::rnd#5 main::rnd#1 printf_uint::uvalue#0 rand::return#3 ] ] with [ zp[2]:62 [ 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 ] ] - score: 1 +Coalescing zero page register [ zp[2]:8 [ main::rnd#2 main::rnd#5 main::rnd#1 printf_uint::uvalue#0 rand::return#3 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]:161 [ rand::return#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:41 [ strlen::len#2 strlen::len#1 strlen::return#2 ] ] with [ zp[2]:98 [ printf_number_buffer::$19 ] ] - score: 1 +Coalescing zero page register [ zp[2]:80 [ conio_cursor_color cscroll::$8 cputln::$2 cputln::$3 gotoxy::$7 ] ] with [ zp[2]:143 [ gotoxy::$4 gotoxy::offset#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:80 [ conio_cursor_color cscroll::$8 cputln::$2 cputln::$3 gotoxy::$7 gotoxy::$4 gotoxy::offset#0 ] ] with [ zp[2]:137 [ gotoxy::$8 gotoxy::$10 ] ] - score: 1 +Coalescing zero page register [ zp[2]:26 [ memcpy::source#2 memcpy::src#2 memcpy::src#4 memcpy::src#1 ] ] with [ zp[2]:21 [ memset::str#3 memset::dst#2 memset::dst#4 memset::dst#1 ] ] +Coalescing zero page register [ zp[2]:36 [ strupr::src#2 strupr::src#1 ] ] with [ zp[2]:28 [ memcpy::destination#2 memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] ] +Coalescing zero page register [ zp[2]:39 [ strlen::str#2 strlen::str#0 ] ] with [ zp[2]:34 [ cputs::s#4 cputs::s#5 cputs::s#0 ] ] +Coalescing zero page register [ zp[1]:43 [ ultoa::digit#2 ultoa::digit#1 ] ] with [ zp[1]:11 [ printf_number_buffer::format_justify_left#10 ] ] +Coalescing zero page register [ zp[2]:49 [ ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ultoa::buffer#3 ultoa_append::buffer#0 ] ] with [ zp[2]:41 [ strlen::len#2 strlen::len#1 strlen::return#2 printf_number_buffer::$19 ] ] +Coalescing zero page register [ zp[1]:61 [ utoa::digit#2 utoa::digit#1 ] ] with [ zp[1]:12 [ printf_number_buffer::format_zero_padding#10 ] ] +Coalescing zero page register [ zp[2]:71 [ clrscr::line_text#5 clrscr::line_text#1 ] ] with [ zp[2]:65 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 utoa::buffer#3 utoa_append::buffer#0 ] ] +Coalescing zero page register [ zp[2]:78 [ conio_cursor_text cscroll::$7 cputln::$0 cputln::$1 gotoxy::$6 ] ] with [ zp[2]:73 [ clrscr::line_cols#5 clrscr::line_cols#1 ] ] +Coalescing zero page register [ zp[2]:114 [ memcpy::src_end#0 ] ] with [ zp[2]:112 [ memset::end#0 ] ] +Coalescing zero page register [ zp[2]:151 [ rand::$0 ] ] with [ zp[2]:139 [ gotoxy::$9 ] ] +Coalescing zero page register [ zp[2]:167 [ utoa::digit_value#0 utoa_append::sub#0 ] ] with [ zp[2]:155 [ rand::$1 ] ] +Coalescing zero page register [ zp[2]:49 [ ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ultoa::buffer#3 ultoa_append::buffer#0 strlen::len#2 strlen::len#1 strlen::return#2 printf_number_buffer::$19 ] ] with [ zp[2]:26 [ memcpy::source#2 memcpy::src#2 memcpy::src#4 memcpy::src#1 memset::str#3 memset::dst#2 memset::dst#4 memset::dst#1 ] ] +Coalescing zero page register [ zp[2]:71 [ clrscr::line_text#5 clrscr::line_text#1 utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 utoa::buffer#3 utoa_append::buffer#0 ] ] with [ zp[2]:36 [ strupr::src#2 strupr::src#1 memcpy::destination#2 memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] ] +Coalescing zero page register [ zp[2]:151 [ rand::$0 gotoxy::$9 ] ] with [ zp[2]:39 [ strlen::str#2 strlen::str#0 cputs::s#4 cputs::s#5 cputs::s#0 ] ] +Coalescing zero page register [ zp[2]:159 [ rand::$2 ] ] with [ zp[2]:114 [ memcpy::src_end#0 memset::end#0 ] ] +Coalescing zero page register [ zp[2]:167 [ utoa::digit_value#0 utoa_append::sub#0 rand::$1 ] ] with [ zp[2]:49 [ ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ultoa::buffer#3 ultoa_append::buffer#0 strlen::len#2 strlen::len#1 strlen::return#2 printf_number_buffer::$19 memcpy::source#2 memcpy::src#2 memcpy::src#4 memcpy::src#1 memset::str#3 memset::dst#2 memset::dst#4 memset::dst#1 ] ] +Allocated (was zp[1]:13) zp[1]:10 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ] +Allocated (was zp[1]:14) zp[1]:11 [ printf_number_buffer::format_upper_case#10 ] +Allocated (was zp[1]:16) zp[1]:12 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ] +Allocated (was zp[1]:17) zp[1]:13 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ] +Allocated (was zp[1]:18) zp[1]:14 [ printf_padding::pad#5 ] +Allocated (was zp[1]:19) zp[1]:15 [ printf_padding::i#2 printf_padding::i#1 ] +Allocated (was zp[1]:43) zp[1]:16 [ ultoa::digit#2 ultoa::digit#1 printf_number_buffer::format_justify_left#10 ] +Allocated (was zp[2]:59) zp[2]:17 [ rand_state#9 rand_state#10 rand_state#1 rand_state#2 ] +Allocated (was zp[1]:61) zp[1]:19 [ utoa::digit#2 utoa::digit#1 printf_number_buffer::format_zero_padding#10 ] +Allocated (was zp[2]:71) zp[2]:20 [ clrscr::line_text#5 clrscr::line_text#1 utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 utoa::buffer#3 utoa_append::buffer#0 strupr::src#2 strupr::src#1 memcpy::destination#2 memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] +Allocated (was zp[1]:76) zp[1]:22 [ conio_cursor_x ] +Allocated (was zp[1]:77) zp[1]:23 [ conio_cursor_y ] +Allocated (was zp[2]:78) zp[2]:24 [ conio_cursor_text cscroll::$7 cputln::$0 cputln::$1 gotoxy::$6 clrscr::line_cols#5 clrscr::line_cols#1 ] +Allocated (was zp[2]:80) zp[2]:26 [ conio_cursor_color cscroll::$8 cputln::$2 cputln::$3 gotoxy::$7 gotoxy::$4 gotoxy::offset#0 gotoxy::$8 gotoxy::$10 ] +Allocated (was zp[1]:82) zp[1]:28 [ conio_textcolor ] +Allocated (was zp[2]:83) zp[2]:29 [ rand::return#2 main::first#0 ] +Allocated (was zp[4]:123) zp[4]:31 [ ultoa::digit_value#0 ultoa_append::sub#0 ] +Allocated (was zp[2]:151) zp[2]:35 [ rand::$0 gotoxy::$9 strlen::str#2 strlen::str#0 cputs::s#4 cputs::s#5 cputs::s#0 ] +Allocated (was zp[2]:159) zp[2]:37 [ rand::$2 memcpy::src_end#0 memset::end#0 ] +Allocated (was zp[2]:167) zp[2]:39 [ utoa::digit_value#0 utoa_append::sub#0 rand::$1 ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ultoa::buffer#3 ultoa_append::buffer#0 strlen::len#2 strlen::len#1 strlen::return#2 printf_number_buffer::$19 memcpy::source#2 memcpy::src#2 memcpy::src#4 memcpy::src#1 memset::str#3 memset::dst#2 memset::dst#4 memset::dst#1 ] + +ASSEMBLER BEFORE OPTIMIZATION + // File Comments +// Test the pseudorandom number generator in stdlib.h +// Source http://www.retroprogramming.com/2017/07/xorshift-pseudorandom-numbers-in-z80.html +// Information https://en.wikipedia.org/wiki/Xorshift + // Upstart +.pc = $801 "Basic" +:BasicUpstart(__bbegin) +.pc = $80d "Program" + // Global Constants & labels + // The default text color + .const CONIO_TEXTCOLOR_DEFAULT = $e + .const WHITE = 1 + .const LIGHT_BLUE = $e + .const OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS = 1 + .const SIZEOF_STRUCT_PRINTF_BUFFER_NUMBER = $c + // The screen width + // The screen height + // The screen bytes + // The text screen address + .label CONIO_SCREEN_TEXT = $400 + // The color screen address + .label CONIO_SCREEN_COLORS = $d800 + .label conio_cursor_x = $16 + .label conio_cursor_y = $17 + .label conio_cursor_text = $18 + .label conio_cursor_color = $1a + .label conio_textcolor = $1c + // The random state variable + .label rand_state = $11 + // @begin +__bbegin: + jmp __b1 + // @1 +__b1: + // [1] (byte) conio_cursor_x ← (byte) 0 -- vbuz1=vbuc1 + // The current cursor x-position + lda #0 + sta.z conio_cursor_x + // [2] (byte) conio_cursor_y ← (byte) 0 -- vbuz1=vbuc1 + // The current cursor y-position + lda #0 + sta.z conio_cursor_y + // [3] (byte*) conio_cursor_text ← (const nomodify byte*) CONIO_SCREEN_TEXT -- pbuz1=pbuc1 + // The current cursor address + lda #CONIO_SCREEN_TEXT + sta.z conio_cursor_text+1 + // [4] (byte*) conio_cursor_color ← (const nomodify byte*) CONIO_SCREEN_COLORS -- pbuz1=pbuc1 + // The current cursor address + lda #CONIO_SCREEN_COLORS + sta.z conio_cursor_color+1 + // [5] (byte) conio_textcolor ← (const nomodify byte) CONIO_TEXTCOLOR_DEFAULT -- vbuz1=vbuc1 + // The current text color + lda #CONIO_TEXTCOLOR_DEFAULT + sta.z conio_textcolor + // [6] phi from @1 to @2 [phi:@1->@2] +__b2_from___b1: + jmp __b2 + // @2 +__b2: + // [7] call main + // [9] phi from @2 to main [phi:@2->main] +main_from___b2: + jsr main + // [8] phi from @2 to @end [phi:@2->@end] +__bend_from___b2: + jmp __bend + // @end +__bend: + // main +main: { + .label first = $1d + .label cnt = 2 + .label rnd = 8 + .label row = 7 + .label col = 6 + // [10] call clrscr + // [280] phi from main to clrscr [phi:main->clrscr] + clrscr_from_main: + jsr clrscr + // [11] phi from main to main::@6 [phi:main->main::@6] + __b6_from_main: + jmp __b6 + // main::@6 + __b6: + // [12] call textcolor + // [214] phi from main::@6 to textcolor [phi:main::@6->textcolor] + textcolor_from___b6: + // [214] phi (byte) textcolor::color#3 = (const nomodify byte) WHITE [phi:main::@6->textcolor#0] -- vbuaa=vbuc1 + lda #WHITE + jsr textcolor + // [13] phi from main::@6 to main::@7 [phi:main::@6->main::@7] + __b7_from___b6: + jmp __b7 + // main::@7 + __b7: + // [14] call cputs + // [157] phi from main::@7 to cputs [phi:main::@7->cputs] + cputs_from___b7: + // [157] phi (to_nomodify byte*) cputs::s#5 = (const byte*) main::s [phi:main::@7->cputs#0] -- pbuz1=pbuc1 + lda #s + sta.z cputs.s+1 + jsr cputs + // [15] phi from main::@7 to main::@8 [phi:main::@7->main::@8] + __b8_from___b7: + jmp __b8 + // main::@8 + __b8: + // [16] call rand + // [236] phi from main::@8 to rand [phi:main::@8->rand] + rand_from___b8: + // [236] phi (word) rand_state#9 = (word) 1 [phi:main::@8->rand#0] -- vwuz1=vwuc1 + lda #<1 + sta.z rand_state + lda #>1 + sta.z rand_state+1 + jsr rand + // [17] (word) rand::return#2 ← (word) rand::return#0 -- vwuz1=vwuz2 + lda.z rand.return + sta.z rand.return_1 + lda.z rand.return+1 + sta.z rand.return_1+1 + jmp __b9 + // main::@9 + __b9: + // [18] (word) main::first#0 ← (word) rand::return#2 + // [19] call textcolor + // [214] phi from main::@9 to textcolor [phi:main::@9->textcolor] + textcolor_from___b9: + // [214] phi (byte) textcolor::color#3 = (const nomodify byte) LIGHT_BLUE [phi:main::@9->textcolor#0] -- vbuaa=vbuc1 + lda #LIGHT_BLUE + jsr textcolor + jmp __b10 + // main::@10 + __b10: + // [20] (word) main::rnd#5 ← (word) main::first#0 -- vwuz1=vwuz2 + lda.z first + sta.z rnd + lda.z first+1 + sta.z rnd+1 + // [21] phi from main::@10 to main::@1 [phi:main::@10->main::@1] + __b1_from___b10: + // [21] phi (word) main::rnd#2 = (word) main::rnd#5 [phi:main::@10->main::@1#0] -- register_copy + // [21] phi (byte) main::row#3 = (byte) 1 [phi:main::@10->main::@1#1] -- vbuz1=vbuc1 + lda #1 + sta.z row + // [21] phi (byte) main::col#3 = (byte) 3 [phi:main::@10->main::@1#2] -- vbuz1=vbuc1 + lda #3 + sta.z col + // [21] phi (dword) main::cnt#2 = (dword) 0 [phi:main::@10->main::@1#3] -- vduz1=vduc1 + lda #<0 + sta.z cnt + lda #>0 + sta.z cnt+1 + lda #<0>>$10 + sta.z cnt+2 + lda #>0>>$10 + sta.z cnt+3 + jmp __b1 + // [21] phi from main::@11 to main::@1 [phi:main::@11->main::@1] + __b1_from___b11: + // [21] phi (word) main::rnd#2 = (word) main::rnd#1 [phi:main::@11->main::@1#0] -- register_copy + // [21] phi (byte) main::row#3 = (byte) main::row#7 [phi:main::@11->main::@1#1] -- register_copy + // [21] phi (byte) main::col#3 = (byte) main::col#7 [phi:main::@11->main::@1#2] -- register_copy + // [21] phi (dword) main::cnt#2 = (dword) main::cnt#1 [phi:main::@11->main::@1#3] -- register_copy + jmp __b1 + // main::@1 + __b1: + // [22] (dword) main::cnt#1 ← ++ (dword) main::cnt#2 -- vduz1=_inc_vduz1 + inc.z cnt + bne !+ + inc.z cnt+1 + bne !+ + inc.z cnt+2 + bne !+ + inc.z cnt+3 + !: + // [23] (byte~) main::$18 ← (byte)(dword) main::cnt#1 -- vbuaa=_byte_vduz1 + lda.z cnt + // [24] if((byte~) main::$18!=(byte) 0) goto main::@2 -- vbuaa_neq_0_then_la1 + cmp #0 + bne __b2_from___b1 + jmp __b3 + // main::@3 + __b3: + // [25] (byte) gotoxy::x#2 ← (byte) main::col#3 -- vbuxx=vbuz1 + ldx.z col + // [26] (byte) gotoxy::y#2 ← (byte) main::row#3 -- vbuaa=vbuz1 + lda.z row + // [27] call gotoxy + // [217] phi from main::@3 to gotoxy [phi:main::@3->gotoxy] + gotoxy_from___b3: + // [217] phi (byte) gotoxy::x#4 = (byte) gotoxy::x#2 [phi:main::@3->gotoxy#0] -- register_copy + // [217] phi (byte) gotoxy::y#4 = (byte) gotoxy::y#2 [phi:main::@3->gotoxy#1] -- register_copy + jsr gotoxy + jmp __b12 + // main::@12 + __b12: + // [28] (word) printf_uint::uvalue#0 ← (word) main::rnd#2 + // [29] call printf_uint + // [245] phi from main::@12 to printf_uint [phi:main::@12->printf_uint] + printf_uint_from___b12: + jsr printf_uint + jmp __b13 + // main::@13 + __b13: + // [30] (byte) main::row#1 ← ++ (byte) main::row#3 -- vbuz1=_inc_vbuz1 + inc.z row + // [31] if((byte) main::row#1!=(byte) $19) goto main::@2 -- vbuz1_neq_vbuc1_then_la1 + lda #$19 + cmp.z row + bne __b2_from___b13 + jmp __b4 + // main::@4 + __b4: + // [32] (byte) main::col#1 ← (byte) main::col#3 + (byte) 6 -- vbuz1=vbuz1_plus_vbuc1 + lax.z col + axs #-[6] + stx.z col + // [33] if((byte) main::col#1<(byte)(number) $28-(number) 5+(byte) 1) goto main::@17 -- vbuz1_lt_vbuc1_then_la1 + lda.z col + cmp #$28-5+1 + bcc __b17_from___b4 + // [35] phi from main::@4 to main::@2 [phi:main::@4->main::@2] + __b2_from___b4: + // [35] phi (byte) main::row#7 = (byte) 1 [phi:main::@4->main::@2#0] -- vbuz1=vbuc1 + lda #1 + sta.z row + // [35] phi (byte) main::col#7 = (byte) 3 [phi:main::@4->main::@2#1] -- vbuz1=vbuc1 + lda #3 + sta.z col + jmp __b2 + // [34] phi from main::@4 to main::@17 [phi:main::@4->main::@17] + __b17_from___b4: + jmp __b17 + // main::@17 + __b17: + // [35] phi from main::@17 to main::@2 [phi:main::@17->main::@2] + __b2_from___b17: + // [35] phi (byte) main::row#7 = (byte) 1 [phi:main::@17->main::@2#0] -- vbuz1=vbuc1 + lda #1 + sta.z row + // [35] phi (byte) main::col#7 = (byte) main::col#1 [phi:main::@17->main::@2#1] -- register_copy + jmp __b2 + // [35] phi from main::@1 main::@13 to main::@2 [phi:main::@1/main::@13->main::@2] + __b2_from___b1: + __b2_from___b13: + // [35] phi (byte) main::row#7 = (byte) main::row#3 [phi:main::@1/main::@13->main::@2#0] -- register_copy + // [35] phi (byte) main::col#7 = (byte) main::col#3 [phi:main::@1/main::@13->main::@2#1] -- register_copy + jmp __b2 + // main::@2 + __b2: + // [36] call rand + // [236] phi from main::@2 to rand [phi:main::@2->rand] + rand_from___b2: + // [236] phi (word) rand_state#9 = (word) rand_state#10 [phi:main::@2->rand#0] -- register_copy + jsr rand + // [37] (word) rand::return#3 ← (word) rand::return#0 + jmp __b11 + // main::@11 + __b11: + // [38] (word) main::rnd#1 ← (word) rand::return#3 + // [39] if((word) main::rnd#1!=(word) main::first#0) goto main::@1 -- vwuz1_neq_vwuz2_then_la1 + lda.z rnd+1 + cmp.z first+1 + bne __b1_from___b11 + lda.z rnd + cmp.z first + bne __b1_from___b11 + // [40] phi from main::@11 to main::@5 [phi:main::@11->main::@5] + __b5_from___b11: + jmp __b5 + // main::@5 + __b5: + // [41] call gotoxy + // [217] phi from main::@5 to gotoxy [phi:main::@5->gotoxy] + gotoxy_from___b5: + // [217] phi (byte) gotoxy::x#4 = (byte) $1c [phi:main::@5->gotoxy#0] -- vbuxx=vbuc1 + ldx #$1c + // [217] phi (byte) gotoxy::y#4 = (byte) 0 [phi:main::@5->gotoxy#1] -- vbuaa=vbuc1 + lda #0 + jsr gotoxy + // [42] phi from main::@5 to main::@14 [phi:main::@5->main::@14] + __b14_from___b5: + jmp __b14 + // main::@14 + __b14: + // [43] call textcolor + // [214] phi from main::@14 to textcolor [phi:main::@14->textcolor] + textcolor_from___b14: + // [214] phi (byte) textcolor::color#3 = (const nomodify byte) WHITE [phi:main::@14->textcolor#0] -- vbuaa=vbuc1 + lda #WHITE + jsr textcolor + // [44] phi from main::@14 to main::@15 [phi:main::@14->main::@15] + __b15_from___b14: + jmp __b15 + // main::@15 + __b15: + // [45] call cputs + // [157] phi from main::@15 to cputs [phi:main::@15->cputs] + cputs_from___b15: + // [157] phi (to_nomodify byte*) cputs::s#5 = (const byte*) main::s1 [phi:main::@15->cputs#0] -- pbuz1=pbuc1 + lda #s1 + sta.z cputs.s+1 + jsr cputs + jmp __b16 + // main::@16 + __b16: + // [46] (dword) printf_ulong::uvalue#0 ← (dword) main::cnt#1 + // [47] call printf_ulong + // [49] phi from main::@16 to printf_ulong [phi:main::@16->printf_ulong] + printf_ulong_from___b16: + jsr printf_ulong + jmp __breturn + // main::@return + __breturn: + // [48] return + rts + s: .text "generating unique randoms..." + .byte 0 + s1: .text "found " + .byte 0 +} + // printf_ulong +// Print an unsigned int using a specific format +// printf_ulong(dword zp(2) uvalue) +printf_ulong: { + .const format_min_length = 0 + .const format_justify_left = 0 + .const format_zero_padding = 0 + .const format_upper_case = 0 + .label uvalue = 2 + jmp __b1 + // printf_ulong::@1 + __b1: + // [50] *((byte*)&(struct printf_buffer_number) printf_buffer) ← (byte) 0 -- _deref_pbuc1=vbuc2 + // Handle any sign + lda #0 + sta printf_buffer + // [51] (dword) ultoa::value#1 ← (dword) printf_ulong::uvalue#0 + // [52] call ultoa + // Format number into buffer + // [186] phi from printf_ulong::@1 to ultoa [phi:printf_ulong::@1->ultoa] + ultoa_from___b1: + jsr ultoa + jmp __b2 + // printf_ulong::@2 + __b2: + // [53] (byte) printf_number_buffer::buffer_sign#0 ← *((byte*)&(struct printf_buffer_number) printf_buffer) -- vbuz1=_deref_pbuc1 + lda printf_buffer + sta.z printf_number_buffer.buffer_sign + // [54] call printf_number_buffer + // Print using format + // [56] phi from printf_ulong::@2 to printf_number_buffer [phi:printf_ulong::@2->printf_number_buffer] + printf_number_buffer_from___b2: + // [56] phi (byte) printf_number_buffer::format_upper_case#10 = (const byte) printf_ulong::format_upper_case#0 [phi:printf_ulong::@2->printf_number_buffer#0] -- vbuz1=vbuc1 + lda #format_upper_case + sta.z printf_number_buffer.format_upper_case + // [56] phi (byte) printf_number_buffer::buffer_sign#10 = (byte) printf_number_buffer::buffer_sign#0 [phi:printf_ulong::@2->printf_number_buffer#1] -- register_copy + // [56] phi (byte) printf_number_buffer::format_zero_padding#10 = (const byte) printf_ulong::format_zero_padding#0 [phi:printf_ulong::@2->printf_number_buffer#2] -- vbuz1=vbuc1 + lda #format_zero_padding + sta.z printf_number_buffer.format_zero_padding + // [56] phi (byte) printf_number_buffer::format_justify_left#10 = (const byte) printf_ulong::format_justify_left#0 [phi:printf_ulong::@2->printf_number_buffer#3] -- vbuz1=vbuc1 + lda #format_justify_left + sta.z printf_number_buffer.format_justify_left + // [56] phi (byte) printf_number_buffer::format_min_length#2 = (const byte) printf_ulong::format_min_length#0 [phi:printf_ulong::@2->printf_number_buffer#4] -- vbuxx=vbuc1 + ldx #format_min_length + jsr printf_number_buffer + jmp __breturn + // printf_ulong::@return + __breturn: + // [55] return + rts +} + // 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 +// printf_number_buffer(byte zp($a) buffer_sign, byte register(X) format_min_length, byte zp($10) format_justify_left, byte zp($13) format_zero_padding, byte zp($b) format_upper_case) +printf_number_buffer: { + .label __19 = $27 + .label buffer_sign = $a + .label padding = $c + .label format_zero_padding = $13 + .label format_justify_left = $10 + .label format_upper_case = $b + // [57] if((byte) 0==(byte) printf_number_buffer::format_min_length#2) goto printf_number_buffer::@1 -- vbuc1_eq_vbuxx_then_la1 + cpx #0 + beq __b1_from_printf_number_buffer + // [58] phi from printf_number_buffer to printf_number_buffer::@6 [phi:printf_number_buffer->printf_number_buffer::@6] + __b6_from_printf_number_buffer: + jmp __b6 + // printf_number_buffer::@6 + __b6: + // [59] call strlen + // [180] phi from printf_number_buffer::@6 to strlen [phi:printf_number_buffer::@6->strlen] + strlen_from___b6: + jsr strlen + // [60] (word) strlen::return#2 ← (word) strlen::len#2 + jmp __b14 + // printf_number_buffer::@14 + __b14: + // [61] (word~) printf_number_buffer::$19 ← (word) strlen::return#2 + // [62] (signed byte) printf_number_buffer::len#0 ← (signed byte)(word~) printf_number_buffer::$19 -- vbsyy=_sbyte_vwuz1 + // There is a minimum length - work out the padding + lda.z __19 + tay + // [63] if((byte) 0==(byte) printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@13 -- vbuc1_eq_vbuz1_then_la1 + lda #0 + cmp.z buffer_sign + beq __b13_from___b14 + jmp __b7 + // printf_number_buffer::@7 + __b7: + // [64] (signed byte) printf_number_buffer::len#1 ← ++ (signed byte) printf_number_buffer::len#0 -- vbsyy=_inc_vbsyy + iny + // [65] phi from printf_number_buffer::@14 printf_number_buffer::@7 to printf_number_buffer::@13 [phi:printf_number_buffer::@14/printf_number_buffer::@7->printf_number_buffer::@13] + __b13_from___b14: + __b13_from___b7: + // [65] phi (signed byte) printf_number_buffer::len#2 = (signed byte) printf_number_buffer::len#0 [phi:printf_number_buffer::@14/printf_number_buffer::@7->printf_number_buffer::@13#0] -- register_copy + jmp __b13 + // printf_number_buffer::@13 + __b13: + // [66] (signed byte) printf_number_buffer::padding#1 ← (signed byte)(byte) printf_number_buffer::format_min_length#2 - (signed byte) printf_number_buffer::len#2 -- vbsz1=vbsxx_minus_vbsyy + txa + sty.z $ff + sec + sbc.z $ff + sta.z padding + // [67] if((signed byte) printf_number_buffer::padding#1>=(signed byte) 0) goto printf_number_buffer::@21 -- vbsz1_ge_0_then_la1 + lda.z padding + cmp #0 + bpl __b21_from___b13 + // [69] phi from printf_number_buffer printf_number_buffer::@13 to printf_number_buffer::@1 [phi:printf_number_buffer/printf_number_buffer::@13->printf_number_buffer::@1] + __b1_from_printf_number_buffer: + __b1_from___b13: + // [69] phi (signed byte) printf_number_buffer::padding#10 = (signed byte) 0 [phi:printf_number_buffer/printf_number_buffer::@13->printf_number_buffer::@1#0] -- vbsz1=vbsc1 + lda #0 + sta.z padding + jmp __b1 + // [68] phi from printf_number_buffer::@13 to printf_number_buffer::@21 [phi:printf_number_buffer::@13->printf_number_buffer::@21] + __b21_from___b13: + jmp __b21 + // printf_number_buffer::@21 + __b21: + // [69] phi from printf_number_buffer::@21 to printf_number_buffer::@1 [phi:printf_number_buffer::@21->printf_number_buffer::@1] + __b1_from___b21: + // [69] phi (signed byte) printf_number_buffer::padding#10 = (signed byte) printf_number_buffer::padding#1 [phi:printf_number_buffer::@21->printf_number_buffer::@1#0] -- register_copy + jmp __b1 + // printf_number_buffer::@1 + __b1: + // [70] if((byte) 0!=(byte) printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@2 -- vbuc1_neq_vbuz1_then_la1 + lda #0 + cmp.z format_justify_left + bne __b2 + jmp __b17 + // printf_number_buffer::@17 + __b17: + // [71] if((byte) 0!=(byte) printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2 -- vbuc1_neq_vbuz1_then_la1 + lda #0 + cmp.z format_zero_padding + bne __b2 + jmp __b16 + // printf_number_buffer::@16 + __b16: + // [72] if((signed byte) 0!=(signed byte) printf_number_buffer::padding#10) goto printf_number_buffer::@8 -- vbsc1_neq_vbsz1_then_la1 + lda #0 + cmp.z padding + bne __b8 + jmp __b2 + // printf_number_buffer::@8 + __b8: + // [73] (byte) printf_padding::length#0 ← (byte)(signed byte) printf_number_buffer::padding#10 -- vbuz1=vbuz2 + lda.z padding + sta.z printf_padding.length + // [74] call printf_padding + // [93] phi from printf_number_buffer::@8 to printf_padding [phi:printf_number_buffer::@8->printf_padding] + printf_padding_from___b8: + // [93] phi (byte) printf_padding::pad#5 = (byte) ' ' [phi:printf_number_buffer::@8->printf_padding#0] -- vbuz1=vbuc1 + lda #' ' + sta.z printf_padding.pad + // [93] phi (byte) printf_padding::length#4 = (byte) printf_padding::length#0 [phi:printf_number_buffer::@8->printf_padding#1] -- register_copy + jsr printf_padding + jmp __b2 + // printf_number_buffer::@2 + __b2: + // [75] if((byte) 0==(byte) printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@3 -- vbuc1_eq_vbuz1_then_la1 + lda #0 + cmp.z buffer_sign + beq __b3 + jmp __b9 + // printf_number_buffer::@9 + __b9: + // [76] (byte) cputc::c#2 ← (byte) printf_number_buffer::buffer_sign#10 -- vbuaa=vbuz1 + lda.z buffer_sign + // [77] call cputc + // [100] phi from printf_number_buffer::@9 to cputc [phi:printf_number_buffer::@9->cputc] + cputc_from___b9: + // [100] phi (byte) cputc::c#3 = (byte) cputc::c#2 [phi:printf_number_buffer::@9->cputc#0] -- register_copy + jsr cputc + jmp __b3 + // printf_number_buffer::@3 + __b3: + // [78] if((byte) 0==(byte) printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4 -- vbuc1_eq_vbuz1_then_la1 + lda #0 + cmp.z format_zero_padding + beq __b4 + jmp __b18 + // printf_number_buffer::@18 + __b18: + // [79] if((signed byte) 0!=(signed byte) printf_number_buffer::padding#10) goto printf_number_buffer::@10 -- vbsc1_neq_vbsz1_then_la1 + lda #0 + cmp.z padding + bne __b10 + jmp __b4 + // printf_number_buffer::@10 + __b10: + // [80] (byte) printf_padding::length#1 ← (byte)(signed byte) printf_number_buffer::padding#10 -- vbuz1=vbuz2 + lda.z padding + sta.z printf_padding.length + // [81] call printf_padding + // [93] phi from printf_number_buffer::@10 to printf_padding [phi:printf_number_buffer::@10->printf_padding] + printf_padding_from___b10: + // [93] phi (byte) printf_padding::pad#5 = (byte) '0' [phi:printf_number_buffer::@10->printf_padding#0] -- vbuz1=vbuc1 + lda #'0' + sta.z printf_padding.pad + // [93] phi (byte) printf_padding::length#4 = (byte) printf_padding::length#1 [phi:printf_number_buffer::@10->printf_padding#1] -- register_copy + jsr printf_padding + jmp __b4 + // printf_number_buffer::@4 + __b4: + // [82] if((byte) 0==(byte) printf_number_buffer::format_upper_case#10) goto printf_number_buffer::@5 -- vbuc1_eq_vbuz1_then_la1 + lda #0 + cmp.z format_upper_case + beq __b5_from___b4 + // [83] phi from printf_number_buffer::@4 to printf_number_buffer::@11 [phi:printf_number_buffer::@4->printf_number_buffer::@11] + __b11_from___b4: + jmp __b11 + // printf_number_buffer::@11 + __b11: + // [84] call strupr + // [165] phi from printf_number_buffer::@11 to strupr [phi:printf_number_buffer::@11->strupr] + strupr_from___b11: + jsr strupr + // [85] phi from printf_number_buffer::@11 printf_number_buffer::@4 to printf_number_buffer::@5 [phi:printf_number_buffer::@11/printf_number_buffer::@4->printf_number_buffer::@5] + __b5_from___b11: + __b5_from___b4: + jmp __b5 + // printf_number_buffer::@5 + __b5: + // [86] call cputs + // [157] phi from printf_number_buffer::@5 to cputs [phi:printf_number_buffer::@5->cputs] + cputs_from___b5: + // [157] phi (to_nomodify byte*) cputs::s#5 = (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:printf_number_buffer::@5->cputs#0] -- pbuz1=pbuc1 + lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + sta.z cputs.s+1 + jsr cputs + jmp __b15 + // printf_number_buffer::@15 + __b15: + // [87] if((byte) 0==(byte) printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@return -- vbuc1_eq_vbuz1_then_la1 + lda #0 + cmp.z format_justify_left + beq __breturn + jmp __b20 + // printf_number_buffer::@20 + __b20: + // [88] if((byte) 0!=(byte) printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@return -- vbuc1_neq_vbuz1_then_la1 + lda #0 + cmp.z format_zero_padding + bne __breturn + jmp __b19 + // printf_number_buffer::@19 + __b19: + // [89] if((signed byte) 0!=(signed byte) printf_number_buffer::padding#10) goto printf_number_buffer::@12 -- vbsc1_neq_vbsz1_then_la1 + lda #0 + cmp.z padding + bne __b12 + jmp __breturn + // printf_number_buffer::@12 + __b12: + // [90] (byte) printf_padding::length#2 ← (byte)(signed byte) printf_number_buffer::padding#10 -- vbuz1=vbuz2 + lda.z padding + sta.z printf_padding.length + // [91] call printf_padding + // [93] phi from printf_number_buffer::@12 to printf_padding [phi:printf_number_buffer::@12->printf_padding] + printf_padding_from___b12: + // [93] phi (byte) printf_padding::pad#5 = (byte) ' ' [phi:printf_number_buffer::@12->printf_padding#0] -- vbuz1=vbuc1 + lda #' ' + sta.z printf_padding.pad + // [93] phi (byte) printf_padding::length#4 = (byte) printf_padding::length#2 [phi:printf_number_buffer::@12->printf_padding#1] -- register_copy + jsr printf_padding + jmp __breturn + // printf_number_buffer::@return + __breturn: + // [92] return + rts +} + // printf_padding +// Print a padding char a number of times +// printf_padding(byte zp($e) pad, byte zp($d) length) +printf_padding: { + .label i = $f + .label length = $d + .label pad = $e + // [94] phi from printf_padding to printf_padding::@1 [phi:printf_padding->printf_padding::@1] + __b1_from_printf_padding: + // [94] phi (byte) printf_padding::i#2 = (byte) 0 [phi:printf_padding->printf_padding::@1#0] -- vbuz1=vbuc1 + lda #0 + sta.z i + jmp __b1 + // printf_padding::@1 + __b1: + // [95] if((byte) printf_padding::i#2<(byte) printf_padding::length#4) goto printf_padding::@2 -- vbuz1_lt_vbuz2_then_la1 + lda.z i + cmp.z length + bcc __b2 + jmp __breturn + // printf_padding::@return + __breturn: + // [96] return + rts + // printf_padding::@2 + __b2: + // [97] (byte) cputc::c#1 ← (byte) printf_padding::pad#5 -- vbuaa=vbuz1 + lda.z pad + // [98] call cputc + // [100] phi from printf_padding::@2 to cputc [phi:printf_padding::@2->cputc] + cputc_from___b2: + // [100] phi (byte) cputc::c#3 = (byte) cputc::c#1 [phi:printf_padding::@2->cputc#0] -- register_copy + jsr cputc + jmp __b3 + // printf_padding::@3 + __b3: + // [99] (byte) printf_padding::i#1 ← ++ (byte) printf_padding::i#2 -- vbuz1=_inc_vbuz1 + inc.z i + // [94] phi from printf_padding::@3 to printf_padding::@1 [phi:printf_padding::@3->printf_padding::@1] + __b1_from___b3: + // [94] phi (byte) printf_padding::i#2 = (byte) printf_padding::i#1 [phi:printf_padding::@3->printf_padding::@1#0] -- register_copy + jmp __b1 +} + // cputc +// Output one character at the current cursor position +// Moves the cursor forward. Scrolls the entire screen if needed +// cputc(byte register(A) c) +cputc: { + // [101] if((byte) cputc::c#3==(byte) ' ') goto cputc::@1 -- vbuaa_eq_vbuc1_then_la1 + cmp #'\n' + beq __b1_from_cputc + jmp __b2 + // cputc::@2 + __b2: + // [102] *((byte*) conio_cursor_text) ← (byte) cputc::c#3 -- _deref_pbuz1=vbuaa + ldy #0 + sta (conio_cursor_text),y + // [103] (byte*) conio_cursor_text ← ++ (byte*) conio_cursor_text -- pbuz1=_inc_pbuz1 + inc.z conio_cursor_text + bne !+ + inc.z conio_cursor_text+1 + !: + // [104] *((byte*) conio_cursor_color) ← (byte) conio_textcolor -- _deref_pbuz1=vbuz2 + lda.z conio_textcolor + ldy #0 + sta (conio_cursor_color),y + // [105] (byte*) conio_cursor_color ← ++ (byte*) conio_cursor_color -- pbuz1=_inc_pbuz1 + inc.z conio_cursor_color + bne !+ + inc.z conio_cursor_color+1 + !: + // [106] (byte) conio_cursor_x ← ++ (byte) conio_cursor_x -- vbuz1=_inc_vbuz1 + inc.z conio_cursor_x + // [107] if((byte) conio_cursor_x!=(byte) $28) goto cputc::@return -- vbuz1_neq_vbuc1_then_la1 + lda #$28 + cmp.z conio_cursor_x + bne __breturn + jmp __b3 + // cputc::@3 + __b3: + // [108] (byte) conio_cursor_x ← (byte) 0 -- vbuz1=vbuc1 + lda #0 + sta.z conio_cursor_x + // [109] (byte) conio_cursor_y ← ++ (byte) conio_cursor_y -- vbuz1=_inc_vbuz1 + inc.z conio_cursor_y + // [110] call cscroll + jsr cscroll + jmp __breturn + // cputc::@return + __breturn: + // [111] return + rts + // [112] phi from cputc to cputc::@1 [phi:cputc->cputc::@1] + __b1_from_cputc: + jmp __b1 + // cputc::@1 + __b1: + // [113] call cputln + jsr cputln + jmp __breturn +} + // cputln +// Print a newline +cputln: { + .label __0 = $18 + .label __1 = $18 + .label __2 = $1a + .label __3 = $1a + // [114] (byte*~) cputln::$0 ← (byte*) conio_cursor_text - (byte) conio_cursor_x -- pbuz1=pbuz1_minus_vbuz2 + sec + lda.z __0 + sbc.z conio_cursor_x + sta.z __0 + bcs !+ + dec.z __0+1 + !: + // [115] (byte*~) cputln::$1 ← (byte*~) cputln::$0 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 + lda #$28 + clc + adc.z __1 + sta.z __1 + bcc !+ + inc.z __1+1 + !: + // [116] (byte*) conio_cursor_text ← (byte*~) cputln::$1 + // [117] (byte*~) cputln::$2 ← (byte*) conio_cursor_color - (byte) conio_cursor_x -- pbuz1=pbuz1_minus_vbuz2 + sec + lda.z __2 + sbc.z conio_cursor_x + sta.z __2 + bcs !+ + dec.z __2+1 + !: + // [118] (byte*~) cputln::$3 ← (byte*~) cputln::$2 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 + lda #$28 + clc + adc.z __3 + sta.z __3 + bcc !+ + inc.z __3+1 + !: + // [119] (byte*) conio_cursor_color ← (byte*~) cputln::$3 + // [120] (byte) conio_cursor_x ← (byte) 0 -- vbuz1=vbuc1 + lda #0 + sta.z conio_cursor_x + // [121] (byte) conio_cursor_y ← ++ (byte) conio_cursor_y -- vbuz1=_inc_vbuz1 + inc.z conio_cursor_y + // [122] call cscroll + jsr cscroll + jmp __breturn + // cputln::@return + __breturn: + // [123] return + rts +} + // cscroll +// Scroll the entire screen if the cursor is beyond the last line +cscroll: { + .label __7 = $18 + .label __8 = $1a + // [124] if((byte) conio_cursor_y!=(byte) $19) goto cscroll::@return -- vbuz1_neq_vbuc1_then_la1 + lda #$19 + cmp.z conio_cursor_y + bne __breturn + // [125] phi from cscroll to cscroll::@1 [phi:cscroll->cscroll::@1] + __b1_from_cscroll: + jmp __b1 + // cscroll::@1 + __b1: + // [126] call memcpy + // [147] phi from cscroll::@1 to memcpy [phi:cscroll::@1->memcpy] + memcpy_from___b1: + // [147] phi (void*) memcpy::destination#2 = (void*)(const nomodify byte*) CONIO_SCREEN_TEXT [phi:cscroll::@1->memcpy#0] -- pvoz1=pvoc1 + lda #CONIO_SCREEN_TEXT + sta.z memcpy.destination+1 + // [147] phi (void*) memcpy::source#2 = (void*)(const nomodify byte*) CONIO_SCREEN_TEXT+(byte) $28 [phi:cscroll::@1->memcpy#1] -- pvoz1=pvoc1 + lda #CONIO_SCREEN_TEXT+$28 + sta.z memcpy.source+1 + jsr memcpy + // [127] phi from cscroll::@1 to cscroll::@2 [phi:cscroll::@1->cscroll::@2] + __b2_from___b1: + jmp __b2 + // cscroll::@2 + __b2: + // [128] call memcpy + // [147] phi from cscroll::@2 to memcpy [phi:cscroll::@2->memcpy] + memcpy_from___b2: + // [147] phi (void*) memcpy::destination#2 = (void*)(const nomodify byte*) CONIO_SCREEN_COLORS [phi:cscroll::@2->memcpy#0] -- pvoz1=pvoc1 + lda #CONIO_SCREEN_COLORS + sta.z memcpy.destination+1 + // [147] phi (void*) memcpy::source#2 = (void*)(const nomodify byte*) CONIO_SCREEN_COLORS+(byte) $28 [phi:cscroll::@2->memcpy#1] -- pvoz1=pvoc1 + lda #CONIO_SCREEN_COLORS+$28 + sta.z memcpy.source+1 + jsr memcpy + // [129] phi from cscroll::@2 to cscroll::@3 [phi:cscroll::@2->cscroll::@3] + __b3_from___b2: + jmp __b3 + // cscroll::@3 + __b3: + // [130] call memset + // [139] phi from cscroll::@3 to memset [phi:cscroll::@3->memset] + memset_from___b3: + // [139] phi (byte) memset::c#4 = (byte) ' ' [phi:cscroll::@3->memset#0] -- vbuxx=vbuc1 + ldx #' ' + // [139] phi (void*) memset::str#3 = (void*)(const nomodify byte*) CONIO_SCREEN_TEXT+(word)(number) $19*(number) $28-(byte) $28 [phi:cscroll::@3->memset#1] -- pvoz1=pvoc1 + lda #CONIO_SCREEN_TEXT+$19*$28-$28 + sta.z memset.str+1 + jsr memset + jmp __b4 + // cscroll::@4 + __b4: + // [131] (byte) memset::c#1 ← (byte) conio_textcolor -- vbuxx=vbuz1 + ldx.z conio_textcolor + // [132] call memset + // [139] phi from cscroll::@4 to memset [phi:cscroll::@4->memset] + memset_from___b4: + // [139] phi (byte) memset::c#4 = (byte) memset::c#1 [phi:cscroll::@4->memset#0] -- register_copy + // [139] phi (void*) memset::str#3 = (void*)(const nomodify byte*) CONIO_SCREEN_COLORS+(word)(number) $19*(number) $28-(byte) $28 [phi:cscroll::@4->memset#1] -- pvoz1=pvoc1 + lda #CONIO_SCREEN_COLORS+$19*$28-$28 + sta.z memset.str+1 + jsr memset + jmp __b5 + // cscroll::@5 + __b5: + // [133] (byte*~) cscroll::$7 ← (byte*) conio_cursor_text - (byte) $28 -- pbuz1=pbuz1_minus_vwuc1 + lda.z __7 + sec + sbc #<$28 + sta.z __7 + lda.z __7+1 + sbc #>$28 + sta.z __7+1 + // [134] (byte*) conio_cursor_text ← (byte*~) cscroll::$7 + // [135] (byte*~) cscroll::$8 ← (byte*) conio_cursor_color - (byte) $28 -- pbuz1=pbuz1_minus_vwuc1 + lda.z __8 + sec + sbc #<$28 + sta.z __8 + lda.z __8+1 + sbc #>$28 + sta.z __8+1 + // [136] (byte*) conio_cursor_color ← (byte*~) cscroll::$8 + // [137] (byte) conio_cursor_y ← -- (byte) conio_cursor_y -- vbuz1=_dec_vbuz1 + dec.z conio_cursor_y + jmp __breturn + // cscroll::@return + __breturn: + // [138] return + rts +} + // memset +// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str. +// memset(void* zp($27) str, byte register(X) c) +memset: { + .label end = $25 + .label dst = $27 + .label str = $27 + jmp __b1 + // memset::@1 + __b1: + // [140] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (byte) $28 -- pbuz1=pbuz2_plus_vbuc1 + lda #$28 + clc + adc.z str + sta.z end + lda #0 + adc.z str+1 + sta.z end+1 + // [141] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3 + // [142] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2] + __b2_from___b1: + __b2_from___b3: + // [142] phi (byte*) memset::dst#2 = (byte*) memset::dst#4 [phi:memset::@1/memset::@3->memset::@2#0] -- register_copy + jmp __b2 + // memset::@2 + __b2: + // [143] if((byte*) memset::dst#2!=(byte*) 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: + // [144] return + rts + // memset::@3 + __b3: + // [145] *((byte*) memset::dst#2) ← (byte) memset::c#4 -- _deref_pbuz1=vbuxx + txa + ldy #0 + sta (dst),y + // [146] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 + inc.z dst + bne !+ + inc.z dst+1 + !: + jmp __b2_from___b3 +} + // 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. +// memcpy(void* zp($14) destination, void* zp($27) source) +memcpy: { + .label src_end = $25 + .label dst = $14 + .label src = $27 + .label source = $27 + .label destination = $14 + // [148] (byte*) memcpy::src_end#0 ← (byte*)(void*) memcpy::source#2 + (word)(number) $19*(number) $28-(number) $28 -- pbuz1=pbuz2_plus_vwuc1 + lda.z source + clc + adc #<$19*$28-$28 + sta.z src_end + lda.z source+1 + adc #>$19*$28-$28 + sta.z src_end+1 + // [149] (byte*) memcpy::src#4 ← (byte*)(void*) memcpy::source#2 + // [150] (byte*) memcpy::dst#4 ← (byte*)(void*) memcpy::destination#2 + // [151] phi from memcpy memcpy::@2 to memcpy::@1 [phi:memcpy/memcpy::@2->memcpy::@1] + __b1_from_memcpy: + __b1_from___b2: + // [151] phi (byte*) memcpy::dst#2 = (byte*) memcpy::dst#4 [phi:memcpy/memcpy::@2->memcpy::@1#0] -- register_copy + // [151] phi (byte*) memcpy::src#2 = (byte*) memcpy::src#4 [phi:memcpy/memcpy::@2->memcpy::@1#1] -- register_copy + jmp __b1 + // memcpy::@1 + __b1: + // [152] if((byte*) memcpy::src#2!=(byte*) 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: + // [153] return + rts + // memcpy::@2 + __b2: + // [154] *((byte*) memcpy::dst#2) ← *((byte*) memcpy::src#2) -- _deref_pbuz1=_deref_pbuz2 + ldy #0 + lda (src),y + ldy #0 + sta (dst),y + // [155] (byte*) memcpy::dst#1 ← ++ (byte*) memcpy::dst#2 -- pbuz1=_inc_pbuz1 + inc.z dst + bne !+ + inc.z dst+1 + !: + // [156] (byte*) memcpy::src#1 ← ++ (byte*) memcpy::src#2 -- pbuz1=_inc_pbuz1 + inc.z src + bne !+ + inc.z src+1 + !: + jmp __b1_from___b2 +} + // cputs +// Output a NUL-terminated string at the current cursor position +// cputs(byte* zp($23) s) +cputs: { + .label s = $23 + // [158] phi from cputs cputs::@2 to cputs::@1 [phi:cputs/cputs::@2->cputs::@1] + __b1_from_cputs: + __b1_from___b2: + // [158] phi (to_nomodify byte*) cputs::s#4 = (to_nomodify byte*) cputs::s#5 [phi:cputs/cputs::@2->cputs::@1#0] -- register_copy + jmp __b1 + // cputs::@1 + __b1: + // [159] (byte) cputs::c#1 ← *((to_nomodify byte*) cputs::s#4) -- vbuaa=_deref_pbuz1 + ldy #0 + lda (s),y + // [160] (to_nomodify byte*) cputs::s#0 ← ++ (to_nomodify byte*) cputs::s#4 -- pbuz1=_inc_pbuz1 + inc.z s + bne !+ + inc.z s+1 + !: + // [161] if((byte) 0!=(byte) cputs::c#1) goto cputs::@2 -- vbuc1_neq_vbuaa_then_la1 + cmp #0 + bne __b2 + jmp __breturn + // cputs::@return + __breturn: + // [162] return + rts + // cputs::@2 + __b2: + // [163] (byte) cputc::c#0 ← (byte) cputs::c#1 + // [164] call cputc + // [100] phi from cputs::@2 to cputc [phi:cputs::@2->cputc] + cputc_from___b2: + // [100] phi (byte) cputc::c#3 = (byte) cputc::c#0 [phi:cputs::@2->cputc#0] -- register_copy + jsr cputc + jmp __b1_from___b2 +} + // strupr +// Converts a string to uppercase. +strupr: { + .label str = printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + .label src = $14 + // [166] phi from strupr to strupr::@1 [phi:strupr->strupr::@1] + __b1_from_strupr: + // [166] phi (byte*) strupr::src#2 = (const byte*) strupr::str#0 [phi:strupr->strupr::@1#0] -- pbuz1=pbuc1 + lda #str + sta.z src+1 + jmp __b1 + // strupr::@1 + __b1: + // [167] if((byte) 0!=*((byte*) strupr::src#2)) goto strupr::@2 -- vbuc1_neq__deref_pbuz1_then_la1 + ldy #0 + lda (src),y + cmp #0 + bne __b2 + jmp __breturn + // strupr::@return + __breturn: + // [168] return + rts + // strupr::@2 + __b2: + // [169] (byte) toupper::ch#0 ← *((byte*) strupr::src#2) -- vbuaa=_deref_pbuz1 + ldy #0 + lda (src),y + // [170] call toupper + jsr toupper + // [171] (byte) toupper::return#3 ← (byte) toupper::return#2 + jmp __b3 + // strupr::@3 + __b3: + // [172] (byte~) strupr::$0 ← (byte) toupper::return#3 + // [173] *((byte*) strupr::src#2) ← (byte~) strupr::$0 -- _deref_pbuz1=vbuaa + ldy #0 + sta (src),y + // [174] (byte*) strupr::src#1 ← ++ (byte*) strupr::src#2 -- pbuz1=_inc_pbuz1 + inc.z src + bne !+ + inc.z src+1 + !: + // [166] phi from strupr::@3 to strupr::@1 [phi:strupr::@3->strupr::@1] + __b1_from___b3: + // [166] phi (byte*) strupr::src#2 = (byte*) strupr::src#1 [phi:strupr::@3->strupr::@1#0] -- register_copy + jmp __b1 +} + // toupper +// Convert lowercase alphabet to uppercase +// Returns uppercase equivalent to c, if such value exists, else c remains unchanged +// toupper(byte register(A) ch) +toupper: { + // [175] if((byte) toupper::ch#0<(byte) 'a') goto toupper::@return -- vbuaa_lt_vbuc1_then_la1 + cmp #'a' + bcc __breturn_from_toupper + jmp __b2 + // toupper::@2 + __b2: + // [176] if((byte) toupper::ch#0<=(byte) 'z') goto toupper::@1 -- vbuaa_le_vbuc1_then_la1 + cmp #'z' + bcc __b1 + beq __b1 + // [178] phi from toupper toupper::@1 toupper::@2 to toupper::@return [phi:toupper/toupper::@1/toupper::@2->toupper::@return] + __breturn_from_toupper: + __breturn_from___b1: + __breturn_from___b2: + // [178] phi (byte) toupper::return#2 = (byte) toupper::ch#0 [phi:toupper/toupper::@1/toupper::@2->toupper::@return#0] -- register_copy + jmp __breturn + // toupper::@1 + __b1: + // [177] (byte) toupper::return#0 ← (byte) toupper::ch#0 + (byte) 'A'-(byte) 'a' -- vbuaa=vbuaa_plus_vbuc1 + clc + adc #'A'-'a' + jmp __breturn_from___b1 + // toupper::@return + __breturn: + // [179] return + rts +} + // strlen +// Computes the length of the string str up to but not including the terminating null character. +// strlen(byte* zp($23) str) +strlen: { + .label len = $27 + .label str = $23 + .label return = $27 + // [181] phi from strlen to strlen::@1 [phi:strlen->strlen::@1] + __b1_from_strlen: + // [181] phi (word) strlen::len#2 = (word) 0 [phi:strlen->strlen::@1#0] -- vwuz1=vwuc1 + lda #<0 + sta.z len + lda #>0 + sta.z len+1 + // [181] phi (byte*) strlen::str#2 = (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:strlen->strlen::@1#1] -- pbuz1=pbuc1 + lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + sta.z str+1 + jmp __b1 + // strlen::@1 + __b1: + // [182] if((byte) 0!=*((byte*) strlen::str#2)) goto strlen::@2 -- vbuc1_neq__deref_pbuz1_then_la1 + ldy #0 + lda (str),y + cmp #0 + bne __b2 + jmp __breturn + // strlen::@return + __breturn: + // [183] return + rts + // strlen::@2 + __b2: + // [184] (word) strlen::len#1 ← ++ (word) strlen::len#2 -- vwuz1=_inc_vwuz1 + inc.z len + bne !+ + inc.z len+1 + !: + // [185] (byte*) strlen::str#0 ← ++ (byte*) strlen::str#2 -- pbuz1=_inc_pbuz1 + inc.z str + bne !+ + inc.z str+1 + !: + // [181] phi from strlen::@2 to strlen::@1 [phi:strlen::@2->strlen::@1] + __b1_from___b2: + // [181] phi (word) strlen::len#2 = (word) strlen::len#1 [phi:strlen::@2->strlen::@1#0] -- register_copy + // [181] phi (byte*) strlen::str#2 = (byte*) strlen::str#0 [phi:strlen::@2->strlen::@1#1] -- register_copy + jmp __b1 +} + // ultoa +// Converts unsigned number value to a string representing it in RADIX format. +// If the leading digits are zero they are not included in the string. +// - value : The number to be converted to RADIX +// - buffer : receives the string representing the number and zero-termination. +// - radix : The radix to convert the number to (from the enum RADIX) +// ultoa(dword zp(2) value, byte* zp($27) buffer) +ultoa: { + .const max_digits = $a + .label digit_value = $1f + .label buffer = $27 + .label digit = $10 + .label value = 2 + // [187] phi from ultoa to ultoa::@1 [phi:ultoa->ultoa::@1] + __b1_from_ultoa: + // [187] phi (byte*) ultoa::buffer#11 = (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:ultoa->ultoa::@1#0] -- pbuz1=pbuc1 + lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + sta.z buffer+1 + // [187] phi (byte) ultoa::started#2 = (byte) 0 [phi:ultoa->ultoa::@1#1] -- vbuxx=vbuc1 + ldx #0 + // [187] phi (dword) ultoa::value#2 = (dword) ultoa::value#1 [phi:ultoa->ultoa::@1#2] -- register_copy + // [187] phi (byte) ultoa::digit#2 = (byte) 0 [phi:ultoa->ultoa::@1#3] -- vbuz1=vbuc1 + lda #0 + sta.z digit + jmp __b1 + // ultoa::@1 + __b1: + // [188] if((byte) ultoa::digit#2<(const byte) ultoa::max_digits#1-(byte) 1) goto ultoa::@2 -- vbuz1_lt_vbuc1_then_la1 + lda.z digit + cmp #max_digits-1 + bcc __b2 + jmp __b3 + // ultoa::@3 + __b3: + // [189] (byte~) ultoa::$11 ← (byte)(dword) ultoa::value#2 -- vbuaa=_byte_vduz1 + lda.z value + // [190] *((byte*) ultoa::buffer#11) ← *((const byte*) DIGITS + (byte~) ultoa::$11) -- _deref_pbuz1=pbuc1_derefidx_vbuaa + tay + lda DIGITS,y + ldy #0 + sta (buffer),y + // [191] (byte*) ultoa::buffer#3 ← ++ (byte*) ultoa::buffer#11 -- pbuz1=_inc_pbuz1 + inc.z buffer + bne !+ + inc.z buffer+1 + !: + // [192] *((byte*) ultoa::buffer#3) ← (byte) 0 -- _deref_pbuz1=vbuc1 + lda #0 + ldy #0 + sta (buffer),y + jmp __breturn + // ultoa::@return + __breturn: + // [193] return + rts + // ultoa::@2 + __b2: + // [194] (byte~) ultoa::$10 ← (byte) ultoa::digit#2 << (byte) 2 -- vbuaa=vbuz1_rol_2 + lda.z digit + asl + asl + // [195] (dword) ultoa::digit_value#0 ← *((const dword*) RADIX_DECIMAL_VALUES_LONG + (byte~) ultoa::$10) -- vduz1=pduc1_derefidx_vbuaa + tay + lda RADIX_DECIMAL_VALUES_LONG,y + sta.z digit_value + lda RADIX_DECIMAL_VALUES_LONG+1,y + sta.z digit_value+1 + lda RADIX_DECIMAL_VALUES_LONG+2,y + sta.z digit_value+2 + lda RADIX_DECIMAL_VALUES_LONG+3,y + sta.z digit_value+3 + // [196] if((byte) 0!=(byte) ultoa::started#2) goto ultoa::@5 -- vbuc1_neq_vbuxx_then_la1 + cpx #0 + bne __b5 + jmp __b7 + // ultoa::@7 + __b7: + // [197] if((dword) ultoa::value#2>=(dword) ultoa::digit_value#0) goto ultoa::@5 -- vduz1_ge_vduz2_then_la1 + lda.z value+3 + cmp.z digit_value+3 + bcc !+ + bne __b5 + lda.z value+2 + cmp.z digit_value+2 + bcc !+ + bne __b5 + lda.z value+1 + cmp.z digit_value+1 + bcc !+ + bne __b5 + lda.z value + cmp.z digit_value + bcs __b5 + !: + // [198] phi from ultoa::@7 to ultoa::@4 [phi:ultoa::@7->ultoa::@4] + __b4_from___b7: + // [198] phi (byte*) ultoa::buffer#14 = (byte*) ultoa::buffer#11 [phi:ultoa::@7->ultoa::@4#0] -- register_copy + // [198] phi (byte) ultoa::started#4 = (byte) ultoa::started#2 [phi:ultoa::@7->ultoa::@4#1] -- register_copy + // [198] phi (dword) ultoa::value#6 = (dword) ultoa::value#2 [phi:ultoa::@7->ultoa::@4#2] -- register_copy + jmp __b4 + // ultoa::@4 + __b4: + // [199] (byte) ultoa::digit#1 ← ++ (byte) ultoa::digit#2 -- vbuz1=_inc_vbuz1 + inc.z digit + // [187] phi from ultoa::@4 to ultoa::@1 [phi:ultoa::@4->ultoa::@1] + __b1_from___b4: + // [187] phi (byte*) ultoa::buffer#11 = (byte*) ultoa::buffer#14 [phi:ultoa::@4->ultoa::@1#0] -- register_copy + // [187] phi (byte) ultoa::started#2 = (byte) ultoa::started#4 [phi:ultoa::@4->ultoa::@1#1] -- register_copy + // [187] phi (dword) ultoa::value#2 = (dword) ultoa::value#6 [phi:ultoa::@4->ultoa::@1#2] -- register_copy + // [187] phi (byte) ultoa::digit#2 = (byte) ultoa::digit#1 [phi:ultoa::@4->ultoa::@1#3] -- register_copy + jmp __b1 + // ultoa::@5 + __b5: + // [200] (byte*) ultoa_append::buffer#0 ← (byte*) ultoa::buffer#11 + // [201] (dword) ultoa_append::value#0 ← (dword) ultoa::value#2 + // [202] (dword) ultoa_append::sub#0 ← (dword) ultoa::digit_value#0 + // [203] call ultoa_append + // [207] phi from ultoa::@5 to ultoa_append [phi:ultoa::@5->ultoa_append] + ultoa_append_from___b5: + jsr ultoa_append + // [204] (dword) ultoa_append::return#0 ← (dword) ultoa_append::value#2 + jmp __b6 + // ultoa::@6 + __b6: + // [205] (dword) ultoa::value#0 ← (dword) ultoa_append::return#0 + // [206] (byte*) ultoa::buffer#4 ← ++ (byte*) ultoa::buffer#11 -- pbuz1=_inc_pbuz1 + inc.z buffer + bne !+ + inc.z buffer+1 + !: + // [198] phi from ultoa::@6 to ultoa::@4 [phi:ultoa::@6->ultoa::@4] + __b4_from___b6: + // [198] phi (byte*) ultoa::buffer#14 = (byte*) ultoa::buffer#4 [phi:ultoa::@6->ultoa::@4#0] -- register_copy + // [198] phi (byte) ultoa::started#4 = (byte) 1 [phi:ultoa::@6->ultoa::@4#1] -- vbuxx=vbuc1 + ldx #1 + // [198] phi (dword) ultoa::value#6 = (dword) ultoa::value#0 [phi:ultoa::@6->ultoa::@4#2] -- register_copy + jmp __b4 +} + // ultoa_append +// Used to convert a single digit of an unsigned number value to a string representation +// Counts a single digit up from '0' as long as the value is larger than sub. +// Each time the digit is increased sub is subtracted from value. +// - buffer : pointer to the char that receives the digit +// - value : The value where the digit will be derived from +// - sub : the value of a '1' in the digit. Subtracted continually while the digit is increased. +// (For decimal the subs used are 10000, 1000, 100, 10, 1) +// returns : the value reduced by sub * digit so that it is less than sub. +// ultoa_append(byte* zp($27) buffer, dword zp(2) value, dword zp($1f) sub) +ultoa_append: { + .label buffer = $27 + .label value = 2 + .label sub = $1f + .label return = 2 + // [208] phi from ultoa_append to ultoa_append::@1 [phi:ultoa_append->ultoa_append::@1] + __b1_from_ultoa_append: + // [208] phi (byte) ultoa_append::digit#2 = (byte) 0 [phi:ultoa_append->ultoa_append::@1#0] -- vbuxx=vbuc1 + ldx #0 + // [208] phi (dword) ultoa_append::value#2 = (dword) ultoa_append::value#0 [phi:ultoa_append->ultoa_append::@1#1] -- register_copy + jmp __b1 + // ultoa_append::@1 + __b1: + // [209] if((dword) ultoa_append::value#2>=(dword) ultoa_append::sub#0) goto ultoa_append::@2 -- vduz1_ge_vduz2_then_la1 + lda.z value+3 + cmp.z sub+3 + bcc !+ + bne __b2 + lda.z value+2 + cmp.z sub+2 + bcc !+ + bne __b2 + lda.z value+1 + cmp.z sub+1 + bcc !+ + bne __b2 + lda.z value + cmp.z sub + bcs __b2 + !: + jmp __b3 + // ultoa_append::@3 + __b3: + // [210] *((byte*) ultoa_append::buffer#0) ← *((const byte*) DIGITS + (byte) ultoa_append::digit#2) -- _deref_pbuz1=pbuc1_derefidx_vbuxx + lda DIGITS,x + ldy #0 + sta (buffer),y + jmp __breturn + // ultoa_append::@return + __breturn: + // [211] return + rts + // ultoa_append::@2 + __b2: + // [212] (byte) ultoa_append::digit#1 ← ++ (byte) ultoa_append::digit#2 -- vbuxx=_inc_vbuxx + inx + // [213] (dword) ultoa_append::value#1 ← (dword) ultoa_append::value#2 - (dword) ultoa_append::sub#0 -- vduz1=vduz1_minus_vduz2 + lda.z value + sec + sbc.z sub + sta.z value + lda.z value+1 + sbc.z sub+1 + sta.z value+1 + lda.z value+2 + sbc.z sub+2 + sta.z value+2 + lda.z value+3 + sbc.z sub+3 + sta.z value+3 + // [208] phi from ultoa_append::@2 to ultoa_append::@1 [phi:ultoa_append::@2->ultoa_append::@1] + __b1_from___b2: + // [208] phi (byte) ultoa_append::digit#2 = (byte) ultoa_append::digit#1 [phi:ultoa_append::@2->ultoa_append::@1#0] -- register_copy + // [208] phi (dword) ultoa_append::value#2 = (dword) ultoa_append::value#1 [phi:ultoa_append::@2->ultoa_append::@1#1] -- register_copy + jmp __b1 +} + // textcolor +// Set the color for text output. The old color setting is returned. +// textcolor(byte register(A) color) +textcolor: { + // [215] (byte) conio_textcolor ← (byte) textcolor::color#3 -- vbuz1=vbuaa + sta.z conio_textcolor + jmp __breturn + // textcolor::@return + __breturn: + // [216] return + rts +} + // gotoxy +// Set the cursor to the specified position +// gotoxy(byte register(X) x, byte register(A) y) +gotoxy: { + .label __4 = $1a + .label __6 = $18 + .label __7 = $1a + .label __8 = $1a + .label offset = $1a + .label __9 = $23 + .label __10 = $1a + // [218] if((byte) gotoxy::y#4<(byte) $19+(byte) 1) goto gotoxy::@3 -- vbuaa_lt_vbuc1_then_la1 + cmp #$19+1 + bcc __b3_from_gotoxy + // [220] phi from gotoxy to gotoxy::@1 [phi:gotoxy->gotoxy::@1] + __b1_from_gotoxy: + // [220] phi (byte) gotoxy::y#5 = (byte) 0 [phi:gotoxy->gotoxy::@1#0] -- vbuaa=vbuc1 + lda #0 + jmp __b1 + // [219] phi from gotoxy to gotoxy::@3 [phi:gotoxy->gotoxy::@3] + __b3_from_gotoxy: + jmp __b3 + // gotoxy::@3 + __b3: + // [220] phi from gotoxy::@3 to gotoxy::@1 [phi:gotoxy::@3->gotoxy::@1] + __b1_from___b3: + // [220] phi (byte) gotoxy::y#5 = (byte) gotoxy::y#4 [phi:gotoxy::@3->gotoxy::@1#0] -- register_copy + jmp __b1 + // gotoxy::@1 + __b1: + // [221] if((byte) gotoxy::x#4<(byte) $28) goto gotoxy::@4 -- vbuxx_lt_vbuc1_then_la1 + cpx #$28 + bcc __b4_from___b1 + // [223] phi from gotoxy::@1 to gotoxy::@2 [phi:gotoxy::@1->gotoxy::@2] + __b2_from___b1: + // [223] phi (byte) gotoxy::x#5 = (byte) 0 [phi:gotoxy::@1->gotoxy::@2#0] -- vbuxx=vbuc1 + ldx #0 + jmp __b2 + // [222] phi from gotoxy::@1 to gotoxy::@4 [phi:gotoxy::@1->gotoxy::@4] + __b4_from___b1: + jmp __b4 + // gotoxy::@4 + __b4: + // [223] phi from gotoxy::@4 to gotoxy::@2 [phi:gotoxy::@4->gotoxy::@2] + __b2_from___b4: + // [223] phi (byte) gotoxy::x#5 = (byte) gotoxy::x#4 [phi:gotoxy::@4->gotoxy::@2#0] -- register_copy + jmp __b2 + // gotoxy::@2 + __b2: + // [224] (byte) conio_cursor_x ← (byte) gotoxy::x#5 -- vbuz1=vbuxx + stx.z conio_cursor_x + // [225] (byte) conio_cursor_y ← (byte) gotoxy::y#5 -- vbuz1=vbuaa + sta.z conio_cursor_y + // [226] (word~) gotoxy::$8 ← (word)(byte) gotoxy::y#5 -- vwuz1=_word_vbuaa + sta.z __8 + lda #0 + sta.z __8+1 + // [227] (word~) gotoxy::$9 ← (word~) gotoxy::$8 << (byte) 2 -- vwuz1=vwuz2_rol_2 + lda.z __8 + asl + sta.z __9 + lda.z __8+1 + rol + sta.z __9+1 + asl.z __9 + rol.z __9+1 + // [228] (word~) gotoxy::$10 ← (word~) gotoxy::$9 + (word~) gotoxy::$8 -- vwuz1=vwuz2_plus_vwuz1 + lda.z __10 + clc + adc.z __9 + sta.z __10 + lda.z __10+1 + adc.z __9+1 + sta.z __10+1 + // [229] (word~) gotoxy::$4 ← (word~) gotoxy::$10 << (byte) 3 -- vwuz1=vwuz1_rol_3 + asl.z __4 + rol.z __4+1 + asl.z __4 + rol.z __4+1 + asl.z __4 + rol.z __4+1 + // [230] (word) gotoxy::offset#0 ← (word~) gotoxy::$4 + (byte) gotoxy::x#5 -- vwuz1=vwuz1_plus_vbuxx + txa + clc + adc.z offset + sta.z offset + bcc !+ + inc.z offset+1 + !: + // [231] (byte*~) gotoxy::$6 ← (const nomodify byte*) CONIO_SCREEN_TEXT + (word) gotoxy::offset#0 -- pbuz1=pbuc1_plus_vwuz2 + lda.z offset + clc + adc #CONIO_SCREEN_TEXT + sta.z __6+1 + // [232] (byte*) conio_cursor_text ← (byte*~) gotoxy::$6 + // [233] (byte*~) gotoxy::$7 ← (const nomodify byte*) CONIO_SCREEN_COLORS + (word) gotoxy::offset#0 -- pbuz1=pbuc1_plus_vwuz1 + clc + lda.z __7 + adc #CONIO_SCREEN_COLORS + sta.z __7+1 + // [234] (byte*) conio_cursor_color ← (byte*~) gotoxy::$7 + jmp __breturn + // gotoxy::@return + __breturn: + // [235] return + rts +} + // rand +// Returns a pseudo-random number in the range of 0 to RAND_MAX (65535) +// Uses an xorshift pseudorandom number generator that hits all different values +// Information https://en.wikipedia.org/wiki/Xorshift +// Source http://www.retroprogramming.com/2017/07/xorshift-pseudorandom-numbers-in-z80.html +rand: { + .label __0 = $23 + .label __1 = $27 + .label __2 = $25 + .label return = 8 + .label return_1 = $1d + // [237] (word~) rand::$0 ← (word) rand_state#9 << (byte) 7 -- vwuz1=vwuz2_rol_7 + lda.z rand_state+1 + lsr + lda.z rand_state + ror + sta.z __0+1 + lda #0 + ror + sta.z __0 + // [238] (word) rand_state#1 ← (word) rand_state#9 ^ (word~) rand::$0 -- vwuz1=vwuz1_bxor_vwuz2 + lda.z rand_state + eor.z __0 + sta.z rand_state + lda.z rand_state+1 + eor.z __0+1 + sta.z rand_state+1 + // [239] (word~) rand::$1 ← (word) rand_state#1 >> (byte) 9 -- vwuz1=vwuz2_ror_9 + lda.z rand_state+1 + lsr + sta.z __1 + lda #0 + sta.z __1+1 + // [240] (word) rand_state#2 ← (word) rand_state#1 ^ (word~) rand::$1 -- vwuz1=vwuz1_bxor_vwuz2 + lda.z rand_state + eor.z __1 + sta.z rand_state + lda.z rand_state+1 + eor.z __1+1 + sta.z rand_state+1 + // [241] (word~) rand::$2 ← (word) rand_state#2 << (byte) 8 -- vwuz1=vwuz2_rol_8 + lda.z rand_state + sta.z __2+1 + lda #0 + sta.z __2 + // [242] (word) rand_state#10 ← (word) rand_state#2 ^ (word~) rand::$2 -- vwuz1=vwuz1_bxor_vwuz2 + lda.z rand_state + eor.z __2 + sta.z rand_state + lda.z rand_state+1 + eor.z __2+1 + sta.z rand_state+1 + // [243] (word) rand::return#0 ← (word) rand_state#10 -- vwuz1=vwuz2 + lda.z rand_state + sta.z return + lda.z rand_state+1 + sta.z return+1 + jmp __breturn + // rand::@return + __breturn: + // [244] return + rts +} + // printf_uint +// Print an unsigned int using a specific format +// printf_uint(word zp(8) uvalue) +printf_uint: { + .const format_min_length = 5 + .const format_justify_left = 0 + .const format_zero_padding = 0 + .const format_upper_case = 0 + .label uvalue = 8 + jmp __b1 + // printf_uint::@1 + __b1: + // [246] *((byte*)&(struct printf_buffer_number) printf_buffer) ← (byte) 0 -- _deref_pbuc1=vbuc2 + // Handle any sign + lda #0 + sta printf_buffer + // [247] (word) utoa::value#1 ← (word) printf_uint::uvalue#0 + // [248] call utoa + // Format number into buffer + // [252] phi from printf_uint::@1 to utoa [phi:printf_uint::@1->utoa] + utoa_from___b1: + jsr utoa + jmp __b2 + // printf_uint::@2 + __b2: + // [249] (byte) printf_number_buffer::buffer_sign#1 ← *((byte*)&(struct printf_buffer_number) printf_buffer) -- vbuz1=_deref_pbuc1 + lda printf_buffer + sta.z printf_number_buffer.buffer_sign + // [250] call printf_number_buffer + // Print using format + // [56] phi from printf_uint::@2 to printf_number_buffer [phi:printf_uint::@2->printf_number_buffer] + printf_number_buffer_from___b2: + // [56] phi (byte) printf_number_buffer::format_upper_case#10 = (const byte) printf_uint::format_upper_case#0 [phi:printf_uint::@2->printf_number_buffer#0] -- vbuz1=vbuc1 + lda #format_upper_case + sta.z printf_number_buffer.format_upper_case + // [56] phi (byte) printf_number_buffer::buffer_sign#10 = (byte) printf_number_buffer::buffer_sign#1 [phi:printf_uint::@2->printf_number_buffer#1] -- register_copy + // [56] phi (byte) printf_number_buffer::format_zero_padding#10 = (const byte) printf_uint::format_zero_padding#0 [phi:printf_uint::@2->printf_number_buffer#2] -- vbuz1=vbuc1 + lda #format_zero_padding + sta.z printf_number_buffer.format_zero_padding + // [56] phi (byte) printf_number_buffer::format_justify_left#10 = (const byte) printf_uint::format_justify_left#0 [phi:printf_uint::@2->printf_number_buffer#3] -- vbuz1=vbuc1 + lda #format_justify_left + sta.z printf_number_buffer.format_justify_left + // [56] phi (byte) printf_number_buffer::format_min_length#2 = (const byte) printf_uint::format_min_length#0 [phi:printf_uint::@2->printf_number_buffer#4] -- vbuxx=vbuc1 + ldx #format_min_length + jsr printf_number_buffer + jmp __breturn + // printf_uint::@return + __breturn: + // [251] 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) +// utoa(word zp(8) value, byte* zp($14) buffer) +utoa: { + .const max_digits = 5 + .label digit_value = $27 + .label buffer = $14 + .label digit = $13 + .label value = 8 + // [253] phi from utoa to utoa::@1 [phi:utoa->utoa::@1] + __b1_from_utoa: + // [253] phi (byte*) utoa::buffer#11 = (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) 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+1 + // [253] phi (byte) utoa::started#2 = (byte) 0 [phi:utoa->utoa::@1#1] -- vbuxx=vbuc1 + ldx #0 + // [253] phi (word) utoa::value#2 = (word) utoa::value#1 [phi:utoa->utoa::@1#2] -- register_copy + // [253] phi (byte) utoa::digit#2 = (byte) 0 [phi:utoa->utoa::@1#3] -- vbuz1=vbuc1 + lda #0 + sta.z digit + jmp __b1 + // utoa::@1 + __b1: + // [254] if((byte) utoa::digit#2<(const byte) utoa::max_digits#1-(byte) 1) goto utoa::@2 -- vbuz1_lt_vbuc1_then_la1 + lda.z digit + cmp #max_digits-1 + bcc __b2 + jmp __b3 + // utoa::@3 + __b3: + // [255] (byte~) utoa::$11 ← (byte)(word) utoa::value#2 -- vbuaa=_byte_vwuz1 + lda.z value + // [256] *((byte*) utoa::buffer#11) ← *((const byte*) DIGITS + (byte~) utoa::$11) -- _deref_pbuz1=pbuc1_derefidx_vbuaa + tay + lda DIGITS,y + ldy #0 + sta (buffer),y + // [257] (byte*) utoa::buffer#3 ← ++ (byte*) utoa::buffer#11 -- pbuz1=_inc_pbuz1 + inc.z buffer + bne !+ + inc.z buffer+1 + !: + // [258] *((byte*) utoa::buffer#3) ← (byte) 0 -- _deref_pbuz1=vbuc1 + lda #0 + ldy #0 + sta (buffer),y + jmp __breturn + // utoa::@return + __breturn: + // [259] return + rts + // utoa::@2 + __b2: + // [260] (byte~) utoa::$10 ← (byte) utoa::digit#2 << (byte) 1 -- vbuaa=vbuz1_rol_1 + lda.z digit + asl + // [261] (word) utoa::digit_value#0 ← *((const word*) RADIX_DECIMAL_VALUES + (byte~) 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 + // [262] if((byte) 0!=(byte) utoa::started#2) goto utoa::@5 -- vbuc1_neq_vbuxx_then_la1 + cpx #0 + bne __b5 + jmp __b7 + // utoa::@7 + __b7: + // [263] if((word) utoa::value#2>=(word) 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 + // [264] phi from utoa::@7 to utoa::@4 [phi:utoa::@7->utoa::@4] + __b4_from___b7: + // [264] phi (byte*) utoa::buffer#14 = (byte*) utoa::buffer#11 [phi:utoa::@7->utoa::@4#0] -- register_copy + // [264] phi (byte) utoa::started#4 = (byte) utoa::started#2 [phi:utoa::@7->utoa::@4#1] -- register_copy + // [264] phi (word) utoa::value#6 = (word) utoa::value#2 [phi:utoa::@7->utoa::@4#2] -- register_copy + jmp __b4 + // utoa::@4 + __b4: + // [265] (byte) utoa::digit#1 ← ++ (byte) utoa::digit#2 -- vbuz1=_inc_vbuz1 + inc.z digit + // [253] phi from utoa::@4 to utoa::@1 [phi:utoa::@4->utoa::@1] + __b1_from___b4: + // [253] phi (byte*) utoa::buffer#11 = (byte*) utoa::buffer#14 [phi:utoa::@4->utoa::@1#0] -- register_copy + // [253] phi (byte) utoa::started#2 = (byte) utoa::started#4 [phi:utoa::@4->utoa::@1#1] -- register_copy + // [253] phi (word) utoa::value#2 = (word) utoa::value#6 [phi:utoa::@4->utoa::@1#2] -- register_copy + // [253] phi (byte) utoa::digit#2 = (byte) utoa::digit#1 [phi:utoa::@4->utoa::@1#3] -- register_copy + jmp __b1 + // utoa::@5 + __b5: + // [266] (byte*) utoa_append::buffer#0 ← (byte*) utoa::buffer#11 + // [267] (word) utoa_append::value#0 ← (word) utoa::value#2 + // [268] (word) utoa_append::sub#0 ← (word) utoa::digit_value#0 + // [269] call utoa_append + // [273] phi from utoa::@5 to utoa_append [phi:utoa::@5->utoa_append] + utoa_append_from___b5: + jsr utoa_append + // [270] (word) utoa_append::return#0 ← (word) utoa_append::value#2 + jmp __b6 + // utoa::@6 + __b6: + // [271] (word) utoa::value#0 ← (word) utoa_append::return#0 + // [272] (byte*) utoa::buffer#4 ← ++ (byte*) utoa::buffer#11 -- pbuz1=_inc_pbuz1 + inc.z buffer + bne !+ + inc.z buffer+1 + !: + // [264] phi from utoa::@6 to utoa::@4 [phi:utoa::@6->utoa::@4] + __b4_from___b6: + // [264] phi (byte*) utoa::buffer#14 = (byte*) utoa::buffer#4 [phi:utoa::@6->utoa::@4#0] -- register_copy + // [264] phi (byte) utoa::started#4 = (byte) 1 [phi:utoa::@6->utoa::@4#1] -- vbuxx=vbuc1 + ldx #1 + // [264] phi (word) utoa::value#6 = (word) utoa::value#0 [phi:utoa::@6->utoa::@4#2] -- register_copy + jmp __b4 +} + // 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. +// utoa_append(byte* zp($14) buffer, word zp(8) value, word zp($27) sub) +utoa_append: { + .label buffer = $14 + .label value = 8 + .label sub = $27 + .label return = 8 + // [274] phi from utoa_append to utoa_append::@1 [phi:utoa_append->utoa_append::@1] + __b1_from_utoa_append: + // [274] phi (byte) utoa_append::digit#2 = (byte) 0 [phi:utoa_append->utoa_append::@1#0] -- vbuxx=vbuc1 + ldx #0 + // [274] phi (word) utoa_append::value#2 = (word) utoa_append::value#0 [phi:utoa_append->utoa_append::@1#1] -- register_copy + jmp __b1 + // utoa_append::@1 + __b1: + // [275] if((word) utoa_append::value#2>=(word) 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: + // [276] *((byte*) utoa_append::buffer#0) ← *((const byte*) DIGITS + (byte) utoa_append::digit#2) -- _deref_pbuz1=pbuc1_derefidx_vbuxx + lda DIGITS,x + ldy #0 + sta (buffer),y + jmp __breturn + // utoa_append::@return + __breturn: + // [277] return + rts + // utoa_append::@2 + __b2: + // [278] (byte) utoa_append::digit#1 ← ++ (byte) utoa_append::digit#2 -- vbuxx=_inc_vbuxx + inx + // [279] (word) utoa_append::value#1 ← (word) utoa_append::value#2 - (word) 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 + // [274] phi from utoa_append::@2 to utoa_append::@1 [phi:utoa_append::@2->utoa_append::@1] + __b1_from___b2: + // [274] phi (byte) utoa_append::digit#2 = (byte) utoa_append::digit#1 [phi:utoa_append::@2->utoa_append::@1#0] -- register_copy + // [274] phi (word) utoa_append::value#2 = (word) utoa_append::value#1 [phi:utoa_append::@2->utoa_append::@1#1] -- register_copy + jmp __b1 +} + // clrscr +// clears the screen and moves the cursor to the upper left-hand corner of the screen. +clrscr: { + .label line_text = $14 + .label line_cols = $18 + // [281] phi from clrscr to clrscr::@1 [phi:clrscr->clrscr::@1] + __b1_from_clrscr: + // [281] phi (byte*) clrscr::line_cols#5 = (const nomodify byte*) CONIO_SCREEN_COLORS [phi:clrscr->clrscr::@1#0] -- pbuz1=pbuc1 + lda #CONIO_SCREEN_COLORS + sta.z line_cols+1 + // [281] phi (byte*) clrscr::line_text#5 = (const nomodify byte*) CONIO_SCREEN_TEXT [phi:clrscr->clrscr::@1#1] -- pbuz1=pbuc1 + lda #CONIO_SCREEN_TEXT + sta.z line_text+1 + // [281] phi (byte) clrscr::l#2 = (byte) 0 [phi:clrscr->clrscr::@1#2] -- vbuxx=vbuc1 + ldx #0 + jmp __b1 + // clrscr::@1 + __b1: + // [282] if((byte) clrscr::l#2<(byte) $19) goto clrscr::@3 -- vbuxx_lt_vbuc1_then_la1 + cpx #$19 + bcc __b3_from___b1 + jmp __b2 + // clrscr::@2 + __b2: + // [283] (byte) conio_cursor_x ← (byte) 0 -- vbuz1=vbuc1 + lda #0 + sta.z conio_cursor_x + // [284] (byte) conio_cursor_y ← (byte) 0 -- vbuz1=vbuc1 + lda #0 + sta.z conio_cursor_y + // [285] (byte*) conio_cursor_text ← (const nomodify byte*) CONIO_SCREEN_TEXT -- pbuz1=pbuc1 + lda #CONIO_SCREEN_TEXT + sta.z conio_cursor_text+1 + // [286] (byte*) conio_cursor_color ← (const nomodify byte*) CONIO_SCREEN_COLORS -- pbuz1=pbuc1 + lda #CONIO_SCREEN_COLORS + sta.z conio_cursor_color+1 + jmp __breturn + // clrscr::@return + __breturn: + // [287] return + rts + // [288] phi from clrscr::@1 to clrscr::@3 [phi:clrscr::@1->clrscr::@3] + __b3_from___b1: + // [288] phi (byte) clrscr::c#2 = (byte) 0 [phi:clrscr::@1->clrscr::@3#0] -- vbuyy=vbuc1 + ldy #0 + jmp __b3 + // clrscr::@3 + __b3: + // [289] if((byte) clrscr::c#2<(byte) $28) goto clrscr::@4 -- vbuyy_lt_vbuc1_then_la1 + cpy #$28 + bcc __b4 + jmp __b5 + // clrscr::@5 + __b5: + // [290] (byte*) clrscr::line_text#1 ← (byte*) clrscr::line_text#5 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 + lda #$28 + clc + adc.z line_text + sta.z line_text + bcc !+ + inc.z line_text+1 + !: + // [291] (byte*) clrscr::line_cols#1 ← (byte*) clrscr::line_cols#5 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 + lda #$28 + clc + adc.z line_cols + sta.z line_cols + bcc !+ + inc.z line_cols+1 + !: + // [292] (byte) clrscr::l#1 ← ++ (byte) clrscr::l#2 -- vbuxx=_inc_vbuxx + inx + // [281] phi from clrscr::@5 to clrscr::@1 [phi:clrscr::@5->clrscr::@1] + __b1_from___b5: + // [281] phi (byte*) clrscr::line_cols#5 = (byte*) clrscr::line_cols#1 [phi:clrscr::@5->clrscr::@1#0] -- register_copy + // [281] phi (byte*) clrscr::line_text#5 = (byte*) clrscr::line_text#1 [phi:clrscr::@5->clrscr::@1#1] -- register_copy + // [281] phi (byte) clrscr::l#2 = (byte) clrscr::l#1 [phi:clrscr::@5->clrscr::@1#2] -- register_copy + jmp __b1 + // clrscr::@4 + __b4: + // [293] *((byte*) clrscr::line_text#5 + (byte) clrscr::c#2) ← (byte) ' ' -- pbuz1_derefidx_vbuyy=vbuc1 + lda #' ' + sta (line_text),y + // [294] *((byte*) clrscr::line_cols#5 + (byte) clrscr::c#2) ← (byte) conio_textcolor -- pbuz1_derefidx_vbuyy=vbuz2 + lda.z conio_textcolor + sta (line_cols),y + // [295] (byte) clrscr::c#1 ← ++ (byte) clrscr::c#2 -- vbuyy=_inc_vbuyy + iny + // [288] phi from clrscr::@4 to clrscr::@3 [phi:clrscr::@4->clrscr::@3] + __b3_from___b4: + // [288] phi (byte) clrscr::c#2 = (byte) clrscr::c#1 [phi:clrscr::@4->clrscr::@3#0] -- register_copy + jmp __b3 +} + // File Data + // The digits used for numbers + DIGITS: .text "0123456789abcdef" + // Values of decimal digits + RADIX_DECIMAL_VALUES: .word $2710, $3e8, $64, $a + // Values of decimal digits + RADIX_DECIMAL_VALUES_LONG: .dword $3b9aca00, $5f5e100, $989680, $f4240, $186a0, $2710, $3e8, $64, $a + // Buffer used for stringified number being printed + printf_buffer: .fill SIZEOF_STRUCT_PRINTF_BUFFER_NUMBER, 0 + +ASSEMBLER OPTIMIZATIONS +Removing instruction jmp __b1 +Removing instruction jmp __b2 +Removing instruction jmp __bend +Removing instruction jmp __b6 +Removing instruction jmp __b7 +Removing instruction jmp __b8 +Removing instruction jmp __b9 +Removing instruction jmp __b10 +Removing instruction jmp __b1 +Removing instruction jmp __b3 +Removing instruction jmp __b12 +Removing instruction jmp __b13 +Removing instruction jmp __b4 +Removing instruction jmp __b17 +Removing instruction jmp __b2 +Removing instruction jmp __b11 +Removing instruction jmp __b5 +Removing instruction jmp __b14 +Removing instruction jmp __b15 +Removing instruction jmp __b16 +Removing instruction jmp __breturn +Removing instruction jmp __b1 +Removing instruction jmp __b2 +Removing instruction jmp __breturn +Removing instruction jmp __b6 +Removing instruction jmp __b14 +Removing instruction jmp __b7 +Removing instruction jmp __b13 +Removing instruction jmp __b21 +Removing instruction jmp __b1 +Removing instruction jmp __b17 +Removing instruction jmp __b16 +Removing instruction jmp __b2 +Removing instruction jmp __b9 +Removing instruction jmp __b3 +Removing instruction jmp __b18 +Removing instruction jmp __b4 +Removing instruction jmp __b11 +Removing instruction jmp __b5 +Removing instruction jmp __b15 +Removing instruction jmp __b20 +Removing instruction jmp __b19 +Removing instruction jmp __breturn +Removing instruction jmp __b1 +Removing instruction jmp __breturn +Removing instruction jmp __b3 +Removing instruction jmp __b2 +Removing instruction jmp __b3 +Removing instruction jmp __breturn +Removing instruction jmp __b1 +Removing instruction jmp __breturn +Removing instruction jmp __b1 +Removing instruction jmp __b2 +Removing instruction jmp __b3 +Removing instruction jmp __b4 +Removing instruction jmp __b5 +Removing instruction jmp __breturn +Removing instruction jmp __b1 +Removing instruction jmp __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 __breturn +Removing instruction jmp __b3 +Removing instruction jmp __b2 +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 __breturn +Removing instruction jmp __breturn +Removing instruction jmp __b3 +Removing instruction jmp __b1 +Removing instruction jmp __b4 +Removing instruction jmp __b2 +Removing instruction jmp __breturn +Removing instruction jmp __breturn +Removing instruction jmp __b1 +Removing instruction jmp __b2 +Removing instruction jmp __breturn +Removing instruction jmp __b1 +Removing instruction jmp __b3 +Removing instruction jmp __breturn +Removing instruction jmp __b7 +Removing instruction jmp __b4 +Removing instruction jmp __b6 +Removing instruction jmp __b1 +Removing instruction jmp __b3 +Removing instruction jmp __breturn +Removing instruction jmp __b1 +Removing instruction jmp __b2 +Removing instruction jmp __breturn +Removing instruction jmp __b3 +Removing instruction jmp __b5 +Succesful ASM optimization Pass5NextJumpElimination +Removing instruction lda #0 +Removing instruction lda #>0 +Replacing instruction lda.z col with TXA +Removing instruction lda.z padding +Removing instruction ldy #0 +Removing instruction lda #>0 +Replacing instruction lda #0 with TXA +Replacing instruction ldy #0 with TAY +Removing instruction lda.z rand_state+1 +Replacing instruction lda #0 with TXA +Replacing instruction ldy #0 with TAY +Removing instruction lda #0 +Succesful ASM optimization Pass5UnnecesaryLoadElimination +Replacing label __b2_from___b1 with __b2 +Replacing label __b2_from___b13 with __b2 +Replacing label __b17_from___b4 with __b17 +Replacing label __b1_from___b11 with __b1 +Replacing label __b1_from___b11 with __b1 +Replacing label __b1_from_printf_number_buffer with __b1_from___b13 +Replacing label __b13_from___b14 with __b13 +Replacing label __b21_from___b13 with __b1 +Replacing label __b5_from___b4 with __b5 +Replacing label __b1_from_cputc with __b1 +Replacing label __b2_from___b3 with __b2 +Replacing label __b1_from___b2 with __b1 +Replacing label __b1_from___b2 with __b1 +Replacing label __breturn_from_toupper with __breturn_from___b2 +Replacing label __breturn_from___b1 with __breturn_from___b2 +Replacing label __b3_from_gotoxy with __b1 +Replacing label __b4_from___b1 with __b2 +Removing instruction __b1: +Removing instruction __b2_from___b1: +Removing instruction main_from___b2: +Removing instruction __bend_from___b2: +Removing instruction __b6_from_main: +Removing instruction textcolor_from___b6: +Removing instruction __b7_from___b6: +Removing instruction cputs_from___b7: +Removing instruction __b8_from___b7: +Removing instruction rand_from___b8: +Removing instruction textcolor_from___b9: +Removing instruction __b1_from___b11: +Removing instruction printf_uint_from___b12: +Removing instruction __b17_from___b4: +Removing instruction __b2_from___b17: +Removing instruction __b2_from___b1: +Removing instruction __b2_from___b13: +Removing instruction rand_from___b2: +Removing instruction __b5_from___b11: +Removing instruction gotoxy_from___b5: +Removing instruction __b14_from___b5: +Removing instruction textcolor_from___b14: +Removing instruction __b15_from___b14: +Removing instruction cputs_from___b15: +Removing instruction printf_ulong_from___b16: +Removing instruction __b6_from_printf_number_buffer: +Removing instruction strlen_from___b6: +Removing instruction __b13_from___b14: +Removing instruction __b13_from___b7: +Removing instruction __b1_from_printf_number_buffer: +Removing instruction __b21_from___b13: +Removing instruction __b21: +Removing instruction __b1_from___b21: +Removing instruction __b11_from___b4: +Removing instruction strupr_from___b11: +Removing instruction __b5_from___b11: +Removing instruction __b5_from___b4: +Removing instruction cputs_from___b5: +Removing instruction __b1_from_cputc: +Removing instruction __b1_from_cscroll: +Removing instruction memcpy_from___b1: +Removing instruction __b2_from___b1: +Removing instruction memcpy_from___b2: +Removing instruction __b3_from___b2: +Removing instruction memset_from___b3: +Removing instruction __b2_from___b1: +Removing instruction __b2_from___b3: +Removing instruction __b1_from_memcpy: +Removing instruction __b1_from___b2: +Removing instruction __b1_from_cputs: +Removing instruction __b1_from___b2: +Removing instruction cputc_from___b2: +Removing instruction __breturn_from_toupper: +Removing instruction __breturn_from___b1: +Removing instruction __b4_from___b7: +Removing instruction ultoa_append_from___b5: +Removing instruction __b3_from_gotoxy: +Removing instruction __b3: +Removing instruction __b1_from___b3: +Removing instruction __b4_from___b1: +Removing instruction __b4: +Removing instruction __b2_from___b4: +Removing instruction __b4_from___b7: +Removing instruction utoa_append_from___b5: +Succesful ASM optimization Pass5RedundantLabelElimination +Removing instruction __b2: +Removing instruction __bend: +Removing instruction clrscr_from_main: +Removing instruction __b6: +Removing instruction __b7: +Removing instruction __b8: +Removing instruction __b9: +Removing instruction __b10: +Removing instruction __b1_from___b10: +Removing instruction __b3: +Removing instruction gotoxy_from___b3: +Removing instruction __b12: +Removing instruction __b13: +Removing instruction __b4: +Removing instruction __b2_from___b4: +Removing instruction __b11: +Removing instruction __b5: +Removing instruction __b14: +Removing instruction __b15: +Removing instruction __b16: +Removing instruction __breturn: +Removing instruction __b1: +Removing instruction ultoa_from___b1: +Removing instruction __b2: +Removing instruction printf_number_buffer_from___b2: +Removing instruction __breturn: +Removing instruction __b6: +Removing instruction __b14: +Removing instruction __b7: +Removing instruction __b17: +Removing instruction __b16: +Removing instruction printf_padding_from___b8: +Removing instruction __b9: +Removing instruction cputc_from___b9: +Removing instruction __b18: +Removing instruction printf_padding_from___b10: +Removing instruction __b11: +Removing instruction __b15: +Removing instruction __b20: +Removing instruction __b19: +Removing instruction printf_padding_from___b12: +Removing instruction __b1_from_printf_padding: +Removing instruction __breturn: +Removing instruction cputc_from___b2: +Removing instruction __b3: +Removing instruction __b1_from___b3: +Removing instruction __b2: +Removing instruction __b3: +Removing instruction __breturn: +Removing instruction __b1: +Removing instruction __b2: +Removing instruction __b3: +Removing instruction __b4: +Removing instruction memset_from___b4: +Removing instruction __b5: +Removing instruction __b1: +Removing instruction __breturn: +Removing instruction __breturn: +Removing instruction __breturn: +Removing instruction __b1_from_strupr: +Removing instruction __breturn: +Removing instruction __b3: +Removing instruction __b1_from___b3: +Removing instruction __b2: +Removing instruction __b1_from_strlen: +Removing instruction __breturn: +Removing instruction __b1_from___b2: +Removing instruction __b1_from_ultoa: +Removing instruction __b3: +Removing instruction __breturn: +Removing instruction __b7: +Removing instruction __b1_from___b4: +Removing instruction __b6: +Removing instruction __b4_from___b6: +Removing instruction __b1_from_ultoa_append: +Removing instruction __b3: +Removing instruction __breturn: +Removing instruction __b1_from___b2: +Removing instruction __breturn: +Removing instruction __b1_from_gotoxy: +Removing instruction __b2_from___b1: +Removing instruction __breturn: +Removing instruction __breturn: +Removing instruction __b1: +Removing instruction utoa_from___b1: +Removing instruction __b2: +Removing instruction printf_number_buffer_from___b2: +Removing instruction __breturn: +Removing instruction __b1_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_from_utoa_append: +Removing instruction __b3: +Removing instruction __breturn: +Removing instruction __b1_from___b2: +Removing instruction __b1_from_clrscr: +Removing instruction __b2: +Removing instruction __breturn: +Removing instruction __b5: +Removing instruction __b1_from___b5: +Removing instruction __b3_from___b4: +Succesful ASM optimization Pass5UnusedLabelElimination +Replacing jump to rts with rts in jmp __breturn +Replacing jump to rts with rts in jmp __breturn +Skipping double jump to __breturn in bcc __breturn_from___b2 +Replacing jump to rts with rts in jmp __breturn +Skipping double jump to __breturn in jmp __breturn_from___b2 +Succesful ASM optimization Pass5DoubleJumpElimination +Relabelling long label __b1_from___b13 to __b6 +Relabelling long label __breturn_from___b2 to __b2 +Relabelling long label __b3_from___b1 to __b2 +Succesful ASM optimization Pass5RelabelLongLabels +Adding RTS to root block +Succesful ASM optimization Pass5AddMainRts +Removing instruction jmp __b1 +Removing instruction jmp __b2 +Removing instruction jmp __b1 +Removing instruction jmp __breturn +Removing instruction jmp __b1 +Removing instruction jmp __b2 +Succesful ASM optimization Pass5NextJumpElimination +Removing instruction lda #0 +Removing instruction lda #0 +Removing instruction lda #0 +Removing instruction lda #0 +Removing instruction lda #0 +Removing instruction lda.z digit_value+1 +Succesful ASM optimization Pass5UnnecesaryLoadElimination +Removing instruction __b2: +Succesful ASM optimization Pass5UnusedLabelElimination + +FINAL SYMBOL TABLE +(label) @1 +(label) @2 +(label) @begin +(label) @end +(const nomodify byte*) CONIO_SCREEN_COLORS = (byte*) 55296 +(const nomodify byte*) CONIO_SCREEN_TEXT = (byte*) 1024 +(const nomodify byte) CONIO_TEXTCOLOR_DEFAULT = (byte) $e +(const byte*) DIGITS[] = (byte*) "0123456789abcdef"z +(const nomodify byte) LIGHT_BLUE = (byte) $e +(byte) MOS6526_CIA::INTERRUPT +(byte) MOS6526_CIA::PORT_A +(byte) MOS6526_CIA::PORT_A_DDR +(byte) MOS6526_CIA::PORT_B +(byte) MOS6526_CIA::PORT_B_DDR +(byte) MOS6526_CIA::SERIAL_DATA +(word) MOS6526_CIA::TIMER_A +(byte) MOS6526_CIA::TIMER_A_CONTROL +(word) MOS6526_CIA::TIMER_B +(byte) MOS6526_CIA::TIMER_B_CONTROL +(byte) MOS6526_CIA::TOD_10THS +(byte) MOS6526_CIA::TOD_HOURS +(byte) MOS6526_CIA::TOD_MIN +(byte) MOS6526_CIA::TOD_SEC +(byte) MOS6569_VICII::BG_COLOR +(byte) MOS6569_VICII::BG_COLOR1 +(byte) MOS6569_VICII::BG_COLOR2 +(byte) MOS6569_VICII::BG_COLOR3 +(byte) MOS6569_VICII::BORDER_COLOR +(byte) MOS6569_VICII::CONTROL1 +(byte) MOS6569_VICII::CONTROL2 +(byte) MOS6569_VICII::IRQ_ENABLE +(byte) MOS6569_VICII::IRQ_STATUS +(byte) MOS6569_VICII::LIGHTPEN_X +(byte) MOS6569_VICII::LIGHTPEN_Y +(byte) MOS6569_VICII::MEMORY +(byte) MOS6569_VICII::RASTER +(byte) MOS6569_VICII::SPRITE0_COLOR +(byte) MOS6569_VICII::SPRITE0_X +(byte) MOS6569_VICII::SPRITE0_Y +(byte) MOS6569_VICII::SPRITE1_COLOR +(byte) MOS6569_VICII::SPRITE1_X +(byte) MOS6569_VICII::SPRITE1_Y +(byte) MOS6569_VICII::SPRITE2_COLOR +(byte) MOS6569_VICII::SPRITE2_X +(byte) MOS6569_VICII::SPRITE2_Y +(byte) MOS6569_VICII::SPRITE3_COLOR +(byte) MOS6569_VICII::SPRITE3_X +(byte) MOS6569_VICII::SPRITE3_Y +(byte) MOS6569_VICII::SPRITE4_COLOR +(byte) MOS6569_VICII::SPRITE4_X +(byte) MOS6569_VICII::SPRITE4_Y +(byte) MOS6569_VICII::SPRITE5_COLOR +(byte) MOS6569_VICII::SPRITE5_X +(byte) MOS6569_VICII::SPRITE5_Y +(byte) MOS6569_VICII::SPRITE6_COLOR +(byte) MOS6569_VICII::SPRITE6_X +(byte) MOS6569_VICII::SPRITE6_Y +(byte) MOS6569_VICII::SPRITE7_COLOR +(byte) MOS6569_VICII::SPRITE7_X +(byte) MOS6569_VICII::SPRITE7_Y +(byte) MOS6569_VICII::SPRITES_BG_COLLISION +(byte) MOS6569_VICII::SPRITES_COLLISION +(byte) MOS6569_VICII::SPRITES_ENABLE +(byte) MOS6569_VICII::SPRITES_EXPAND_X +(byte) MOS6569_VICII::SPRITES_EXPAND_Y +(byte) MOS6569_VICII::SPRITES_MC +(byte) MOS6569_VICII::SPRITES_MCOLOR1 +(byte) MOS6569_VICII::SPRITES_MCOLOR2 +(byte) MOS6569_VICII::SPRITES_PRIORITY +(byte) MOS6569_VICII::SPRITES_XMSB +(byte) MOS6581_SID::CH1_ATTACK_DECAY +(byte) MOS6581_SID::CH1_CONTROL +(word) MOS6581_SID::CH1_FREQ +(word) MOS6581_SID::CH1_PULSE_WIDTH +(byte) MOS6581_SID::CH1_SUSTAIN_RELEASE +(byte) MOS6581_SID::CH2_ATTACK_DECAY +(byte) MOS6581_SID::CH2_CONTROL +(word) MOS6581_SID::CH2_FREQ +(word) MOS6581_SID::CH2_PULSE_WIDTH +(byte) MOS6581_SID::CH2_SUSTAIN_RELEASE +(byte) MOS6581_SID::CH3_ATTACK_DECAY +(byte) MOS6581_SID::CH3_CONTROL +(byte) MOS6581_SID::CH3_ENV +(word) MOS6581_SID::CH3_FREQ +(byte) MOS6581_SID::CH3_OSC +(word) MOS6581_SID::CH3_PULSE_WIDTH +(byte) MOS6581_SID::CH3_SUSTAIN_RELEASE +(byte) MOS6581_SID::FILTER_CUTOFF_HIGH +(byte) MOS6581_SID::FILTER_CUTOFF_LOW +(byte) MOS6581_SID::FILTER_SETUP +(byte) MOS6581_SID::POT_X +(byte) MOS6581_SID::POT_Y +(byte) MOS6581_SID::VOLUME_FILTER_MODE +(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS = (byte) 1 +(const byte) RADIX::BINARY = (number) 2 +(const byte) RADIX::DECIMAL = (number) $a +(const byte) RADIX::HEXADECIMAL = (number) $10 +(const byte) RADIX::OCTAL = (number) 8 +(const word*) RADIX_DECIMAL_VALUES[] = { (word) $2710, (word) $3e8, (word) $64, (word) $a } +(const dword*) RADIX_DECIMAL_VALUES_LONG[] = { (dword) $3b9aca00, (dword) $5f5e100, (dword) $989680, (dword) $f4240, (dword) $186a0, (dword) $2710, (dword) $3e8, (dword) $64, (dword) $a } +(const byte) SIZEOF_STRUCT_PRINTF_BUFFER_NUMBER = (byte) $c +(const nomodify byte) WHITE = (byte) 1 +(void()) clrscr() +(label) clrscr::@1 +(label) clrscr::@2 +(label) clrscr::@3 +(label) clrscr::@4 +(label) clrscr::@5 +(label) clrscr::@return +(byte) clrscr::c +(byte) clrscr::c#1 reg byte y 20002.0 +(byte) clrscr::c#2 reg byte y 12501.25 +(byte) clrscr::l +(byte) clrscr::l#1 reg byte x 2002.0 +(byte) clrscr::l#2 reg byte x 333.6666666666667 +(byte*) clrscr::line_cols +(byte*) clrscr::line_cols#1 line_cols zp[2]:24 1001.0 +(byte*) clrscr::line_cols#5 line_cols zp[2]:24 1500.375 +(byte*) clrscr::line_text +(byte*) clrscr::line_text#1 line_text zp[2]:20 667.3333333333334 +(byte*) clrscr::line_text#5 line_text zp[2]:20 1714.7142857142858 +(byte*) conio_cursor_color loadstore zp[2]:26 1.991071527767857E8 +(byte*) conio_cursor_text loadstore zp[2]:24 1.939130531391304E8 +(byte) conio_cursor_x loadstore zp[1]:22 3.090910100909091E7 +(byte) conio_cursor_y loadstore zp[1]:23 2.5555556437301588E8 +(byte) conio_textcolor loadstore zp[1]:28 6.91781514109589E7 +(void()) cputc((byte) cputc::c) +(label) cputc::@1 +(label) cputc::@2 +(label) cputc::@3 +(label) cputc::@return +(byte) cputc::c +(byte) cputc::c#0 reg byte a 2.0000002E7 +(byte) cputc::c#1 reg byte a 2.0000002E7 +(byte) cputc::c#2 reg byte a 20002.0 +(byte) cputc::c#3 reg byte a 1.100050025E8 +(void()) cputln() +(byte*~) cputln::$0 zp[2]:24 2.000000002E9 +(byte*~) cputln::$1 zp[2]:24 2.000000002E9 +(byte*~) cputln::$2 zp[2]:26 2.000000002E9 +(byte*~) cputln::$3 zp[2]:26 2.000000002E9 +(label) cputln::@return +(void()) cputs((to_nomodify byte*) cputs::s) +(label) cputs::@1 +(label) cputs::@2 +(label) cputs::@return +(byte) cputs::c +(byte) cputs::c#1 reg byte a 1.0000001E7 +(to_nomodify byte*) cputs::s +(to_nomodify byte*) cputs::s#0 s zp[2]:35 5000000.5 +(to_nomodify byte*) cputs::s#4 s zp[2]:35 1.5050002E7 +(to_nomodify byte*) cputs::s#5 s zp[2]:35 100001.0 +(void()) cscroll() +(byte*~) cscroll::$7 zp[2]:24 2.0000000002E10 +(byte*~) cscroll::$8 zp[2]:26 2.0000000002E10 +(label) cscroll::@1 +(label) cscroll::@2 +(label) cscroll::@3 +(label) cscroll::@4 +(label) cscroll::@5 +(label) cscroll::@return +(void()) gotoxy((byte) gotoxy::x , (byte) gotoxy::y) +(word~) gotoxy::$10 zp[2]:26 2002.0 +(word~) gotoxy::$4 zp[2]:26 2002.0 +(byte*~) gotoxy::$6 zp[2]:24 2002.0 +(byte*~) gotoxy::$7 zp[2]:26 2002.0 +(word~) gotoxy::$8 zp[2]:26 1501.5 +(word~) gotoxy::$9 zp[2]:35 2002.0 +(label) gotoxy::@1 +(label) gotoxy::@2 +(label) gotoxy::@3 +(label) gotoxy::@4 +(label) gotoxy::@return +(word) gotoxy::offset +(word) gotoxy::offset#0 offset zp[2]:26 1001.0 +(byte) gotoxy::x +(byte) gotoxy::x#2 reg byte x 101.0 +(byte) gotoxy::x#4 reg byte x 350.5 +(byte) gotoxy::x#5 reg byte x 429.0 +(byte) gotoxy::y +(byte) gotoxy::y#2 reg byte a 202.0 +(byte) gotoxy::y#4 reg byte a 701.0 +(byte) gotoxy::y#5 reg byte a 333.6666666666667 +(void()) main() +(byte~) main::$18 reg byte a 202.0 +(label) main::@1 +(label) main::@10 +(label) main::@11 +(label) main::@12 +(label) main::@13 +(label) main::@14 +(label) main::@15 +(label) main::@16 +(label) main::@17 +(label) main::@2 +(label) main::@3 +(label) main::@4 +(label) main::@5 +(label) main::@6 +(label) main::@7 +(label) main::@8 +(label) main::@9 +(label) main::@return +(dword) main::cnt +(dword) main::cnt#1 cnt zp[4]:2 8.875 +(dword) main::cnt#2 cnt zp[4]:2 202.0 +(byte) main::col +(byte) main::col#1 col zp[1]:6 101.0 +(byte) main::col#3 col zp[1]:6 45.90909090909091 +(byte) main::col#7 col zp[1]:6 80.8 +(word) main::first +(word) main::first#0 first zp[2]:29 5.590909090909091 +(word) main::rnd +(word) main::rnd#1 rnd zp[2]:8 151.5 +(word) main::rnd#2 rnd zp[2]:8 30.42857142857143 +(word) main::rnd#5 rnd zp[2]:8 22.0 +(byte) main::row +(byte) main::row#1 row zp[1]:7 151.5 +(byte) main::row#3 row zp[1]:7 44.888888888888886 +(byte) main::row#7 row zp[1]:7 60.599999999999994 +(const byte*) main::s[(byte) $1d] = (byte*) "generating unique randoms..." +(const byte*) main::s1[(byte) 7] = (byte*) "found " +(void*()) memcpy((void*) memcpy::destination , (void*) memcpy::source , (word) memcpy::num) +(label) memcpy::@1 +(label) memcpy::@2 +(label) memcpy::@return +(void*) memcpy::destination +(void*) memcpy::destination#2 destination zp[2]:20 +(byte*) memcpy::dst +(byte*) memcpy::dst#1 dst zp[2]:20 1.00000000000001E14 +(byte*) memcpy::dst#2 dst zp[2]:20 1.0003333333333467E14 +(byte*) memcpy::dst#4 dst zp[2]:20 2.00000000002E11 +(word) memcpy::num +(void*) memcpy::return +(void*) memcpy::source +(void*) memcpy::source#2 source zp[2]:39 +(byte*) memcpy::src +(byte*) memcpy::src#1 src zp[2]:39 2.00000000000002E14 +(byte*) memcpy::src#2 src zp[2]:39 1.0002500000000125E14 +(byte*) memcpy::src#4 src zp[2]:39 1.00000000001E11 +(byte*) memcpy::src_end +(byte*) memcpy::src_end#0 src_end zp[2]:37 1.251250000000025E13 +(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) +(label) memset::@1 +(label) memset::@2 +(label) memset::@3 +(label) memset::@return +(byte) memset::c +(byte) memset::c#1 reg byte x 2.0000000002E10 +(byte) memset::c#4 reg byte x 1.4287142857143143E13 +(byte*) memset::dst +(byte*) memset::dst#1 dst zp[2]:39 2.00000000000002E14 +(byte*) memset::dst#2 dst zp[2]:39 1.3336666666666834E14 +(byte*) memset::dst#4 dst zp[2]:39 2.00000000002E11 +(byte*) memset::end +(byte*) memset::end#0 end zp[2]:37 1.6683333333333668E13 +(word) memset::num +(void*) memset::return +(void*) memset::str +(void*) memset::str#3 str zp[2]:39 +(struct printf_buffer_number) printf_buffer loadstore mem[12] = {} +(const byte*) printf_buffer_number::digits[(number) $b] = { fill( $b, 0) } +(byte) printf_buffer_number::sign +(byte) printf_format_number::justify_left +(byte) printf_format_number::min_length +(byte) printf_format_number::radix +(byte) printf_format_number::sign_always +(byte) printf_format_number::upper_case +(byte) printf_format_number::zero_padding +(byte) printf_format_string::justify_left +(byte) printf_format_string::min_length +(void()) printf_number_buffer((byte) printf_number_buffer::buffer_sign , (byte*) printf_number_buffer::buffer_digits , (byte) printf_number_buffer::format_min_length , (byte) printf_number_buffer::format_justify_left , (byte) printf_number_buffer::format_sign_always , (byte) printf_number_buffer::format_zero_padding , (byte) printf_number_buffer::format_upper_case , (byte) printf_number_buffer::format_radix) +(word~) printf_number_buffer::$19 zp[2]:39 10001.0 +(label) printf_number_buffer::@1 +(label) printf_number_buffer::@10 +(label) printf_number_buffer::@11 +(label) printf_number_buffer::@12 +(label) printf_number_buffer::@13 +(label) printf_number_buffer::@14 +(label) printf_number_buffer::@15 +(label) printf_number_buffer::@16 +(label) printf_number_buffer::@17 +(label) printf_number_buffer::@18 +(label) printf_number_buffer::@19 +(label) printf_number_buffer::@2 +(label) printf_number_buffer::@20 +(label) printf_number_buffer::@21 +(label) printf_number_buffer::@3 +(label) printf_number_buffer::@4 +(label) printf_number_buffer::@5 +(label) printf_number_buffer::@6 +(label) printf_number_buffer::@7 +(label) printf_number_buffer::@8 +(label) printf_number_buffer::@9 +(label) printf_number_buffer::@return +(struct printf_buffer_number) printf_number_buffer::buffer +(byte*) printf_number_buffer::buffer_digits +(byte) printf_number_buffer::buffer_sign +(byte) printf_number_buffer::buffer_sign#0 buffer_sign zp[1]:10 202.0 +(byte) printf_number_buffer::buffer_sign#1 buffer_sign zp[1]:10 2002.0 +(byte) printf_number_buffer::buffer_sign#10 buffer_sign zp[1]:10 1555.25 +(struct printf_format_number) printf_number_buffer::format +(byte) printf_number_buffer::format_justify_left +(byte) printf_number_buffer::format_justify_left#10 format_justify_left zp[1]:16 645.2258064516129 +(byte) printf_number_buffer::format_min_length +(byte) printf_number_buffer::format_min_length#2 reg byte x 1000.1 +(byte) printf_number_buffer::format_radix +(byte) printf_number_buffer::format_sign_always +(byte) printf_number_buffer::format_upper_case +(byte) printf_number_buffer::format_upper_case#10 format_upper_case zp[1]:11 384.65384615384613 +(byte) printf_number_buffer::format_zero_padding +(byte) printf_number_buffer::format_zero_padding#10 format_zero_padding zp[1]:19 937.59375 +(signed byte) printf_number_buffer::len +(signed byte) printf_number_buffer::len#0 reg byte y 15001.5 +(signed byte) printf_number_buffer::len#1 reg byte y 20002.0 +(signed byte) printf_number_buffer::len#2 reg byte y 30003.0 +(signed byte) printf_number_buffer::padding +(signed byte) printf_number_buffer::padding#1 padding zp[1]:12 10001.0 +(signed byte) printf_number_buffer::padding#10 padding zp[1]:12 1904.952380952381 +(void()) printf_padding((byte) printf_padding::pad , (byte) printf_padding::length) +(label) printf_padding::@1 +(label) printf_padding::@2 +(label) printf_padding::@3 +(label) printf_padding::@return +(byte) printf_padding::i +(byte) printf_padding::i#1 i zp[1]:15 2.0000002E7 +(byte) printf_padding::i#2 i zp[1]:15 7500000.75 +(byte) printf_padding::length +(byte) printf_padding::length#0 length zp[1]:13 20002.0 +(byte) printf_padding::length#1 length zp[1]:13 20002.0 +(byte) printf_padding::length#2 length zp[1]:13 20002.0 +(byte) printf_padding::length#4 length zp[1]:13 1671667.3333333333 +(byte) printf_padding::pad +(byte) printf_padding::pad#5 pad zp[1]:14 1666666.8333333333 +(void()) printf_uint((word) printf_uint::uvalue , (byte) printf_uint::format_min_length , (byte) printf_uint::format_justify_left , (byte) printf_uint::format_sign_always , (byte) printf_uint::format_zero_padding , (byte) printf_uint::format_upper_case , (byte) printf_uint::format_radix) +(label) printf_uint::@1 +(label) printf_uint::@2 +(label) printf_uint::@return +(struct printf_format_number) printf_uint::format +(byte) printf_uint::format_justify_left +(const byte) printf_uint::format_justify_left#0 format_justify_left = (byte) 0 +(byte) printf_uint::format_min_length +(const byte) printf_uint::format_min_length#0 format_min_length = (byte) 5 +(byte) printf_uint::format_radix +(byte) printf_uint::format_sign_always +(byte) printf_uint::format_upper_case +(const byte) printf_uint::format_upper_case#0 format_upper_case = (byte) 0 +(byte) printf_uint::format_zero_padding +(const byte) printf_uint::format_zero_padding#0 format_zero_padding = (byte) 0 +(word) printf_uint::uvalue +(word) printf_uint::uvalue#0 uvalue zp[2]:8 367.33333333333337 +(void()) printf_ulong((dword) printf_ulong::uvalue , (byte) printf_ulong::format_min_length , (byte) printf_ulong::format_justify_left , (byte) printf_ulong::format_sign_always , (byte) printf_ulong::format_zero_padding , (byte) printf_ulong::format_upper_case , (byte) printf_ulong::format_radix) +(label) printf_ulong::@1 +(label) printf_ulong::@2 +(label) printf_ulong::@return +(struct printf_format_number) printf_ulong::format +(byte) printf_ulong::format_justify_left +(const byte) printf_ulong::format_justify_left#0 format_justify_left = (byte) 0 +(byte) printf_ulong::format_min_length +(const byte) printf_ulong::format_min_length#0 format_min_length = (byte) 0 +(byte) printf_ulong::format_radix +(byte) printf_ulong::format_sign_always +(byte) printf_ulong::format_upper_case +(const byte) printf_ulong::format_upper_case#0 format_upper_case = (byte) 0 +(byte) printf_ulong::format_zero_padding +(const byte) printf_ulong::format_zero_padding#0 format_zero_padding = (byte) 0 +(dword) printf_ulong::uvalue +(dword) printf_ulong::uvalue#0 uvalue zp[4]:2 37.33333333333333 +(word()) rand() +(word~) rand::$0 zp[2]:35 2002.0 +(word~) rand::$1 zp[2]:39 2002.0 +(word~) rand::$2 zp[2]:37 2002.0 +(label) rand::@return +(word) rand::return +(word) rand::return#0 return zp[2]:8 278.25 +(word) rand::return#2 return_1 zp[2]:29 22.0 +(word) rand::return#3 return zp[2]:8 202.0 +(word) rand_state +(word) rand_state#1 rand_state zp[2]:17 1501.5 +(word) rand_state#10 rand_state zp[2]:17 77.88888888888889 +(word) rand_state#2 rand_state zp[2]:17 1501.5 +(word) rand_state#9 rand_state zp[2]:17 1051.5 +(word()) strlen((byte*) strlen::str) +(label) strlen::@1 +(label) strlen::@2 +(label) strlen::@return +(word) strlen::len +(word) strlen::len#1 len zp[2]:39 1.0000001E7 +(word) strlen::len#2 len zp[2]:39 5002500.75 +(word) strlen::return +(word) strlen::return#2 return zp[2]:39 20002.0 +(byte*) strlen::str +(byte*) strlen::str#0 str zp[2]:35 2.0000002E7 +(byte*) strlen::str#2 str zp[2]:35 1.0000001E7 +(byte*()) strupr((byte*) strupr::str) +(byte~) strupr::$0 reg byte a 2.0000002E7 +(label) strupr::@1 +(label) strupr::@2 +(label) strupr::@3 +(label) strupr::@return +(byte*) strupr::return +(byte*) strupr::src +(byte*) strupr::src#1 src zp[2]:20 2.0000002E7 +(byte*) strupr::src#2 src zp[2]:20 7142857.857142856 +(byte*) strupr::str +(const byte*) strupr::str#0 str = (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS +(byte()) textcolor((byte) textcolor::color) +(label) textcolor::@return +(byte) textcolor::color +(byte) textcolor::color#3 reg byte a 101.0 +(byte) textcolor::old +(byte) textcolor::return +(byte()) toupper((byte) toupper::ch) +(label) toupper::@1 +(label) toupper::@2 +(label) toupper::@return +(byte) toupper::ch +(byte) toupper::ch#0 reg byte a 1.70000002E8 +(byte) toupper::return +(byte) toupper::return#0 reg byte a 2.00000002E8 +(byte) toupper::return#2 reg byte a 1.0333333466666667E8 +(byte) toupper::return#3 reg byte a 2.0000002E7 +(void()) ultoa((dword) ultoa::value , (byte*) ultoa::buffer , (byte) ultoa::radix) +(byte~) ultoa::$10 reg byte a 20002.0 +(byte~) ultoa::$11 reg byte a 2002.0 +(label) ultoa::@1 +(label) ultoa::@2 +(label) ultoa::@3 +(label) ultoa::@4 +(label) ultoa::@5 +(label) ultoa::@6 +(label) ultoa::@7 +(label) ultoa::@return +(byte*) ultoa::buffer +(byte*) ultoa::buffer#11 buffer zp[2]:39 3000.4285714285716 +(byte*) ultoa::buffer#14 buffer zp[2]:39 15001.5 +(byte*) ultoa::buffer#3 buffer zp[2]:39 2002.0 +(byte*) ultoa::buffer#4 buffer zp[2]:39 20002.0 +(byte) ultoa::digit +(byte) ultoa::digit#1 digit zp[1]:16 20002.0 +(byte) ultoa::digit#2 digit zp[1]:16 2857.4285714285716 +(dword) ultoa::digit_value +(dword) ultoa::digit_value#0 digit_value zp[4]:31 6000.6 +(dword*) ultoa::digit_values +(byte) ultoa::max_digits +(const byte) ultoa::max_digits#1 max_digits = (byte) $a +(byte) ultoa::radix +(byte) ultoa::started +(byte) ultoa::started#2 reg byte x 5000.5 +(byte) ultoa::started#4 reg byte x 10001.0 +(dword) ultoa::value +(dword) ultoa::value#0 value zp[4]:2 10001.0 +(dword) ultoa::value#1 value zp[4]:2 551.0 +(dword) ultoa::value#2 value zp[4]:2 5857.857142857143 +(dword) ultoa::value#6 value zp[4]:2 15001.5 +(dword()) ultoa_append((byte*) ultoa_append::buffer , (dword) ultoa_append::value , (dword) ultoa_append::sub) +(label) ultoa_append::@1 +(label) ultoa_append::@2 +(label) ultoa_append::@3 +(label) ultoa_append::@return +(byte*) ultoa_append::buffer +(byte*) ultoa_append::buffer#0 buffer zp[2]:39 13750.25 +(byte) ultoa_append::digit +(byte) ultoa_append::digit#1 reg byte x 1.0000001E7 +(byte) ultoa_append::digit#2 reg byte x 1.00500015E7 +(dword) ultoa_append::return +(dword) ultoa_append::return#0 return zp[4]:2 20002.0 +(dword) ultoa_append::sub +(dword) ultoa_append::sub#0 sub zp[4]:31 3335000.5 +(dword) ultoa_append::value +(dword) ultoa_append::value#0 value zp[4]:2 36667.33333333333 +(dword) ultoa_append::value#1 value zp[4]:2 2.0000002E7 +(dword) ultoa_append::value#2 value zp[4]:2 5018334.166666666 +(void()) utoa((word) utoa::value , (byte*) utoa::buffer , (byte) utoa::radix) +(byte~) utoa::$10 reg byte a 2000002.0 +(byte~) utoa::$11 reg byte a 20002.0 +(label) utoa::@1 +(label) utoa::@2 +(label) utoa::@3 +(label) utoa::@4 +(label) utoa::@5 +(label) utoa::@6 +(label) utoa::@7 +(label) utoa::@return +(byte*) utoa::buffer +(byte*) utoa::buffer#11 buffer zp[2]:20 287143.2857142857 +(byte*) utoa::buffer#14 buffer zp[2]:20 1500001.5 +(byte*) utoa::buffer#3 buffer zp[2]:20 20002.0 +(byte*) utoa::buffer#4 buffer zp[2]:20 2000002.0 +(byte) utoa::digit +(byte) utoa::digit#1 digit zp[1]:19 2000002.0 +(byte) utoa::digit#2 digit zp[1]:19 285714.5714285714 +(word) utoa::digit_value +(word) utoa::digit_value#0 digit_value zp[2]:39 600000.6000000001 +(word*) utoa::digit_values +(byte) utoa::max_digits +(const byte) utoa::max_digits#1 max_digits = (byte) 5 +(byte) utoa::radix +(byte) utoa::started +(byte) utoa::started#2 reg byte x 500000.5 +(byte) utoa::started#4 reg byte x 1000001.0 +(word) utoa::value +(word) utoa::value#0 value zp[2]:8 1000001.0 +(word) utoa::value#1 value zp[2]:8 5501.0 +(word) utoa::value#2 value zp[2]:8 572857.857142857 +(word) utoa::value#6 value zp[2]:8 1500001.5 +(word()) utoa_append((byte*) utoa_append::buffer , (word) utoa_append::value , (word) utoa_append::sub) +(label) utoa_append::@1 +(label) utoa_append::@2 +(label) utoa_append::@3 +(label) utoa_append::@return +(byte*) utoa_append::buffer +(byte*) utoa_append::buffer#0 buffer zp[2]:20 1375000.25 +(byte) utoa_append::digit +(byte) utoa_append::digit#1 reg byte x 1.0000000001E10 +(byte) utoa_append::digit#2 reg byte x 1.00050000015E10 +(word) utoa_append::return +(word) utoa_append::return#0 return zp[2]:8 2000002.0 +(word) utoa_append::sub +(word) utoa_append::sub#0 sub zp[2]:39 3.3335000005E9 +(word) utoa_append::value +(word) utoa_append::value#0 value zp[2]:8 3666667.333333333 +(word) utoa_append::value#1 value zp[2]:8 2.0000000002E10 +(word) utoa_append::value#2 value zp[2]:8 5.001833334166666E9 + +zp[4]:2 [ main::cnt#2 main::cnt#1 printf_ulong::uvalue#0 ultoa::value#2 ultoa::value#6 ultoa::value#1 ultoa::value#0 ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ultoa_append::return#0 ] +zp[1]:6 [ main::col#3 main::col#7 main::col#1 ] +zp[1]:7 [ main::row#3 main::row#7 main::row#1 ] +zp[2]:8 [ main::rnd#2 main::rnd#5 main::rnd#1 printf_uint::uvalue#0 rand::return#3 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 rand::return#0 ] +reg byte x [ printf_number_buffer::format_min_length#2 ] +zp[1]:10 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ] +zp[1]:11 [ printf_number_buffer::format_upper_case#10 ] +reg byte y [ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ] +zp[1]:12 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ] +zp[1]:13 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ] +zp[1]:14 [ printf_padding::pad#5 ] +zp[1]:15 [ printf_padding::i#2 printf_padding::i#1 ] +reg byte a [ cputc::c#3 cputc::c#0 cputc::c#2 cputc::c#1 ] +reg byte x [ memset::c#4 memset::c#1 ] +reg byte a [ toupper::return#2 toupper::return#0 toupper::ch#0 ] +zp[1]:16 [ ultoa::digit#2 ultoa::digit#1 printf_number_buffer::format_justify_left#10 ] +reg byte x [ ultoa::started#2 ultoa::started#4 ] +reg byte x [ ultoa_append::digit#2 ultoa_append::digit#1 ] +reg byte a [ textcolor::color#3 ] +reg byte a [ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ] +reg byte x [ gotoxy::x#5 gotoxy::x#4 gotoxy::x#2 ] +zp[2]:17 [ rand_state#9 rand_state#10 rand_state#1 rand_state#2 ] +zp[1]:19 [ utoa::digit#2 utoa::digit#1 printf_number_buffer::format_zero_padding#10 ] +reg byte x [ utoa::started#2 utoa::started#4 ] +reg byte x [ utoa_append::digit#2 utoa_append::digit#1 ] +reg byte x [ clrscr::l#2 clrscr::l#1 ] +zp[2]:20 [ clrscr::line_text#5 clrscr::line_text#1 utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 utoa::buffer#3 utoa_append::buffer#0 strupr::src#2 strupr::src#1 memcpy::destination#2 memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] +reg byte y [ clrscr::c#2 clrscr::c#1 ] +zp[1]:22 [ conio_cursor_x ] +zp[1]:23 [ conio_cursor_y ] +zp[2]:24 [ conio_cursor_text cscroll::$7 cputln::$0 cputln::$1 gotoxy::$6 clrscr::line_cols#5 clrscr::line_cols#1 ] +zp[2]:26 [ conio_cursor_color cscroll::$8 cputln::$2 cputln::$3 gotoxy::$7 gotoxy::$4 gotoxy::offset#0 gotoxy::$8 gotoxy::$10 ] +zp[1]:28 [ conio_textcolor ] +zp[2]:29 [ rand::return#2 main::first#0 ] +reg byte a [ main::$18 ] +reg byte a [ cputs::c#1 ] +reg byte a [ toupper::return#3 ] +reg byte a [ strupr::$0 ] +reg byte a [ ultoa::$11 ] +reg byte a [ ultoa::$10 ] +zp[4]:31 [ ultoa::digit_value#0 ultoa_append::sub#0 ] +zp[2]:35 [ rand::$0 gotoxy::$9 strlen::str#2 strlen::str#0 cputs::s#4 cputs::s#5 cputs::s#0 ] +zp[2]:37 [ rand::$2 memcpy::src_end#0 memset::end#0 ] +reg byte a [ utoa::$11 ] +reg byte a [ utoa::$10 ] +zp[2]:39 [ utoa::digit_value#0 utoa_append::sub#0 rand::$1 ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ultoa::buffer#3 ultoa_append::buffer#0 strlen::len#2 strlen::len#1 strlen::return#2 printf_number_buffer::$19 memcpy::source#2 memcpy::src#2 memcpy::src#4 memcpy::src#1 memset::str#3 memset::dst#2 memset::dst#4 memset::dst#1 ] +mem[12] [ printf_buffer ] + + +FINAL ASSEMBLER +Score: 189611 + + // File Comments +// Test the pseudorandom number generator in stdlib.h +// Source http://www.retroprogramming.com/2017/07/xorshift-pseudorandom-numbers-in-z80.html +// Information https://en.wikipedia.org/wiki/Xorshift + // Upstart +.pc = $801 "Basic" +:BasicUpstart(__bbegin) +.pc = $80d "Program" + // Global Constants & labels + // The default text color + .const CONIO_TEXTCOLOR_DEFAULT = $e + .const WHITE = 1 + .const LIGHT_BLUE = $e + .const OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS = 1 + .const SIZEOF_STRUCT_PRINTF_BUFFER_NUMBER = $c + // The screen width + // The screen height + // The screen bytes + // The text screen address + .label CONIO_SCREEN_TEXT = $400 + // The color screen address + .label CONIO_SCREEN_COLORS = $d800 + .label conio_cursor_x = $16 + .label conio_cursor_y = $17 + .label conio_cursor_text = $18 + .label conio_cursor_color = $1a + .label conio_textcolor = $1c + // The random state variable + .label rand_state = $11 + // @begin +__bbegin: + // @1 + // conio_cursor_x = 0 + // [1] (byte) conio_cursor_x ← (byte) 0 -- vbuz1=vbuc1 + // The current cursor x-position + lda #0 + sta.z conio_cursor_x + // conio_cursor_y = 0 + // [2] (byte) conio_cursor_y ← (byte) 0 -- vbuz1=vbuc1 + // The current cursor y-position + sta.z conio_cursor_y + // conio_cursor_text = CONIO_SCREEN_TEXT + // [3] (byte*) conio_cursor_text ← (const nomodify byte*) CONIO_SCREEN_TEXT -- pbuz1=pbuc1 + // The current cursor address + lda #CONIO_SCREEN_TEXT + sta.z conio_cursor_text+1 + // conio_cursor_color = CONIO_SCREEN_COLORS + // [4] (byte*) conio_cursor_color ← (const nomodify byte*) CONIO_SCREEN_COLORS -- pbuz1=pbuc1 + // The current cursor address + lda #CONIO_SCREEN_COLORS + sta.z conio_cursor_color+1 + // conio_textcolor = CONIO_TEXTCOLOR_DEFAULT + // [5] (byte) conio_textcolor ← (const nomodify byte) CONIO_TEXTCOLOR_DEFAULT -- vbuz1=vbuc1 + // The current text color + lda #CONIO_TEXTCOLOR_DEFAULT + sta.z conio_textcolor + // [6] phi from @1 to @2 [phi:@1->@2] + // @2 + // [7] call main + // [9] phi from @2 to main [phi:@2->main] + jsr main + rts + // [8] phi from @2 to @end [phi:@2->@end] + // @end + // main +main: { + .label first = $1d + .label cnt = 2 + .label rnd = 8 + .label row = 7 + .label col = 6 + // clrscr() + // [10] call clrscr + // [280] phi from main to clrscr [phi:main->clrscr] + jsr clrscr + // [11] phi from main to main::@6 [phi:main->main::@6] + // main::@6 + // textcolor(WHITE) + // [12] call textcolor + // [214] phi from main::@6 to textcolor [phi:main::@6->textcolor] + // [214] phi (byte) textcolor::color#3 = (const nomodify byte) WHITE [phi:main::@6->textcolor#0] -- vbuaa=vbuc1 + lda #WHITE + jsr textcolor + // [13] phi from main::@6 to main::@7 [phi:main::@6->main::@7] + // main::@7 + // printf("generating unique randoms...") + // [14] call cputs + // [157] phi from main::@7 to cputs [phi:main::@7->cputs] + // [157] phi (to_nomodify byte*) cputs::s#5 = (const byte*) main::s [phi:main::@7->cputs#0] -- pbuz1=pbuc1 + lda #s + sta.z cputs.s+1 + jsr cputs + // [15] phi from main::@7 to main::@8 [phi:main::@7->main::@8] + // main::@8 + // rand() + // [16] call rand + // [236] phi from main::@8 to rand [phi:main::@8->rand] + // [236] phi (word) rand_state#9 = (word) 1 [phi:main::@8->rand#0] -- vwuz1=vwuc1 + lda #<1 + sta.z rand_state + lda #>1 + sta.z rand_state+1 + jsr rand + // rand() + // [17] (word) rand::return#2 ← (word) rand::return#0 -- vwuz1=vwuz2 + lda.z rand.return + sta.z rand.return_1 + lda.z rand.return+1 + sta.z rand.return_1+1 + // main::@9 + // [18] (word) main::first#0 ← (word) rand::return#2 + // textcolor(LIGHT_BLUE) + // [19] call textcolor + // [214] phi from main::@9 to textcolor [phi:main::@9->textcolor] + // [214] phi (byte) textcolor::color#3 = (const nomodify byte) LIGHT_BLUE [phi:main::@9->textcolor#0] -- vbuaa=vbuc1 + lda #LIGHT_BLUE + jsr textcolor + // main::@10 + // [20] (word) main::rnd#5 ← (word) main::first#0 -- vwuz1=vwuz2 + lda.z first + sta.z rnd + lda.z first+1 + sta.z rnd+1 + // [21] phi from main::@10 to main::@1 [phi:main::@10->main::@1] + // [21] phi (word) main::rnd#2 = (word) main::rnd#5 [phi:main::@10->main::@1#0] -- register_copy + // [21] phi (byte) main::row#3 = (byte) 1 [phi:main::@10->main::@1#1] -- vbuz1=vbuc1 + lda #1 + sta.z row + // [21] phi (byte) main::col#3 = (byte) 3 [phi:main::@10->main::@1#2] -- vbuz1=vbuc1 + lda #3 + sta.z col + // [21] phi (dword) main::cnt#2 = (dword) 0 [phi:main::@10->main::@1#3] -- vduz1=vduc1 + lda #<0 + sta.z cnt + sta.z cnt+1 + lda #<0>>$10 + sta.z cnt+2 + lda #>0>>$10 + sta.z cnt+3 + // [21] phi from main::@11 to main::@1 [phi:main::@11->main::@1] + // [21] phi (word) main::rnd#2 = (word) main::rnd#1 [phi:main::@11->main::@1#0] -- register_copy + // [21] phi (byte) main::row#3 = (byte) main::row#7 [phi:main::@11->main::@1#1] -- register_copy + // [21] phi (byte) main::col#3 = (byte) main::col#7 [phi:main::@11->main::@1#2] -- register_copy + // [21] phi (dword) main::cnt#2 = (dword) main::cnt#1 [phi:main::@11->main::@1#3] -- register_copy + // main::@1 + __b1: + // cnt++; + // [22] (dword) main::cnt#1 ← ++ (dword) main::cnt#2 -- vduz1=_inc_vduz1 + inc.z cnt + bne !+ + inc.z cnt+1 + bne !+ + inc.z cnt+2 + bne !+ + inc.z cnt+3 + !: + // (char)cnt==0 + // [23] (byte~) main::$18 ← (byte)(dword) main::cnt#1 -- vbuaa=_byte_vduz1 + lda.z cnt + // if((char)cnt==0) + // [24] if((byte~) main::$18!=(byte) 0) goto main::@2 -- vbuaa_neq_0_then_la1 + cmp #0 + bne __b2 + // main::@3 + // gotoxy(col,row) + // [25] (byte) gotoxy::x#2 ← (byte) main::col#3 -- vbuxx=vbuz1 + ldx.z col + // [26] (byte) gotoxy::y#2 ← (byte) main::row#3 -- vbuaa=vbuz1 + lda.z row + // [27] call gotoxy + // [217] phi from main::@3 to gotoxy [phi:main::@3->gotoxy] + // [217] phi (byte) gotoxy::x#4 = (byte) gotoxy::x#2 [phi:main::@3->gotoxy#0] -- register_copy + // [217] phi (byte) gotoxy::y#4 = (byte) gotoxy::y#2 [phi:main::@3->gotoxy#1] -- register_copy + jsr gotoxy + // main::@12 + // printf("%5u",rnd) + // [28] (word) printf_uint::uvalue#0 ← (word) main::rnd#2 + // [29] call printf_uint + // [245] phi from main::@12 to printf_uint [phi:main::@12->printf_uint] + jsr printf_uint + // main::@13 + // if(++row==25) + // [30] (byte) main::row#1 ← ++ (byte) main::row#3 -- vbuz1=_inc_vbuz1 + inc.z row + // [31] if((byte) main::row#1!=(byte) $19) goto main::@2 -- vbuz1_neq_vbuc1_then_la1 + lda #$19 + cmp.z row + bne __b2 + // main::@4 + // col+=6 + // [32] (byte) main::col#1 ← (byte) main::col#3 + (byte) 6 -- vbuz1=vbuz1_plus_vbuc1 + lax.z col + axs #-[6] + stx.z col + // if(col>40-5) + // [33] if((byte) main::col#1<(byte)(number) $28-(number) 5+(byte) 1) goto main::@17 -- vbuz1_lt_vbuc1_then_la1 + txa + cmp #$28-5+1 + bcc __b17 + // [35] phi from main::@4 to main::@2 [phi:main::@4->main::@2] + // [35] phi (byte) main::row#7 = (byte) 1 [phi:main::@4->main::@2#0] -- vbuz1=vbuc1 + lda #1 + sta.z row + // [35] phi (byte) main::col#7 = (byte) 3 [phi:main::@4->main::@2#1] -- vbuz1=vbuc1 + lda #3 + sta.z col + jmp __b2 + // [34] phi from main::@4 to main::@17 [phi:main::@4->main::@17] + // main::@17 + __b17: + // [35] phi from main::@17 to main::@2 [phi:main::@17->main::@2] + // [35] phi (byte) main::row#7 = (byte) 1 [phi:main::@17->main::@2#0] -- vbuz1=vbuc1 + lda #1 + sta.z row + // [35] phi (byte) main::col#7 = (byte) main::col#1 [phi:main::@17->main::@2#1] -- register_copy + // [35] phi from main::@1 main::@13 to main::@2 [phi:main::@1/main::@13->main::@2] + // [35] phi (byte) main::row#7 = (byte) main::row#3 [phi:main::@1/main::@13->main::@2#0] -- register_copy + // [35] phi (byte) main::col#7 = (byte) main::col#3 [phi:main::@1/main::@13->main::@2#1] -- register_copy + // main::@2 + __b2: + // rand() + // [36] call rand + // [236] phi from main::@2 to rand [phi:main::@2->rand] + // [236] phi (word) rand_state#9 = (word) rand_state#10 [phi:main::@2->rand#0] -- register_copy + jsr rand + // rand() + // [37] (word) rand::return#3 ← (word) rand::return#0 + // main::@11 + // rnd = rand() + // [38] (word) main::rnd#1 ← (word) rand::return#3 + // while(rnd!=first) + // [39] if((word) main::rnd#1!=(word) main::first#0) goto main::@1 -- vwuz1_neq_vwuz2_then_la1 + lda.z rnd+1 + cmp.z first+1 + bne __b1 + lda.z rnd + cmp.z first + bne __b1 + // [40] phi from main::@11 to main::@5 [phi:main::@11->main::@5] + // main::@5 + // gotoxy(28,0) + // [41] call gotoxy + // [217] phi from main::@5 to gotoxy [phi:main::@5->gotoxy] + // [217] phi (byte) gotoxy::x#4 = (byte) $1c [phi:main::@5->gotoxy#0] -- vbuxx=vbuc1 + ldx #$1c + // [217] phi (byte) gotoxy::y#4 = (byte) 0 [phi:main::@5->gotoxy#1] -- vbuaa=vbuc1 + lda #0 + jsr gotoxy + // [42] phi from main::@5 to main::@14 [phi:main::@5->main::@14] + // main::@14 + // textcolor(WHITE) + // [43] call textcolor + // [214] phi from main::@14 to textcolor [phi:main::@14->textcolor] + // [214] phi (byte) textcolor::color#3 = (const nomodify byte) WHITE [phi:main::@14->textcolor#0] -- vbuaa=vbuc1 + lda #WHITE + jsr textcolor + // [44] phi from main::@14 to main::@15 [phi:main::@14->main::@15] + // main::@15 + // printf("found %lu",cnt) + // [45] call cputs + // [157] phi from main::@15 to cputs [phi:main::@15->cputs] + // [157] phi (to_nomodify byte*) cputs::s#5 = (const byte*) main::s1 [phi:main::@15->cputs#0] -- pbuz1=pbuc1 + lda #s1 + sta.z cputs.s+1 + jsr cputs + // main::@16 + // printf("found %lu",cnt) + // [46] (dword) printf_ulong::uvalue#0 ← (dword) main::cnt#1 + // [47] call printf_ulong + // [49] phi from main::@16 to printf_ulong [phi:main::@16->printf_ulong] + jsr printf_ulong + // main::@return + // } + // [48] return + rts + s: .text "generating unique randoms..." + .byte 0 + s1: .text "found " + .byte 0 +} + // printf_ulong +// Print an unsigned int using a specific format +// printf_ulong(dword zp(2) uvalue) +printf_ulong: { + .const format_min_length = 0 + .const format_justify_left = 0 + .const format_zero_padding = 0 + .const format_upper_case = 0 + .label uvalue = 2 + // printf_ulong::@1 + // printf_buffer.sign = format.sign_always?'+':0 + // [50] *((byte*)&(struct printf_buffer_number) printf_buffer) ← (byte) 0 -- _deref_pbuc1=vbuc2 + // Handle any sign + lda #0 + sta printf_buffer + // ultoa(uvalue, printf_buffer.digits, format.radix) + // [51] (dword) ultoa::value#1 ← (dword) printf_ulong::uvalue#0 + // [52] call ultoa + // Format number into buffer + // [186] phi from printf_ulong::@1 to ultoa [phi:printf_ulong::@1->ultoa] + jsr ultoa + // printf_ulong::@2 + // printf_number_buffer(printf_buffer, format) + // [53] (byte) printf_number_buffer::buffer_sign#0 ← *((byte*)&(struct printf_buffer_number) printf_buffer) -- vbuz1=_deref_pbuc1 + lda printf_buffer + sta.z printf_number_buffer.buffer_sign + // [54] call printf_number_buffer + // Print using format + // [56] phi from printf_ulong::@2 to printf_number_buffer [phi:printf_ulong::@2->printf_number_buffer] + // [56] phi (byte) printf_number_buffer::format_upper_case#10 = (const byte) printf_ulong::format_upper_case#0 [phi:printf_ulong::@2->printf_number_buffer#0] -- vbuz1=vbuc1 + lda #format_upper_case + sta.z printf_number_buffer.format_upper_case + // [56] phi (byte) printf_number_buffer::buffer_sign#10 = (byte) printf_number_buffer::buffer_sign#0 [phi:printf_ulong::@2->printf_number_buffer#1] -- register_copy + // [56] phi (byte) printf_number_buffer::format_zero_padding#10 = (const byte) printf_ulong::format_zero_padding#0 [phi:printf_ulong::@2->printf_number_buffer#2] -- vbuz1=vbuc1 + lda #format_zero_padding + sta.z printf_number_buffer.format_zero_padding + // [56] phi (byte) printf_number_buffer::format_justify_left#10 = (const byte) printf_ulong::format_justify_left#0 [phi:printf_ulong::@2->printf_number_buffer#3] -- vbuz1=vbuc1 + lda #format_justify_left + sta.z printf_number_buffer.format_justify_left + // [56] phi (byte) printf_number_buffer::format_min_length#2 = (const byte) printf_ulong::format_min_length#0 [phi:printf_ulong::@2->printf_number_buffer#4] -- vbuxx=vbuc1 + ldx #format_min_length + jsr printf_number_buffer + // printf_ulong::@return + // } + // [55] return + rts +} + // 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 +// printf_number_buffer(byte zp($a) buffer_sign, byte register(X) format_min_length, byte zp($10) format_justify_left, byte zp($13) format_zero_padding, byte zp($b) format_upper_case) +printf_number_buffer: { + .label __19 = $27 + .label buffer_sign = $a + .label padding = $c + .label format_zero_padding = $13 + .label format_justify_left = $10 + .label format_upper_case = $b + // if(format.min_length) + // [57] if((byte) 0==(byte) printf_number_buffer::format_min_length#2) goto printf_number_buffer::@1 -- vbuc1_eq_vbuxx_then_la1 + cpx #0 + beq __b6 + // [58] phi from printf_number_buffer to printf_number_buffer::@6 [phi:printf_number_buffer->printf_number_buffer::@6] + // printf_number_buffer::@6 + // strlen(buffer.digits) + // [59] call strlen + // [180] phi from printf_number_buffer::@6 to strlen [phi:printf_number_buffer::@6->strlen] + jsr strlen + // strlen(buffer.digits) + // [60] (word) strlen::return#2 ← (word) strlen::len#2 + // printf_number_buffer::@14 + // [61] (word~) printf_number_buffer::$19 ← (word) strlen::return#2 + // len = (signed char)strlen(buffer.digits) + // [62] (signed byte) printf_number_buffer::len#0 ← (signed byte)(word~) printf_number_buffer::$19 -- vbsyy=_sbyte_vwuz1 + // There is a minimum length - work out the padding + lda.z __19 + tay + // if(buffer.sign) + // [63] if((byte) 0==(byte) printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@13 -- vbuc1_eq_vbuz1_then_la1 + lda #0 + cmp.z buffer_sign + beq __b13 + // printf_number_buffer::@7 + // len++; + // [64] (signed byte) printf_number_buffer::len#1 ← ++ (signed byte) printf_number_buffer::len#0 -- vbsyy=_inc_vbsyy + iny + // [65] phi from printf_number_buffer::@14 printf_number_buffer::@7 to printf_number_buffer::@13 [phi:printf_number_buffer::@14/printf_number_buffer::@7->printf_number_buffer::@13] + // [65] phi (signed byte) printf_number_buffer::len#2 = (signed byte) printf_number_buffer::len#0 [phi:printf_number_buffer::@14/printf_number_buffer::@7->printf_number_buffer::@13#0] -- register_copy + // printf_number_buffer::@13 + __b13: + // padding = (signed char)format.min_length - len + // [66] (signed byte) printf_number_buffer::padding#1 ← (signed byte)(byte) printf_number_buffer::format_min_length#2 - (signed byte) printf_number_buffer::len#2 -- vbsz1=vbsxx_minus_vbsyy + txa + sty.z $ff + sec + sbc.z $ff + sta.z padding + // if(padding<0) + // [67] if((signed byte) printf_number_buffer::padding#1>=(signed byte) 0) goto printf_number_buffer::@21 -- vbsz1_ge_0_then_la1 + cmp #0 + bpl __b1 + // [69] phi from printf_number_buffer printf_number_buffer::@13 to printf_number_buffer::@1 [phi:printf_number_buffer/printf_number_buffer::@13->printf_number_buffer::@1] + __b6: + // [69] phi (signed byte) printf_number_buffer::padding#10 = (signed byte) 0 [phi:printf_number_buffer/printf_number_buffer::@13->printf_number_buffer::@1#0] -- vbsz1=vbsc1 + lda #0 + sta.z padding + // [68] phi from printf_number_buffer::@13 to printf_number_buffer::@21 [phi:printf_number_buffer::@13->printf_number_buffer::@21] + // printf_number_buffer::@21 + // [69] phi from printf_number_buffer::@21 to printf_number_buffer::@1 [phi:printf_number_buffer::@21->printf_number_buffer::@1] + // [69] phi (signed byte) printf_number_buffer::padding#10 = (signed byte) printf_number_buffer::padding#1 [phi:printf_number_buffer::@21->printf_number_buffer::@1#0] -- register_copy + // printf_number_buffer::@1 + __b1: + // if(!format.justify_left && !format.zero_padding && padding) + // [70] if((byte) 0!=(byte) printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@2 -- vbuc1_neq_vbuz1_then_la1 + lda #0 + cmp.z format_justify_left + bne __b2 + // printf_number_buffer::@17 + // [71] if((byte) 0!=(byte) printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2 -- vbuc1_neq_vbuz1_then_la1 + cmp.z format_zero_padding + bne __b2 + // printf_number_buffer::@16 + // [72] if((signed byte) 0!=(signed byte) printf_number_buffer::padding#10) goto printf_number_buffer::@8 -- vbsc1_neq_vbsz1_then_la1 + cmp.z padding + bne __b8 + jmp __b2 + // printf_number_buffer::@8 + __b8: + // printf_padding(' ',(char)padding) + // [73] (byte) printf_padding::length#0 ← (byte)(signed byte) printf_number_buffer::padding#10 -- vbuz1=vbuz2 + lda.z padding + sta.z printf_padding.length + // [74] call printf_padding + // [93] phi from printf_number_buffer::@8 to printf_padding [phi:printf_number_buffer::@8->printf_padding] + // [93] phi (byte) printf_padding::pad#5 = (byte) ' ' [phi:printf_number_buffer::@8->printf_padding#0] -- vbuz1=vbuc1 + lda #' ' + sta.z printf_padding.pad + // [93] phi (byte) printf_padding::length#4 = (byte) printf_padding::length#0 [phi:printf_number_buffer::@8->printf_padding#1] -- register_copy + jsr printf_padding + // printf_number_buffer::@2 + __b2: + // if(buffer.sign) + // [75] if((byte) 0==(byte) printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@3 -- vbuc1_eq_vbuz1_then_la1 + lda #0 + cmp.z buffer_sign + beq __b3 + // printf_number_buffer::@9 + // cputc(buffer.sign) + // [76] (byte) cputc::c#2 ← (byte) printf_number_buffer::buffer_sign#10 -- vbuaa=vbuz1 + lda.z buffer_sign + // [77] call cputc + // [100] phi from printf_number_buffer::@9 to cputc [phi:printf_number_buffer::@9->cputc] + // [100] phi (byte) cputc::c#3 = (byte) cputc::c#2 [phi:printf_number_buffer::@9->cputc#0] -- register_copy + jsr cputc + // printf_number_buffer::@3 + __b3: + // if(format.zero_padding && padding) + // [78] if((byte) 0==(byte) printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4 -- vbuc1_eq_vbuz1_then_la1 + lda #0 + cmp.z format_zero_padding + beq __b4 + // printf_number_buffer::@18 + // [79] if((signed byte) 0!=(signed byte) printf_number_buffer::padding#10) goto printf_number_buffer::@10 -- vbsc1_neq_vbsz1_then_la1 + cmp.z padding + bne __b10 + jmp __b4 + // printf_number_buffer::@10 + __b10: + // printf_padding('0',(char)padding) + // [80] (byte) printf_padding::length#1 ← (byte)(signed byte) printf_number_buffer::padding#10 -- vbuz1=vbuz2 + lda.z padding + sta.z printf_padding.length + // [81] call printf_padding + // [93] phi from printf_number_buffer::@10 to printf_padding [phi:printf_number_buffer::@10->printf_padding] + // [93] phi (byte) printf_padding::pad#5 = (byte) '0' [phi:printf_number_buffer::@10->printf_padding#0] -- vbuz1=vbuc1 + lda #'0' + sta.z printf_padding.pad + // [93] phi (byte) printf_padding::length#4 = (byte) printf_padding::length#1 [phi:printf_number_buffer::@10->printf_padding#1] -- register_copy + jsr printf_padding + // printf_number_buffer::@4 + __b4: + // if(format.upper_case) + // [82] if((byte) 0==(byte) printf_number_buffer::format_upper_case#10) goto printf_number_buffer::@5 -- vbuc1_eq_vbuz1_then_la1 + lda #0 + cmp.z format_upper_case + beq __b5 + // [83] phi from printf_number_buffer::@4 to printf_number_buffer::@11 [phi:printf_number_buffer::@4->printf_number_buffer::@11] + // printf_number_buffer::@11 + // strupr(buffer.digits) + // [84] call strupr + // [165] phi from printf_number_buffer::@11 to strupr [phi:printf_number_buffer::@11->strupr] + jsr strupr + // [85] phi from printf_number_buffer::@11 printf_number_buffer::@4 to printf_number_buffer::@5 [phi:printf_number_buffer::@11/printf_number_buffer::@4->printf_number_buffer::@5] + // printf_number_buffer::@5 + __b5: + // cputs(buffer.digits) + // [86] call cputs + // [157] phi from printf_number_buffer::@5 to cputs [phi:printf_number_buffer::@5->cputs] + // [157] phi (to_nomodify byte*) cputs::s#5 = (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:printf_number_buffer::@5->cputs#0] -- pbuz1=pbuc1 + lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + sta.z cputs.s+1 + jsr cputs + // printf_number_buffer::@15 + // if(format.justify_left && !format.zero_padding && padding) + // [87] if((byte) 0==(byte) printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@return -- vbuc1_eq_vbuz1_then_la1 + lda #0 + cmp.z format_justify_left + beq __breturn + // printf_number_buffer::@20 + // [88] if((byte) 0!=(byte) printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@return -- vbuc1_neq_vbuz1_then_la1 + cmp.z format_zero_padding + bne __breturn + // printf_number_buffer::@19 + // [89] if((signed byte) 0!=(signed byte) printf_number_buffer::padding#10) goto printf_number_buffer::@12 -- vbsc1_neq_vbsz1_then_la1 + cmp.z padding + bne __b12 + rts + // printf_number_buffer::@12 + __b12: + // printf_padding(' ',(char)padding) + // [90] (byte) printf_padding::length#2 ← (byte)(signed byte) printf_number_buffer::padding#10 -- vbuz1=vbuz2 + lda.z padding + sta.z printf_padding.length + // [91] call printf_padding + // [93] phi from printf_number_buffer::@12 to printf_padding [phi:printf_number_buffer::@12->printf_padding] + // [93] phi (byte) printf_padding::pad#5 = (byte) ' ' [phi:printf_number_buffer::@12->printf_padding#0] -- vbuz1=vbuc1 + lda #' ' + sta.z printf_padding.pad + // [93] phi (byte) printf_padding::length#4 = (byte) printf_padding::length#2 [phi:printf_number_buffer::@12->printf_padding#1] -- register_copy + jsr printf_padding + // printf_number_buffer::@return + __breturn: + // } + // [92] return + rts +} + // printf_padding +// Print a padding char a number of times +// printf_padding(byte zp($e) pad, byte zp($d) length) +printf_padding: { + .label i = $f + .label length = $d + .label pad = $e + // [94] phi from printf_padding to printf_padding::@1 [phi:printf_padding->printf_padding::@1] + // [94] phi (byte) printf_padding::i#2 = (byte) 0 [phi:printf_padding->printf_padding::@1#0] -- vbuz1=vbuc1 + lda #0 + sta.z i + // printf_padding::@1 + __b1: + // for(char i=0;icputc] + // [100] phi (byte) cputc::c#3 = (byte) cputc::c#1 [phi:printf_padding::@2->cputc#0] -- register_copy + jsr cputc + // printf_padding::@3 + // for(char i=0;iprintf_padding::@1] + // [94] phi (byte) printf_padding::i#2 = (byte) printf_padding::i#1 [phi:printf_padding::@3->printf_padding::@1#0] -- register_copy + jmp __b1 +} + // cputc +// Output one character at the current cursor position +// Moves the cursor forward. Scrolls the entire screen if needed +// cputc(byte register(A) c) +cputc: { + // if(c=='\n') + // [101] if((byte) cputc::c#3==(byte) ' ') goto cputc::@1 -- vbuaa_eq_vbuc1_then_la1 + cmp #'\n' + beq __b1 + // cputc::@2 + // *conio_cursor_text++ = c + // [102] *((byte*) conio_cursor_text) ← (byte) cputc::c#3 -- _deref_pbuz1=vbuaa + ldy #0 + sta (conio_cursor_text),y + // *conio_cursor_text++ = c; + // [103] (byte*) conio_cursor_text ← ++ (byte*) conio_cursor_text -- pbuz1=_inc_pbuz1 + inc.z conio_cursor_text + bne !+ + inc.z conio_cursor_text+1 + !: + // *conio_cursor_color++ = conio_textcolor + // [104] *((byte*) conio_cursor_color) ← (byte) conio_textcolor -- _deref_pbuz1=vbuz2 + lda.z conio_textcolor + ldy #0 + sta (conio_cursor_color),y + // *conio_cursor_color++ = conio_textcolor; + // [105] (byte*) conio_cursor_color ← ++ (byte*) conio_cursor_color -- pbuz1=_inc_pbuz1 + inc.z conio_cursor_color + bne !+ + inc.z conio_cursor_color+1 + !: + // if(++conio_cursor_x==CONIO_WIDTH) + // [106] (byte) conio_cursor_x ← ++ (byte) conio_cursor_x -- vbuz1=_inc_vbuz1 + inc.z conio_cursor_x + // [107] if((byte) conio_cursor_x!=(byte) $28) goto cputc::@return -- vbuz1_neq_vbuc1_then_la1 + lda #$28 + cmp.z conio_cursor_x + bne __breturn + // cputc::@3 + // conio_cursor_x = 0 + // [108] (byte) conio_cursor_x ← (byte) 0 -- vbuz1=vbuc1 + lda #0 + sta.z conio_cursor_x + // ++conio_cursor_y; + // [109] (byte) conio_cursor_y ← ++ (byte) conio_cursor_y -- vbuz1=_inc_vbuz1 + inc.z conio_cursor_y + // cscroll() + // [110] call cscroll + jsr cscroll + // cputc::@return + __breturn: + // } + // [111] return + rts + // [112] phi from cputc to cputc::@1 [phi:cputc->cputc::@1] + // cputc::@1 + __b1: + // cputln() + // [113] call cputln + jsr cputln + rts +} + // cputln +// Print a newline +cputln: { + .label __0 = $18 + .label __1 = $18 + .label __2 = $1a + .label __3 = $1a + // conio_cursor_text - conio_cursor_x + // [114] (byte*~) cputln::$0 ← (byte*) conio_cursor_text - (byte) conio_cursor_x -- pbuz1=pbuz1_minus_vbuz2 + sec + lda.z __0 + sbc.z conio_cursor_x + sta.z __0 + bcs !+ + dec.z __0+1 + !: + // conio_cursor_text - conio_cursor_x + CONIO_WIDTH + // [115] (byte*~) cputln::$1 ← (byte*~) cputln::$0 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 + lda #$28 + clc + adc.z __1 + sta.z __1 + bcc !+ + inc.z __1+1 + !: + // conio_cursor_text = conio_cursor_text - conio_cursor_x + CONIO_WIDTH + // [116] (byte*) conio_cursor_text ← (byte*~) cputln::$1 + // conio_cursor_color - conio_cursor_x + // [117] (byte*~) cputln::$2 ← (byte*) conio_cursor_color - (byte) conio_cursor_x -- pbuz1=pbuz1_minus_vbuz2 + sec + lda.z __2 + sbc.z conio_cursor_x + sta.z __2 + bcs !+ + dec.z __2+1 + !: + // conio_cursor_color - conio_cursor_x + CONIO_WIDTH + // [118] (byte*~) cputln::$3 ← (byte*~) cputln::$2 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 + lda #$28 + clc + adc.z __3 + sta.z __3 + bcc !+ + inc.z __3+1 + !: + // conio_cursor_color = conio_cursor_color - conio_cursor_x + CONIO_WIDTH + // [119] (byte*) conio_cursor_color ← (byte*~) cputln::$3 + // conio_cursor_x = 0 + // [120] (byte) conio_cursor_x ← (byte) 0 -- vbuz1=vbuc1 + lda #0 + sta.z conio_cursor_x + // conio_cursor_y++; + // [121] (byte) conio_cursor_y ← ++ (byte) conio_cursor_y -- vbuz1=_inc_vbuz1 + inc.z conio_cursor_y + // cscroll() + // [122] call cscroll + jsr cscroll + // cputln::@return + // } + // [123] return + rts +} + // cscroll +// Scroll the entire screen if the cursor is beyond the last line +cscroll: { + .label __7 = $18 + .label __8 = $1a + // if(conio_cursor_y==CONIO_HEIGHT) + // [124] if((byte) conio_cursor_y!=(byte) $19) goto cscroll::@return -- vbuz1_neq_vbuc1_then_la1 + lda #$19 + cmp.z conio_cursor_y + bne __breturn + // [125] phi from cscroll to cscroll::@1 [phi:cscroll->cscroll::@1] + // cscroll::@1 + // memcpy(CONIO_SCREEN_TEXT, CONIO_SCREEN_TEXT+CONIO_WIDTH, CONIO_BYTES-CONIO_WIDTH) + // [126] call memcpy + // [147] phi from cscroll::@1 to memcpy [phi:cscroll::@1->memcpy] + // [147] phi (void*) memcpy::destination#2 = (void*)(const nomodify byte*) CONIO_SCREEN_TEXT [phi:cscroll::@1->memcpy#0] -- pvoz1=pvoc1 + lda #CONIO_SCREEN_TEXT + sta.z memcpy.destination+1 + // [147] phi (void*) memcpy::source#2 = (void*)(const nomodify byte*) CONIO_SCREEN_TEXT+(byte) $28 [phi:cscroll::@1->memcpy#1] -- pvoz1=pvoc1 + lda #CONIO_SCREEN_TEXT+$28 + sta.z memcpy.source+1 + jsr memcpy + // [127] phi from cscroll::@1 to cscroll::@2 [phi:cscroll::@1->cscroll::@2] + // cscroll::@2 + // memcpy(CONIO_SCREEN_COLORS, CONIO_SCREEN_COLORS+CONIO_WIDTH, CONIO_BYTES-CONIO_WIDTH) + // [128] call memcpy + // [147] phi from cscroll::@2 to memcpy [phi:cscroll::@2->memcpy] + // [147] phi (void*) memcpy::destination#2 = (void*)(const nomodify byte*) CONIO_SCREEN_COLORS [phi:cscroll::@2->memcpy#0] -- pvoz1=pvoc1 + lda #CONIO_SCREEN_COLORS + sta.z memcpy.destination+1 + // [147] phi (void*) memcpy::source#2 = (void*)(const nomodify byte*) CONIO_SCREEN_COLORS+(byte) $28 [phi:cscroll::@2->memcpy#1] -- pvoz1=pvoc1 + lda #CONIO_SCREEN_COLORS+$28 + sta.z memcpy.source+1 + jsr memcpy + // [129] phi from cscroll::@2 to cscroll::@3 [phi:cscroll::@2->cscroll::@3] + // cscroll::@3 + // memset(CONIO_SCREEN_TEXT+CONIO_BYTES-CONIO_WIDTH, ' ', CONIO_WIDTH) + // [130] call memset + // [139] phi from cscroll::@3 to memset [phi:cscroll::@3->memset] + // [139] phi (byte) memset::c#4 = (byte) ' ' [phi:cscroll::@3->memset#0] -- vbuxx=vbuc1 + ldx #' ' + // [139] phi (void*) memset::str#3 = (void*)(const nomodify byte*) CONIO_SCREEN_TEXT+(word)(number) $19*(number) $28-(byte) $28 [phi:cscroll::@3->memset#1] -- pvoz1=pvoc1 + lda #CONIO_SCREEN_TEXT+$19*$28-$28 + sta.z memset.str+1 + jsr memset + // cscroll::@4 + // memset(CONIO_SCREEN_COLORS+CONIO_BYTES-CONIO_WIDTH, conio_textcolor, CONIO_WIDTH) + // [131] (byte) memset::c#1 ← (byte) conio_textcolor -- vbuxx=vbuz1 + ldx.z conio_textcolor + // [132] call memset + // [139] phi from cscroll::@4 to memset [phi:cscroll::@4->memset] + // [139] phi (byte) memset::c#4 = (byte) memset::c#1 [phi:cscroll::@4->memset#0] -- register_copy + // [139] phi (void*) memset::str#3 = (void*)(const nomodify byte*) CONIO_SCREEN_COLORS+(word)(number) $19*(number) $28-(byte) $28 [phi:cscroll::@4->memset#1] -- pvoz1=pvoc1 + lda #CONIO_SCREEN_COLORS+$19*$28-$28 + sta.z memset.str+1 + jsr memset + // cscroll::@5 + // conio_cursor_text-CONIO_WIDTH + // [133] (byte*~) cscroll::$7 ← (byte*) conio_cursor_text - (byte) $28 -- pbuz1=pbuz1_minus_vwuc1 + lda.z __7 + sec + sbc #<$28 + sta.z __7 + lda.z __7+1 + sbc #>$28 + sta.z __7+1 + // conio_cursor_text = conio_cursor_text-CONIO_WIDTH + // [134] (byte*) conio_cursor_text ← (byte*~) cscroll::$7 + // conio_cursor_color-CONIO_WIDTH + // [135] (byte*~) cscroll::$8 ← (byte*) conio_cursor_color - (byte) $28 -- pbuz1=pbuz1_minus_vwuc1 + lda.z __8 + sec + sbc #<$28 + sta.z __8 + lda.z __8+1 + sbc #>$28 + sta.z __8+1 + // conio_cursor_color = conio_cursor_color-CONIO_WIDTH + // [136] (byte*) conio_cursor_color ← (byte*~) cscroll::$8 + // conio_cursor_y--; + // [137] (byte) conio_cursor_y ← -- (byte) conio_cursor_y -- vbuz1=_dec_vbuz1 + dec.z conio_cursor_y + // cscroll::@return + __breturn: + // } + // [138] return + rts +} + // memset +// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str. +// memset(void* zp($27) str, byte register(X) c) +memset: { + .label end = $25 + .label dst = $27 + .label str = $27 + // memset::@1 + // end = (char*)str + num + // [140] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (byte) $28 -- pbuz1=pbuz2_plus_vbuc1 + lda #$28 + clc + adc.z str + sta.z end + lda #0 + adc.z str+1 + sta.z end+1 + // [141] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3 + // [142] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2] + // [142] phi (byte*) memset::dst#2 = (byte*) memset::dst#4 [phi:memset::@1/memset::@3->memset::@2#0] -- register_copy + // memset::@2 + __b2: + // for(char* dst = str; dst!=end; dst++) + // [143] if((byte*) memset::dst#2!=(byte*) 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 + // } + // [144] return + rts + // memset::@3 + __b3: + // *dst = c + // [145] *((byte*) memset::dst#2) ← (byte) memset::c#4 -- _deref_pbuz1=vbuxx + txa + ldy #0 + sta (dst),y + // for(char* dst = str; dst!=end; dst++) + // [146] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 + inc.z dst + bne !+ + inc.z dst+1 + !: + jmp __b2 +} + // 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. +// memcpy(void* zp($14) destination, void* zp($27) source) +memcpy: { + .label src_end = $25 + .label dst = $14 + .label src = $27 + .label source = $27 + .label destination = $14 + // src_end = (char*)source+num + // [148] (byte*) memcpy::src_end#0 ← (byte*)(void*) memcpy::source#2 + (word)(number) $19*(number) $28-(number) $28 -- pbuz1=pbuz2_plus_vwuc1 + lda.z source + clc + adc #<$19*$28-$28 + sta.z src_end + lda.z source+1 + adc #>$19*$28-$28 + sta.z src_end+1 + // [149] (byte*) memcpy::src#4 ← (byte*)(void*) memcpy::source#2 + // [150] (byte*) memcpy::dst#4 ← (byte*)(void*) memcpy::destination#2 + // [151] phi from memcpy memcpy::@2 to memcpy::@1 [phi:memcpy/memcpy::@2->memcpy::@1] + // [151] phi (byte*) memcpy::dst#2 = (byte*) memcpy::dst#4 [phi:memcpy/memcpy::@2->memcpy::@1#0] -- register_copy + // [151] phi (byte*) memcpy::src#2 = (byte*) memcpy::src#4 [phi:memcpy/memcpy::@2->memcpy::@1#1] -- register_copy + // memcpy::@1 + __b1: + // while(src!=src_end) + // [152] if((byte*) memcpy::src#2!=(byte*) 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 + // } + // [153] return + rts + // memcpy::@2 + __b2: + // *dst++ = *src++ + // [154] *((byte*) memcpy::dst#2) ← *((byte*) memcpy::src#2) -- _deref_pbuz1=_deref_pbuz2 + ldy #0 + lda (src),y + sta (dst),y + // *dst++ = *src++; + // [155] (byte*) memcpy::dst#1 ← ++ (byte*) memcpy::dst#2 -- pbuz1=_inc_pbuz1 + inc.z dst + bne !+ + inc.z dst+1 + !: + // [156] (byte*) memcpy::src#1 ← ++ (byte*) memcpy::src#2 -- pbuz1=_inc_pbuz1 + inc.z src + bne !+ + inc.z src+1 + !: + jmp __b1 +} + // cputs +// Output a NUL-terminated string at the current cursor position +// cputs(byte* zp($23) s) +cputs: { + .label s = $23 + // [158] phi from cputs cputs::@2 to cputs::@1 [phi:cputs/cputs::@2->cputs::@1] + // [158] phi (to_nomodify byte*) cputs::s#4 = (to_nomodify byte*) cputs::s#5 [phi:cputs/cputs::@2->cputs::@1#0] -- register_copy + // cputs::@1 + __b1: + // c=*s++ + // [159] (byte) cputs::c#1 ← *((to_nomodify byte*) cputs::s#4) -- vbuaa=_deref_pbuz1 + ldy #0 + lda (s),y + // while(c=*s++) + // [160] (to_nomodify byte*) cputs::s#0 ← ++ (to_nomodify byte*) cputs::s#4 -- pbuz1=_inc_pbuz1 + inc.z s + bne !+ + inc.z s+1 + !: + // [161] if((byte) 0!=(byte) cputs::c#1) goto cputs::@2 -- vbuc1_neq_vbuaa_then_la1 + cmp #0 + bne __b2 + // cputs::@return + // } + // [162] return + rts + // cputs::@2 + __b2: + // cputc(c) + // [163] (byte) cputc::c#0 ← (byte) cputs::c#1 + // [164] call cputc + // [100] phi from cputs::@2 to cputc [phi:cputs::@2->cputc] + // [100] phi (byte) cputc::c#3 = (byte) cputc::c#0 [phi:cputs::@2->cputc#0] -- register_copy + jsr cputc + jmp __b1 +} + // strupr +// Converts a string to uppercase. +strupr: { + .label str = printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + .label src = $14 + // [166] phi from strupr to strupr::@1 [phi:strupr->strupr::@1] + // [166] phi (byte*) strupr::src#2 = (const byte*) strupr::str#0 [phi:strupr->strupr::@1#0] -- pbuz1=pbuc1 + lda #str + sta.z src+1 + // strupr::@1 + __b1: + // while(*src) + // [167] if((byte) 0!=*((byte*) strupr::src#2)) goto strupr::@2 -- vbuc1_neq__deref_pbuz1_then_la1 + ldy #0 + lda (src),y + cmp #0 + bne __b2 + // strupr::@return + // } + // [168] return + rts + // strupr::@2 + __b2: + // toupper(*src) + // [169] (byte) toupper::ch#0 ← *((byte*) strupr::src#2) -- vbuaa=_deref_pbuz1 + ldy #0 + lda (src),y + // [170] call toupper + jsr toupper + // [171] (byte) toupper::return#3 ← (byte) toupper::return#2 + // strupr::@3 + // [172] (byte~) strupr::$0 ← (byte) toupper::return#3 + // *src = toupper(*src) + // [173] *((byte*) strupr::src#2) ← (byte~) strupr::$0 -- _deref_pbuz1=vbuaa + ldy #0 + sta (src),y + // src++; + // [174] (byte*) strupr::src#1 ← ++ (byte*) strupr::src#2 -- pbuz1=_inc_pbuz1 + inc.z src + bne !+ + inc.z src+1 + !: + // [166] phi from strupr::@3 to strupr::@1 [phi:strupr::@3->strupr::@1] + // [166] phi (byte*) strupr::src#2 = (byte*) strupr::src#1 [phi:strupr::@3->strupr::@1#0] -- register_copy + jmp __b1 +} + // toupper +// Convert lowercase alphabet to uppercase +// Returns uppercase equivalent to c, if such value exists, else c remains unchanged +// toupper(byte register(A) ch) +toupper: { + // if(ch>='a' && ch<='z') + // [175] if((byte) toupper::ch#0<(byte) 'a') goto toupper::@return -- vbuaa_lt_vbuc1_then_la1 + cmp #'a' + bcc __breturn + // toupper::@2 + // [176] if((byte) toupper::ch#0<=(byte) 'z') goto toupper::@1 -- vbuaa_le_vbuc1_then_la1 + cmp #'z' + bcc __b1 + beq __b1 + // [178] phi from toupper toupper::@1 toupper::@2 to toupper::@return [phi:toupper/toupper::@1/toupper::@2->toupper::@return] + // [178] phi (byte) toupper::return#2 = (byte) toupper::ch#0 [phi:toupper/toupper::@1/toupper::@2->toupper::@return#0] -- register_copy + rts + // toupper::@1 + __b1: + // return ch + ('A'-'a'); + // [177] (byte) toupper::return#0 ← (byte) toupper::ch#0 + (byte) 'A'-(byte) 'a' -- vbuaa=vbuaa_plus_vbuc1 + clc + adc #'A'-'a' + // toupper::@return + __breturn: + // } + // [179] return + rts +} + // strlen +// Computes the length of the string str up to but not including the terminating null character. +// strlen(byte* zp($23) str) +strlen: { + .label len = $27 + .label str = $23 + .label return = $27 + // [181] phi from strlen to strlen::@1 [phi:strlen->strlen::@1] + // [181] phi (word) strlen::len#2 = (word) 0 [phi:strlen->strlen::@1#0] -- vwuz1=vwuc1 + lda #<0 + sta.z len + sta.z len+1 + // [181] phi (byte*) strlen::str#2 = (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:strlen->strlen::@1#1] -- pbuz1=pbuc1 + lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + sta.z str+1 + // strlen::@1 + __b1: + // while(*str) + // [182] if((byte) 0!=*((byte*) strlen::str#2)) goto strlen::@2 -- vbuc1_neq__deref_pbuz1_then_la1 + ldy #0 + lda (str),y + cmp #0 + bne __b2 + // strlen::@return + // } + // [183] return + rts + // strlen::@2 + __b2: + // len++; + // [184] (word) strlen::len#1 ← ++ (word) strlen::len#2 -- vwuz1=_inc_vwuz1 + inc.z len + bne !+ + inc.z len+1 + !: + // str++; + // [185] (byte*) strlen::str#0 ← ++ (byte*) strlen::str#2 -- pbuz1=_inc_pbuz1 + inc.z str + bne !+ + inc.z str+1 + !: + // [181] phi from strlen::@2 to strlen::@1 [phi:strlen::@2->strlen::@1] + // [181] phi (word) strlen::len#2 = (word) strlen::len#1 [phi:strlen::@2->strlen::@1#0] -- register_copy + // [181] phi (byte*) strlen::str#2 = (byte*) strlen::str#0 [phi:strlen::@2->strlen::@1#1] -- register_copy + jmp __b1 +} + // ultoa +// Converts unsigned number value to a string representing it in RADIX format. +// If the leading digits are zero they are not included in the string. +// - value : The number to be converted to RADIX +// - buffer : receives the string representing the number and zero-termination. +// - radix : The radix to convert the number to (from the enum RADIX) +// ultoa(dword zp(2) value, byte* zp($27) buffer) +ultoa: { + .const max_digits = $a + .label digit_value = $1f + .label buffer = $27 + .label digit = $10 + .label value = 2 + // [187] phi from ultoa to ultoa::@1 [phi:ultoa->ultoa::@1] + // [187] phi (byte*) ultoa::buffer#11 = (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:ultoa->ultoa::@1#0] -- pbuz1=pbuc1 + lda #printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS + sta.z buffer+1 + // [187] phi (byte) ultoa::started#2 = (byte) 0 [phi:ultoa->ultoa::@1#1] -- vbuxx=vbuc1 + ldx #0 + // [187] phi (dword) ultoa::value#2 = (dword) ultoa::value#1 [phi:ultoa->ultoa::@1#2] -- register_copy + // [187] phi (byte) ultoa::digit#2 = (byte) 0 [phi:ultoa->ultoa::@1#3] -- vbuz1=vbuc1 + txa + sta.z digit + // ultoa::@1 + __b1: + // for( char digit=0; digit= digit_value) + // [196] if((byte) 0!=(byte) ultoa::started#2) goto ultoa::@5 -- vbuc1_neq_vbuxx_then_la1 + cpx #0 + bne __b5 + // ultoa::@7 + // [197] if((dword) ultoa::value#2>=(dword) ultoa::digit_value#0) goto ultoa::@5 -- vduz1_ge_vduz2_then_la1 + lda.z value+3 + cmp.z digit_value+3 + bcc !+ + bne __b5 + lda.z value+2 + cmp.z digit_value+2 + bcc !+ + bne __b5 + lda.z value+1 + cmp.z digit_value+1 + bcc !+ + bne __b5 + lda.z value + cmp.z digit_value + bcs __b5 + !: + // [198] phi from ultoa::@7 to ultoa::@4 [phi:ultoa::@7->ultoa::@4] + // [198] phi (byte*) ultoa::buffer#14 = (byte*) ultoa::buffer#11 [phi:ultoa::@7->ultoa::@4#0] -- register_copy + // [198] phi (byte) ultoa::started#4 = (byte) ultoa::started#2 [phi:ultoa::@7->ultoa::@4#1] -- register_copy + // [198] phi (dword) ultoa::value#6 = (dword) ultoa::value#2 [phi:ultoa::@7->ultoa::@4#2] -- register_copy + // ultoa::@4 + __b4: + // for( char digit=0; digitultoa::@1] + // [187] phi (byte*) ultoa::buffer#11 = (byte*) ultoa::buffer#14 [phi:ultoa::@4->ultoa::@1#0] -- register_copy + // [187] phi (byte) ultoa::started#2 = (byte) ultoa::started#4 [phi:ultoa::@4->ultoa::@1#1] -- register_copy + // [187] phi (dword) ultoa::value#2 = (dword) ultoa::value#6 [phi:ultoa::@4->ultoa::@1#2] -- register_copy + // [187] phi (byte) ultoa::digit#2 = (byte) ultoa::digit#1 [phi:ultoa::@4->ultoa::@1#3] -- register_copy + jmp __b1 + // ultoa::@5 + __b5: + // ultoa_append(buffer++, value, digit_value) + // [200] (byte*) ultoa_append::buffer#0 ← (byte*) ultoa::buffer#11 + // [201] (dword) ultoa_append::value#0 ← (dword) ultoa::value#2 + // [202] (dword) ultoa_append::sub#0 ← (dword) ultoa::digit_value#0 + // [203] call ultoa_append + // [207] phi from ultoa::@5 to ultoa_append [phi:ultoa::@5->ultoa_append] + jsr ultoa_append + // ultoa_append(buffer++, value, digit_value) + // [204] (dword) ultoa_append::return#0 ← (dword) ultoa_append::value#2 + // ultoa::@6 + // value = ultoa_append(buffer++, value, digit_value) + // [205] (dword) ultoa::value#0 ← (dword) ultoa_append::return#0 + // value = ultoa_append(buffer++, value, digit_value); + // [206] (byte*) ultoa::buffer#4 ← ++ (byte*) ultoa::buffer#11 -- pbuz1=_inc_pbuz1 + inc.z buffer + bne !+ + inc.z buffer+1 + !: + // [198] phi from ultoa::@6 to ultoa::@4 [phi:ultoa::@6->ultoa::@4] + // [198] phi (byte*) ultoa::buffer#14 = (byte*) ultoa::buffer#4 [phi:ultoa::@6->ultoa::@4#0] -- register_copy + // [198] phi (byte) ultoa::started#4 = (byte) 1 [phi:ultoa::@6->ultoa::@4#1] -- vbuxx=vbuc1 + ldx #1 + // [198] phi (dword) ultoa::value#6 = (dword) ultoa::value#0 [phi:ultoa::@6->ultoa::@4#2] -- register_copy + jmp __b4 +} + // ultoa_append +// Used to convert a single digit of an unsigned number value to a string representation +// Counts a single digit up from '0' as long as the value is larger than sub. +// Each time the digit is increased sub is subtracted from value. +// - buffer : pointer to the char that receives the digit +// - value : The value where the digit will be derived from +// - sub : the value of a '1' in the digit. Subtracted continually while the digit is increased. +// (For decimal the subs used are 10000, 1000, 100, 10, 1) +// returns : the value reduced by sub * digit so that it is less than sub. +// ultoa_append(byte* zp($27) buffer, dword zp(2) value, dword zp($1f) sub) +ultoa_append: { + .label buffer = $27 + .label value = 2 + .label sub = $1f + .label return = 2 + // [208] phi from ultoa_append to ultoa_append::@1 [phi:ultoa_append->ultoa_append::@1] + // [208] phi (byte) ultoa_append::digit#2 = (byte) 0 [phi:ultoa_append->ultoa_append::@1#0] -- vbuxx=vbuc1 + ldx #0 + // [208] phi (dword) ultoa_append::value#2 = (dword) ultoa_append::value#0 [phi:ultoa_append->ultoa_append::@1#1] -- register_copy + // ultoa_append::@1 + __b1: + // while (value >= sub) + // [209] if((dword) ultoa_append::value#2>=(dword) ultoa_append::sub#0) goto ultoa_append::@2 -- vduz1_ge_vduz2_then_la1 + lda.z value+3 + cmp.z sub+3 + bcc !+ + bne __b2 + lda.z value+2 + cmp.z sub+2 + bcc !+ + bne __b2 + lda.z value+1 + cmp.z sub+1 + bcc !+ + bne __b2 + lda.z value + cmp.z sub + bcs __b2 + !: + // ultoa_append::@3 + // *buffer = DIGITS[digit] + // [210] *((byte*) ultoa_append::buffer#0) ← *((const byte*) DIGITS + (byte) ultoa_append::digit#2) -- _deref_pbuz1=pbuc1_derefidx_vbuxx + lda DIGITS,x + ldy #0 + sta (buffer),y + // ultoa_append::@return + // } + // [211] return + rts + // ultoa_append::@2 + __b2: + // digit++; + // [212] (byte) ultoa_append::digit#1 ← ++ (byte) ultoa_append::digit#2 -- vbuxx=_inc_vbuxx + inx + // value -= sub + // [213] (dword) ultoa_append::value#1 ← (dword) ultoa_append::value#2 - (dword) ultoa_append::sub#0 -- vduz1=vduz1_minus_vduz2 + lda.z value + sec + sbc.z sub + sta.z value + lda.z value+1 + sbc.z sub+1 + sta.z value+1 + lda.z value+2 + sbc.z sub+2 + sta.z value+2 + lda.z value+3 + sbc.z sub+3 + sta.z value+3 + // [208] phi from ultoa_append::@2 to ultoa_append::@1 [phi:ultoa_append::@2->ultoa_append::@1] + // [208] phi (byte) ultoa_append::digit#2 = (byte) ultoa_append::digit#1 [phi:ultoa_append::@2->ultoa_append::@1#0] -- register_copy + // [208] phi (dword) ultoa_append::value#2 = (dword) ultoa_append::value#1 [phi:ultoa_append::@2->ultoa_append::@1#1] -- register_copy + jmp __b1 +} + // textcolor +// Set the color for text output. The old color setting is returned. +// textcolor(byte register(A) color) +textcolor: { + // conio_textcolor = color + // [215] (byte) conio_textcolor ← (byte) textcolor::color#3 -- vbuz1=vbuaa + sta.z conio_textcolor + // textcolor::@return + // } + // [216] return + rts +} + // gotoxy +// Set the cursor to the specified position +// gotoxy(byte register(X) x, byte register(A) y) +gotoxy: { + .label __4 = $1a + .label __6 = $18 + .label __7 = $1a + .label __8 = $1a + .label offset = $1a + .label __9 = $23 + .label __10 = $1a + // if(y>CONIO_HEIGHT) + // [218] if((byte) gotoxy::y#4<(byte) $19+(byte) 1) goto gotoxy::@3 -- vbuaa_lt_vbuc1_then_la1 + cmp #$19+1 + bcc __b1 + // [220] phi from gotoxy to gotoxy::@1 [phi:gotoxy->gotoxy::@1] + // [220] phi (byte) gotoxy::y#5 = (byte) 0 [phi:gotoxy->gotoxy::@1#0] -- vbuaa=vbuc1 + lda #0 + // [219] phi from gotoxy to gotoxy::@3 [phi:gotoxy->gotoxy::@3] + // gotoxy::@3 + // [220] phi from gotoxy::@3 to gotoxy::@1 [phi:gotoxy::@3->gotoxy::@1] + // [220] phi (byte) gotoxy::y#5 = (byte) gotoxy::y#4 [phi:gotoxy::@3->gotoxy::@1#0] -- register_copy + // gotoxy::@1 + __b1: + // if(x>=CONIO_WIDTH) + // [221] if((byte) gotoxy::x#4<(byte) $28) goto gotoxy::@4 -- vbuxx_lt_vbuc1_then_la1 + cpx #$28 + bcc __b2 + // [223] phi from gotoxy::@1 to gotoxy::@2 [phi:gotoxy::@1->gotoxy::@2] + // [223] phi (byte) gotoxy::x#5 = (byte) 0 [phi:gotoxy::@1->gotoxy::@2#0] -- vbuxx=vbuc1 + ldx #0 + // [222] phi from gotoxy::@1 to gotoxy::@4 [phi:gotoxy::@1->gotoxy::@4] + // gotoxy::@4 + // [223] phi from gotoxy::@4 to gotoxy::@2 [phi:gotoxy::@4->gotoxy::@2] + // [223] phi (byte) gotoxy::x#5 = (byte) gotoxy::x#4 [phi:gotoxy::@4->gotoxy::@2#0] -- register_copy + // gotoxy::@2 + __b2: + // conio_cursor_x = x + // [224] (byte) conio_cursor_x ← (byte) gotoxy::x#5 -- vbuz1=vbuxx + stx.z conio_cursor_x + // conio_cursor_y = y + // [225] (byte) conio_cursor_y ← (byte) gotoxy::y#5 -- vbuz1=vbuaa + sta.z conio_cursor_y + // (unsigned int)y*CONIO_WIDTH + // [226] (word~) gotoxy::$8 ← (word)(byte) gotoxy::y#5 -- vwuz1=_word_vbuaa + sta.z __8 + lda #0 + sta.z __8+1 + // [227] (word~) gotoxy::$9 ← (word~) gotoxy::$8 << (byte) 2 -- vwuz1=vwuz2_rol_2 + lda.z __8 + asl + sta.z __9 + lda.z __8+1 + rol + sta.z __9+1 + asl.z __9 + rol.z __9+1 + // [228] (word~) gotoxy::$10 ← (word~) gotoxy::$9 + (word~) gotoxy::$8 -- vwuz1=vwuz2_plus_vwuz1 + lda.z __10 + clc + adc.z __9 + sta.z __10 + lda.z __10+1 + adc.z __9+1 + sta.z __10+1 + // [229] (word~) gotoxy::$4 ← (word~) gotoxy::$10 << (byte) 3 -- vwuz1=vwuz1_rol_3 + asl.z __4 + rol.z __4+1 + asl.z __4 + rol.z __4+1 + asl.z __4 + rol.z __4+1 + // offset = (unsigned int)y*CONIO_WIDTH + x + // [230] (word) gotoxy::offset#0 ← (word~) gotoxy::$4 + (byte) gotoxy::x#5 -- vwuz1=vwuz1_plus_vbuxx + txa + clc + adc.z offset + sta.z offset + bcc !+ + inc.z offset+1 + !: + // CONIO_SCREEN_TEXT + offset + // [231] (byte*~) gotoxy::$6 ← (const nomodify byte*) CONIO_SCREEN_TEXT + (word) gotoxy::offset#0 -- pbuz1=pbuc1_plus_vwuz2 + lda.z offset + clc + adc #CONIO_SCREEN_TEXT + sta.z __6+1 + // conio_cursor_text = CONIO_SCREEN_TEXT + offset + // [232] (byte*) conio_cursor_text ← (byte*~) gotoxy::$6 + // CONIO_SCREEN_COLORS + offset + // [233] (byte*~) gotoxy::$7 ← (const nomodify byte*) CONIO_SCREEN_COLORS + (word) gotoxy::offset#0 -- pbuz1=pbuc1_plus_vwuz1 + clc + lda.z __7 + adc #CONIO_SCREEN_COLORS + sta.z __7+1 + // conio_cursor_color = CONIO_SCREEN_COLORS + offset + // [234] (byte*) conio_cursor_color ← (byte*~) gotoxy::$7 + // gotoxy::@return + // } + // [235] return + rts +} + // rand +// Returns a pseudo-random number in the range of 0 to RAND_MAX (65535) +// Uses an xorshift pseudorandom number generator that hits all different values +// Information https://en.wikipedia.org/wiki/Xorshift +// Source http://www.retroprogramming.com/2017/07/xorshift-pseudorandom-numbers-in-z80.html +rand: { + .label __0 = $23 + .label __1 = $27 + .label __2 = $25 + .label return = 8 + .label return_1 = $1d + // rand_state << 7 + // [237] (word~) rand::$0 ← (word) rand_state#9 << (byte) 7 -- vwuz1=vwuz2_rol_7 + lda.z rand_state+1 + lsr + lda.z rand_state + ror + sta.z __0+1 + lda #0 + ror + sta.z __0 + // rand_state ^= rand_state << 7 + // [238] (word) rand_state#1 ← (word) rand_state#9 ^ (word~) rand::$0 -- vwuz1=vwuz1_bxor_vwuz2 + lda.z rand_state + eor.z __0 + sta.z rand_state + lda.z rand_state+1 + eor.z __0+1 + sta.z rand_state+1 + // rand_state >> 9 + // [239] (word~) rand::$1 ← (word) rand_state#1 >> (byte) 9 -- vwuz1=vwuz2_ror_9 + lsr + sta.z __1 + lda #0 + sta.z __1+1 + // rand_state ^= rand_state >> 9 + // [240] (word) rand_state#2 ← (word) rand_state#1 ^ (word~) rand::$1 -- vwuz1=vwuz1_bxor_vwuz2 + lda.z rand_state + eor.z __1 + sta.z rand_state + lda.z rand_state+1 + eor.z __1+1 + sta.z rand_state+1 + // rand_state << 8 + // [241] (word~) rand::$2 ← (word) rand_state#2 << (byte) 8 -- vwuz1=vwuz2_rol_8 + lda.z rand_state + sta.z __2+1 + lda #0 + sta.z __2 + // rand_state ^= rand_state << 8 + // [242] (word) rand_state#10 ← (word) rand_state#2 ^ (word~) rand::$2 -- vwuz1=vwuz1_bxor_vwuz2 + lda.z rand_state + eor.z __2 + sta.z rand_state + lda.z rand_state+1 + eor.z __2+1 + sta.z rand_state+1 + // return rand_state; + // [243] (word) rand::return#0 ← (word) rand_state#10 -- vwuz1=vwuz2 + lda.z rand_state + sta.z return + lda.z rand_state+1 + sta.z return+1 + // rand::@return + // } + // [244] return + rts +} + // printf_uint +// Print an unsigned int using a specific format +// printf_uint(word zp(8) uvalue) +printf_uint: { + .const format_min_length = 5 + .const format_justify_left = 0 + .const format_zero_padding = 0 + .const format_upper_case = 0 + .label uvalue = 8 + // printf_uint::@1 + // printf_buffer.sign = format.sign_always?'+':0 + // [246] *((byte*)&(struct printf_buffer_number) printf_buffer) ← (byte) 0 -- _deref_pbuc1=vbuc2 + // Handle any sign + lda #0 + sta printf_buffer + // utoa(uvalue, printf_buffer.digits, format.radix) + // [247] (word) utoa::value#1 ← (word) printf_uint::uvalue#0 + // [248] call utoa + // Format number into buffer + // [252] phi from printf_uint::@1 to utoa [phi:printf_uint::@1->utoa] + jsr utoa + // printf_uint::@2 + // printf_number_buffer(printf_buffer, format) + // [249] (byte) printf_number_buffer::buffer_sign#1 ← *((byte*)&(struct printf_buffer_number) printf_buffer) -- vbuz1=_deref_pbuc1 + lda printf_buffer + sta.z printf_number_buffer.buffer_sign + // [250] call printf_number_buffer + // Print using format + // [56] phi from printf_uint::@2 to printf_number_buffer [phi:printf_uint::@2->printf_number_buffer] + // [56] phi (byte) printf_number_buffer::format_upper_case#10 = (const byte) printf_uint::format_upper_case#0 [phi:printf_uint::@2->printf_number_buffer#0] -- vbuz1=vbuc1 + lda #format_upper_case + sta.z printf_number_buffer.format_upper_case + // [56] phi (byte) printf_number_buffer::buffer_sign#10 = (byte) printf_number_buffer::buffer_sign#1 [phi:printf_uint::@2->printf_number_buffer#1] -- register_copy + // [56] phi (byte) printf_number_buffer::format_zero_padding#10 = (const byte) printf_uint::format_zero_padding#0 [phi:printf_uint::@2->printf_number_buffer#2] -- vbuz1=vbuc1 + lda #format_zero_padding + sta.z printf_number_buffer.format_zero_padding + // [56] phi (byte) printf_number_buffer::format_justify_left#10 = (const byte) printf_uint::format_justify_left#0 [phi:printf_uint::@2->printf_number_buffer#3] -- vbuz1=vbuc1 + lda #format_justify_left + sta.z printf_number_buffer.format_justify_left + // [56] phi (byte) printf_number_buffer::format_min_length#2 = (const byte) printf_uint::format_min_length#0 [phi:printf_uint::@2->printf_number_buffer#4] -- vbuxx=vbuc1 + ldx #format_min_length + jsr printf_number_buffer + // printf_uint::@return + // } + // [251] 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) +// utoa(word zp(8) value, byte* zp($14) buffer) +utoa: { + .const max_digits = 5 + .label digit_value = $27 + .label buffer = $14 + .label digit = $13 + .label value = 8 + // [253] phi from utoa to utoa::@1 [phi:utoa->utoa::@1] + // [253] phi (byte*) utoa::buffer#11 = (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) 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+1 + // [253] phi (byte) utoa::started#2 = (byte) 0 [phi:utoa->utoa::@1#1] -- vbuxx=vbuc1 + ldx #0 + // [253] phi (word) utoa::value#2 = (word) utoa::value#1 [phi:utoa->utoa::@1#2] -- register_copy + // [253] phi (byte) utoa::digit#2 = (byte) 0 [phi:utoa->utoa::@1#3] -- vbuz1=vbuc1 + txa + sta.z digit + // utoa::@1 + __b1: + // for( char digit=0; digit= digit_value) + // [262] if((byte) 0!=(byte) utoa::started#2) goto utoa::@5 -- vbuc1_neq_vbuxx_then_la1 + cpx #0 + bne __b5 + // utoa::@7 + // [263] if((word) utoa::value#2>=(word) 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 + // [264] phi from utoa::@7 to utoa::@4 [phi:utoa::@7->utoa::@4] + // [264] phi (byte*) utoa::buffer#14 = (byte*) utoa::buffer#11 [phi:utoa::@7->utoa::@4#0] -- register_copy + // [264] phi (byte) utoa::started#4 = (byte) utoa::started#2 [phi:utoa::@7->utoa::@4#1] -- register_copy + // [264] phi (word) utoa::value#6 = (word) utoa::value#2 [phi:utoa::@7->utoa::@4#2] -- register_copy + // utoa::@4 + __b4: + // for( char digit=0; digitutoa::@1] + // [253] phi (byte*) utoa::buffer#11 = (byte*) utoa::buffer#14 [phi:utoa::@4->utoa::@1#0] -- register_copy + // [253] phi (byte) utoa::started#2 = (byte) utoa::started#4 [phi:utoa::@4->utoa::@1#1] -- register_copy + // [253] phi (word) utoa::value#2 = (word) utoa::value#6 [phi:utoa::@4->utoa::@1#2] -- register_copy + // [253] phi (byte) utoa::digit#2 = (byte) utoa::digit#1 [phi:utoa::@4->utoa::@1#3] -- register_copy + jmp __b1 + // utoa::@5 + __b5: + // utoa_append(buffer++, value, digit_value) + // [266] (byte*) utoa_append::buffer#0 ← (byte*) utoa::buffer#11 + // [267] (word) utoa_append::value#0 ← (word) utoa::value#2 + // [268] (word) utoa_append::sub#0 ← (word) utoa::digit_value#0 + // [269] call utoa_append + // [273] phi from utoa::@5 to utoa_append [phi:utoa::@5->utoa_append] + jsr utoa_append + // utoa_append(buffer++, value, digit_value) + // [270] (word) utoa_append::return#0 ← (word) utoa_append::value#2 + // utoa::@6 + // value = utoa_append(buffer++, value, digit_value) + // [271] (word) utoa::value#0 ← (word) utoa_append::return#0 + // value = utoa_append(buffer++, value, digit_value); + // [272] (byte*) utoa::buffer#4 ← ++ (byte*) utoa::buffer#11 -- pbuz1=_inc_pbuz1 + inc.z buffer + bne !+ + inc.z buffer+1 + !: + // [264] phi from utoa::@6 to utoa::@4 [phi:utoa::@6->utoa::@4] + // [264] phi (byte*) utoa::buffer#14 = (byte*) utoa::buffer#4 [phi:utoa::@6->utoa::@4#0] -- register_copy + // [264] phi (byte) utoa::started#4 = (byte) 1 [phi:utoa::@6->utoa::@4#1] -- vbuxx=vbuc1 + ldx #1 + // [264] phi (word) utoa::value#6 = (word) utoa::value#0 [phi:utoa::@6->utoa::@4#2] -- register_copy + jmp __b4 +} + // 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. +// utoa_append(byte* zp($14) buffer, word zp(8) value, word zp($27) sub) +utoa_append: { + .label buffer = $14 + .label value = 8 + .label sub = $27 + .label return = 8 + // [274] phi from utoa_append to utoa_append::@1 [phi:utoa_append->utoa_append::@1] + // [274] phi (byte) utoa_append::digit#2 = (byte) 0 [phi:utoa_append->utoa_append::@1#0] -- vbuxx=vbuc1 + ldx #0 + // [274] phi (word) utoa_append::value#2 = (word) utoa_append::value#0 [phi:utoa_append->utoa_append::@1#1] -- register_copy + // utoa_append::@1 + __b1: + // while (value >= sub) + // [275] if((word) utoa_append::value#2>=(word) 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] + // [276] *((byte*) utoa_append::buffer#0) ← *((const byte*) DIGITS + (byte) utoa_append::digit#2) -- _deref_pbuz1=pbuc1_derefidx_vbuxx + lda DIGITS,x + ldy #0 + sta (buffer),y + // utoa_append::@return + // } + // [277] return + rts + // utoa_append::@2 + __b2: + // digit++; + // [278] (byte) utoa_append::digit#1 ← ++ (byte) utoa_append::digit#2 -- vbuxx=_inc_vbuxx + inx + // value -= sub + // [279] (word) utoa_append::value#1 ← (word) utoa_append::value#2 - (word) 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 + // [274] phi from utoa_append::@2 to utoa_append::@1 [phi:utoa_append::@2->utoa_append::@1] + // [274] phi (byte) utoa_append::digit#2 = (byte) utoa_append::digit#1 [phi:utoa_append::@2->utoa_append::@1#0] -- register_copy + // [274] phi (word) utoa_append::value#2 = (word) utoa_append::value#1 [phi:utoa_append::@2->utoa_append::@1#1] -- register_copy + jmp __b1 +} + // clrscr +// clears the screen and moves the cursor to the upper left-hand corner of the screen. +clrscr: { + .label line_text = $14 + .label line_cols = $18 + // [281] phi from clrscr to clrscr::@1 [phi:clrscr->clrscr::@1] + // [281] phi (byte*) clrscr::line_cols#5 = (const nomodify byte*) CONIO_SCREEN_COLORS [phi:clrscr->clrscr::@1#0] -- pbuz1=pbuc1 + lda #CONIO_SCREEN_COLORS + sta.z line_cols+1 + // [281] phi (byte*) clrscr::line_text#5 = (const nomodify byte*) CONIO_SCREEN_TEXT [phi:clrscr->clrscr::@1#1] -- pbuz1=pbuc1 + lda #CONIO_SCREEN_TEXT + sta.z line_text+1 + // [281] phi (byte) clrscr::l#2 = (byte) 0 [phi:clrscr->clrscr::@1#2] -- vbuxx=vbuc1 + ldx #0 + // clrscr::@1 + __b1: + // for( char l=0;lCONIO_SCREEN_TEXT + sta.z conio_cursor_text+1 + // conio_cursor_color = CONIO_SCREEN_COLORS + // [286] (byte*) conio_cursor_color ← (const nomodify byte*) CONIO_SCREEN_COLORS -- pbuz1=pbuc1 + lda #CONIO_SCREEN_COLORS + sta.z conio_cursor_color+1 + // clrscr::@return + // } + // [287] return + rts + // [288] phi from clrscr::@1 to clrscr::@3 [phi:clrscr::@1->clrscr::@3] + __b2: + // [288] phi (byte) clrscr::c#2 = (byte) 0 [phi:clrscr::@1->clrscr::@3#0] -- vbuyy=vbuc1 + ldy #0 + // clrscr::@3 + __b3: + // for( char c=0;cclrscr::@1] + // [281] phi (byte*) clrscr::line_cols#5 = (byte*) clrscr::line_cols#1 [phi:clrscr::@5->clrscr::@1#0] -- register_copy + // [281] phi (byte*) clrscr::line_text#5 = (byte*) clrscr::line_text#1 [phi:clrscr::@5->clrscr::@1#1] -- register_copy + // [281] phi (byte) clrscr::l#2 = (byte) clrscr::l#1 [phi:clrscr::@5->clrscr::@1#2] -- register_copy + jmp __b1 + // clrscr::@4 + __b4: + // line_text[c] = ' ' + // [293] *((byte*) clrscr::line_text#5 + (byte) clrscr::c#2) ← (byte) ' ' -- pbuz1_derefidx_vbuyy=vbuc1 + lda #' ' + sta (line_text),y + // line_cols[c] = conio_textcolor + // [294] *((byte*) clrscr::line_cols#5 + (byte) clrscr::c#2) ← (byte) conio_textcolor -- pbuz1_derefidx_vbuyy=vbuz2 + lda.z conio_textcolor + sta (line_cols),y + // for( char c=0;cclrscr::@3] + // [288] phi (byte) clrscr::c#2 = (byte) clrscr::c#1 [phi:clrscr::@4->clrscr::@3#0] -- register_copy + jmp __b3 +} + // File Data + // The digits used for numbers + DIGITS: .text "0123456789abcdef" + // Values of decimal digits + RADIX_DECIMAL_VALUES: .word $2710, $3e8, $64, $a + // Values of decimal digits + RADIX_DECIMAL_VALUES_LONG: .dword $3b9aca00, $5f5e100, $989680, $f4240, $186a0, $2710, $3e8, $64, $a + // Buffer used for stringified number being printed + printf_buffer: .fill SIZEOF_STRUCT_PRINTF_BUFFER_NUMBER, 0 + diff --git a/src/test/ref/rand-1.sym b/src/test/ref/rand-1.sym new file mode 100644 index 000000000..71da380b8 --- /dev/null +++ b/src/test/ref/rand-1.sym @@ -0,0 +1,572 @@ +(label) @1 +(label) @2 +(label) @begin +(label) @end +(const nomodify byte*) CONIO_SCREEN_COLORS = (byte*) 55296 +(const nomodify byte*) CONIO_SCREEN_TEXT = (byte*) 1024 +(const nomodify byte) CONIO_TEXTCOLOR_DEFAULT = (byte) $e +(const byte*) DIGITS[] = (byte*) "0123456789abcdef"z +(const nomodify byte) LIGHT_BLUE = (byte) $e +(byte) MOS6526_CIA::INTERRUPT +(byte) MOS6526_CIA::PORT_A +(byte) MOS6526_CIA::PORT_A_DDR +(byte) MOS6526_CIA::PORT_B +(byte) MOS6526_CIA::PORT_B_DDR +(byte) MOS6526_CIA::SERIAL_DATA +(word) MOS6526_CIA::TIMER_A +(byte) MOS6526_CIA::TIMER_A_CONTROL +(word) MOS6526_CIA::TIMER_B +(byte) MOS6526_CIA::TIMER_B_CONTROL +(byte) MOS6526_CIA::TOD_10THS +(byte) MOS6526_CIA::TOD_HOURS +(byte) MOS6526_CIA::TOD_MIN +(byte) MOS6526_CIA::TOD_SEC +(byte) MOS6569_VICII::BG_COLOR +(byte) MOS6569_VICII::BG_COLOR1 +(byte) MOS6569_VICII::BG_COLOR2 +(byte) MOS6569_VICII::BG_COLOR3 +(byte) MOS6569_VICII::BORDER_COLOR +(byte) MOS6569_VICII::CONTROL1 +(byte) MOS6569_VICII::CONTROL2 +(byte) MOS6569_VICII::IRQ_ENABLE +(byte) MOS6569_VICII::IRQ_STATUS +(byte) MOS6569_VICII::LIGHTPEN_X +(byte) MOS6569_VICII::LIGHTPEN_Y +(byte) MOS6569_VICII::MEMORY +(byte) MOS6569_VICII::RASTER +(byte) MOS6569_VICII::SPRITE0_COLOR +(byte) MOS6569_VICII::SPRITE0_X +(byte) MOS6569_VICII::SPRITE0_Y +(byte) MOS6569_VICII::SPRITE1_COLOR +(byte) MOS6569_VICII::SPRITE1_X +(byte) MOS6569_VICII::SPRITE1_Y +(byte) MOS6569_VICII::SPRITE2_COLOR +(byte) MOS6569_VICII::SPRITE2_X +(byte) MOS6569_VICII::SPRITE2_Y +(byte) MOS6569_VICII::SPRITE3_COLOR +(byte) MOS6569_VICII::SPRITE3_X +(byte) MOS6569_VICII::SPRITE3_Y +(byte) MOS6569_VICII::SPRITE4_COLOR +(byte) MOS6569_VICII::SPRITE4_X +(byte) MOS6569_VICII::SPRITE4_Y +(byte) MOS6569_VICII::SPRITE5_COLOR +(byte) MOS6569_VICII::SPRITE5_X +(byte) MOS6569_VICII::SPRITE5_Y +(byte) MOS6569_VICII::SPRITE6_COLOR +(byte) MOS6569_VICII::SPRITE6_X +(byte) MOS6569_VICII::SPRITE6_Y +(byte) MOS6569_VICII::SPRITE7_COLOR +(byte) MOS6569_VICII::SPRITE7_X +(byte) MOS6569_VICII::SPRITE7_Y +(byte) MOS6569_VICII::SPRITES_BG_COLLISION +(byte) MOS6569_VICII::SPRITES_COLLISION +(byte) MOS6569_VICII::SPRITES_ENABLE +(byte) MOS6569_VICII::SPRITES_EXPAND_X +(byte) MOS6569_VICII::SPRITES_EXPAND_Y +(byte) MOS6569_VICII::SPRITES_MC +(byte) MOS6569_VICII::SPRITES_MCOLOR1 +(byte) MOS6569_VICII::SPRITES_MCOLOR2 +(byte) MOS6569_VICII::SPRITES_PRIORITY +(byte) MOS6569_VICII::SPRITES_XMSB +(byte) MOS6581_SID::CH1_ATTACK_DECAY +(byte) MOS6581_SID::CH1_CONTROL +(word) MOS6581_SID::CH1_FREQ +(word) MOS6581_SID::CH1_PULSE_WIDTH +(byte) MOS6581_SID::CH1_SUSTAIN_RELEASE +(byte) MOS6581_SID::CH2_ATTACK_DECAY +(byte) MOS6581_SID::CH2_CONTROL +(word) MOS6581_SID::CH2_FREQ +(word) MOS6581_SID::CH2_PULSE_WIDTH +(byte) MOS6581_SID::CH2_SUSTAIN_RELEASE +(byte) MOS6581_SID::CH3_ATTACK_DECAY +(byte) MOS6581_SID::CH3_CONTROL +(byte) MOS6581_SID::CH3_ENV +(word) MOS6581_SID::CH3_FREQ +(byte) MOS6581_SID::CH3_OSC +(word) MOS6581_SID::CH3_PULSE_WIDTH +(byte) MOS6581_SID::CH3_SUSTAIN_RELEASE +(byte) MOS6581_SID::FILTER_CUTOFF_HIGH +(byte) MOS6581_SID::FILTER_CUTOFF_LOW +(byte) MOS6581_SID::FILTER_SETUP +(byte) MOS6581_SID::POT_X +(byte) MOS6581_SID::POT_Y +(byte) MOS6581_SID::VOLUME_FILTER_MODE +(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS = (byte) 1 +(const byte) RADIX::BINARY = (number) 2 +(const byte) RADIX::DECIMAL = (number) $a +(const byte) RADIX::HEXADECIMAL = (number) $10 +(const byte) RADIX::OCTAL = (number) 8 +(const word*) RADIX_DECIMAL_VALUES[] = { (word) $2710, (word) $3e8, (word) $64, (word) $a } +(const dword*) RADIX_DECIMAL_VALUES_LONG[] = { (dword) $3b9aca00, (dword) $5f5e100, (dword) $989680, (dword) $f4240, (dword) $186a0, (dword) $2710, (dword) $3e8, (dword) $64, (dword) $a } +(const byte) SIZEOF_STRUCT_PRINTF_BUFFER_NUMBER = (byte) $c +(const nomodify byte) WHITE = (byte) 1 +(void()) clrscr() +(label) clrscr::@1 +(label) clrscr::@2 +(label) clrscr::@3 +(label) clrscr::@4 +(label) clrscr::@5 +(label) clrscr::@return +(byte) clrscr::c +(byte) clrscr::c#1 reg byte y 20002.0 +(byte) clrscr::c#2 reg byte y 12501.25 +(byte) clrscr::l +(byte) clrscr::l#1 reg byte x 2002.0 +(byte) clrscr::l#2 reg byte x 333.6666666666667 +(byte*) clrscr::line_cols +(byte*) clrscr::line_cols#1 line_cols zp[2]:24 1001.0 +(byte*) clrscr::line_cols#5 line_cols zp[2]:24 1500.375 +(byte*) clrscr::line_text +(byte*) clrscr::line_text#1 line_text zp[2]:20 667.3333333333334 +(byte*) clrscr::line_text#5 line_text zp[2]:20 1714.7142857142858 +(byte*) conio_cursor_color loadstore zp[2]:26 1.991071527767857E8 +(byte*) conio_cursor_text loadstore zp[2]:24 1.939130531391304E8 +(byte) conio_cursor_x loadstore zp[1]:22 3.090910100909091E7 +(byte) conio_cursor_y loadstore zp[1]:23 2.5555556437301588E8 +(byte) conio_textcolor loadstore zp[1]:28 6.91781514109589E7 +(void()) cputc((byte) cputc::c) +(label) cputc::@1 +(label) cputc::@2 +(label) cputc::@3 +(label) cputc::@return +(byte) cputc::c +(byte) cputc::c#0 reg byte a 2.0000002E7 +(byte) cputc::c#1 reg byte a 2.0000002E7 +(byte) cputc::c#2 reg byte a 20002.0 +(byte) cputc::c#3 reg byte a 1.100050025E8 +(void()) cputln() +(byte*~) cputln::$0 zp[2]:24 2.000000002E9 +(byte*~) cputln::$1 zp[2]:24 2.000000002E9 +(byte*~) cputln::$2 zp[2]:26 2.000000002E9 +(byte*~) cputln::$3 zp[2]:26 2.000000002E9 +(label) cputln::@return +(void()) cputs((to_nomodify byte*) cputs::s) +(label) cputs::@1 +(label) cputs::@2 +(label) cputs::@return +(byte) cputs::c +(byte) cputs::c#1 reg byte a 1.0000001E7 +(to_nomodify byte*) cputs::s +(to_nomodify byte*) cputs::s#0 s zp[2]:35 5000000.5 +(to_nomodify byte*) cputs::s#4 s zp[2]:35 1.5050002E7 +(to_nomodify byte*) cputs::s#5 s zp[2]:35 100001.0 +(void()) cscroll() +(byte*~) cscroll::$7 zp[2]:24 2.0000000002E10 +(byte*~) cscroll::$8 zp[2]:26 2.0000000002E10 +(label) cscroll::@1 +(label) cscroll::@2 +(label) cscroll::@3 +(label) cscroll::@4 +(label) cscroll::@5 +(label) cscroll::@return +(void()) gotoxy((byte) gotoxy::x , (byte) gotoxy::y) +(word~) gotoxy::$10 zp[2]:26 2002.0 +(word~) gotoxy::$4 zp[2]:26 2002.0 +(byte*~) gotoxy::$6 zp[2]:24 2002.0 +(byte*~) gotoxy::$7 zp[2]:26 2002.0 +(word~) gotoxy::$8 zp[2]:26 1501.5 +(word~) gotoxy::$9 zp[2]:35 2002.0 +(label) gotoxy::@1 +(label) gotoxy::@2 +(label) gotoxy::@3 +(label) gotoxy::@4 +(label) gotoxy::@return +(word) gotoxy::offset +(word) gotoxy::offset#0 offset zp[2]:26 1001.0 +(byte) gotoxy::x +(byte) gotoxy::x#2 reg byte x 101.0 +(byte) gotoxy::x#4 reg byte x 350.5 +(byte) gotoxy::x#5 reg byte x 429.0 +(byte) gotoxy::y +(byte) gotoxy::y#2 reg byte a 202.0 +(byte) gotoxy::y#4 reg byte a 701.0 +(byte) gotoxy::y#5 reg byte a 333.6666666666667 +(void()) main() +(byte~) main::$18 reg byte a 202.0 +(label) main::@1 +(label) main::@10 +(label) main::@11 +(label) main::@12 +(label) main::@13 +(label) main::@14 +(label) main::@15 +(label) main::@16 +(label) main::@17 +(label) main::@2 +(label) main::@3 +(label) main::@4 +(label) main::@5 +(label) main::@6 +(label) main::@7 +(label) main::@8 +(label) main::@9 +(label) main::@return +(dword) main::cnt +(dword) main::cnt#1 cnt zp[4]:2 8.875 +(dword) main::cnt#2 cnt zp[4]:2 202.0 +(byte) main::col +(byte) main::col#1 col zp[1]:6 101.0 +(byte) main::col#3 col zp[1]:6 45.90909090909091 +(byte) main::col#7 col zp[1]:6 80.8 +(word) main::first +(word) main::first#0 first zp[2]:29 5.590909090909091 +(word) main::rnd +(word) main::rnd#1 rnd zp[2]:8 151.5 +(word) main::rnd#2 rnd zp[2]:8 30.42857142857143 +(word) main::rnd#5 rnd zp[2]:8 22.0 +(byte) main::row +(byte) main::row#1 row zp[1]:7 151.5 +(byte) main::row#3 row zp[1]:7 44.888888888888886 +(byte) main::row#7 row zp[1]:7 60.599999999999994 +(const byte*) main::s[(byte) $1d] = (byte*) "generating unique randoms..." +(const byte*) main::s1[(byte) 7] = (byte*) "found " +(void*()) memcpy((void*) memcpy::destination , (void*) memcpy::source , (word) memcpy::num) +(label) memcpy::@1 +(label) memcpy::@2 +(label) memcpy::@return +(void*) memcpy::destination +(void*) memcpy::destination#2 destination zp[2]:20 +(byte*) memcpy::dst +(byte*) memcpy::dst#1 dst zp[2]:20 1.00000000000001E14 +(byte*) memcpy::dst#2 dst zp[2]:20 1.0003333333333467E14 +(byte*) memcpy::dst#4 dst zp[2]:20 2.00000000002E11 +(word) memcpy::num +(void*) memcpy::return +(void*) memcpy::source +(void*) memcpy::source#2 source zp[2]:39 +(byte*) memcpy::src +(byte*) memcpy::src#1 src zp[2]:39 2.00000000000002E14 +(byte*) memcpy::src#2 src zp[2]:39 1.0002500000000125E14 +(byte*) memcpy::src#4 src zp[2]:39 1.00000000001E11 +(byte*) memcpy::src_end +(byte*) memcpy::src_end#0 src_end zp[2]:37 1.251250000000025E13 +(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) +(label) memset::@1 +(label) memset::@2 +(label) memset::@3 +(label) memset::@return +(byte) memset::c +(byte) memset::c#1 reg byte x 2.0000000002E10 +(byte) memset::c#4 reg byte x 1.4287142857143143E13 +(byte*) memset::dst +(byte*) memset::dst#1 dst zp[2]:39 2.00000000000002E14 +(byte*) memset::dst#2 dst zp[2]:39 1.3336666666666834E14 +(byte*) memset::dst#4 dst zp[2]:39 2.00000000002E11 +(byte*) memset::end +(byte*) memset::end#0 end zp[2]:37 1.6683333333333668E13 +(word) memset::num +(void*) memset::return +(void*) memset::str +(void*) memset::str#3 str zp[2]:39 +(struct printf_buffer_number) printf_buffer loadstore mem[12] = {} +(const byte*) printf_buffer_number::digits[(number) $b] = { fill( $b, 0) } +(byte) printf_buffer_number::sign +(byte) printf_format_number::justify_left +(byte) printf_format_number::min_length +(byte) printf_format_number::radix +(byte) printf_format_number::sign_always +(byte) printf_format_number::upper_case +(byte) printf_format_number::zero_padding +(byte) printf_format_string::justify_left +(byte) printf_format_string::min_length +(void()) printf_number_buffer((byte) printf_number_buffer::buffer_sign , (byte*) printf_number_buffer::buffer_digits , (byte) printf_number_buffer::format_min_length , (byte) printf_number_buffer::format_justify_left , (byte) printf_number_buffer::format_sign_always , (byte) printf_number_buffer::format_zero_padding , (byte) printf_number_buffer::format_upper_case , (byte) printf_number_buffer::format_radix) +(word~) printf_number_buffer::$19 zp[2]:39 10001.0 +(label) printf_number_buffer::@1 +(label) printf_number_buffer::@10 +(label) printf_number_buffer::@11 +(label) printf_number_buffer::@12 +(label) printf_number_buffer::@13 +(label) printf_number_buffer::@14 +(label) printf_number_buffer::@15 +(label) printf_number_buffer::@16 +(label) printf_number_buffer::@17 +(label) printf_number_buffer::@18 +(label) printf_number_buffer::@19 +(label) printf_number_buffer::@2 +(label) printf_number_buffer::@20 +(label) printf_number_buffer::@21 +(label) printf_number_buffer::@3 +(label) printf_number_buffer::@4 +(label) printf_number_buffer::@5 +(label) printf_number_buffer::@6 +(label) printf_number_buffer::@7 +(label) printf_number_buffer::@8 +(label) printf_number_buffer::@9 +(label) printf_number_buffer::@return +(struct printf_buffer_number) printf_number_buffer::buffer +(byte*) printf_number_buffer::buffer_digits +(byte) printf_number_buffer::buffer_sign +(byte) printf_number_buffer::buffer_sign#0 buffer_sign zp[1]:10 202.0 +(byte) printf_number_buffer::buffer_sign#1 buffer_sign zp[1]:10 2002.0 +(byte) printf_number_buffer::buffer_sign#10 buffer_sign zp[1]:10 1555.25 +(struct printf_format_number) printf_number_buffer::format +(byte) printf_number_buffer::format_justify_left +(byte) printf_number_buffer::format_justify_left#10 format_justify_left zp[1]:16 645.2258064516129 +(byte) printf_number_buffer::format_min_length +(byte) printf_number_buffer::format_min_length#2 reg byte x 1000.1 +(byte) printf_number_buffer::format_radix +(byte) printf_number_buffer::format_sign_always +(byte) printf_number_buffer::format_upper_case +(byte) printf_number_buffer::format_upper_case#10 format_upper_case zp[1]:11 384.65384615384613 +(byte) printf_number_buffer::format_zero_padding +(byte) printf_number_buffer::format_zero_padding#10 format_zero_padding zp[1]:19 937.59375 +(signed byte) printf_number_buffer::len +(signed byte) printf_number_buffer::len#0 reg byte y 15001.5 +(signed byte) printf_number_buffer::len#1 reg byte y 20002.0 +(signed byte) printf_number_buffer::len#2 reg byte y 30003.0 +(signed byte) printf_number_buffer::padding +(signed byte) printf_number_buffer::padding#1 padding zp[1]:12 10001.0 +(signed byte) printf_number_buffer::padding#10 padding zp[1]:12 1904.952380952381 +(void()) printf_padding((byte) printf_padding::pad , (byte) printf_padding::length) +(label) printf_padding::@1 +(label) printf_padding::@2 +(label) printf_padding::@3 +(label) printf_padding::@return +(byte) printf_padding::i +(byte) printf_padding::i#1 i zp[1]:15 2.0000002E7 +(byte) printf_padding::i#2 i zp[1]:15 7500000.75 +(byte) printf_padding::length +(byte) printf_padding::length#0 length zp[1]:13 20002.0 +(byte) printf_padding::length#1 length zp[1]:13 20002.0 +(byte) printf_padding::length#2 length zp[1]:13 20002.0 +(byte) printf_padding::length#4 length zp[1]:13 1671667.3333333333 +(byte) printf_padding::pad +(byte) printf_padding::pad#5 pad zp[1]:14 1666666.8333333333 +(void()) printf_uint((word) printf_uint::uvalue , (byte) printf_uint::format_min_length , (byte) printf_uint::format_justify_left , (byte) printf_uint::format_sign_always , (byte) printf_uint::format_zero_padding , (byte) printf_uint::format_upper_case , (byte) printf_uint::format_radix) +(label) printf_uint::@1 +(label) printf_uint::@2 +(label) printf_uint::@return +(struct printf_format_number) printf_uint::format +(byte) printf_uint::format_justify_left +(const byte) printf_uint::format_justify_left#0 format_justify_left = (byte) 0 +(byte) printf_uint::format_min_length +(const byte) printf_uint::format_min_length#0 format_min_length = (byte) 5 +(byte) printf_uint::format_radix +(byte) printf_uint::format_sign_always +(byte) printf_uint::format_upper_case +(const byte) printf_uint::format_upper_case#0 format_upper_case = (byte) 0 +(byte) printf_uint::format_zero_padding +(const byte) printf_uint::format_zero_padding#0 format_zero_padding = (byte) 0 +(word) printf_uint::uvalue +(word) printf_uint::uvalue#0 uvalue zp[2]:8 367.33333333333337 +(void()) printf_ulong((dword) printf_ulong::uvalue , (byte) printf_ulong::format_min_length , (byte) printf_ulong::format_justify_left , (byte) printf_ulong::format_sign_always , (byte) printf_ulong::format_zero_padding , (byte) printf_ulong::format_upper_case , (byte) printf_ulong::format_radix) +(label) printf_ulong::@1 +(label) printf_ulong::@2 +(label) printf_ulong::@return +(struct printf_format_number) printf_ulong::format +(byte) printf_ulong::format_justify_left +(const byte) printf_ulong::format_justify_left#0 format_justify_left = (byte) 0 +(byte) printf_ulong::format_min_length +(const byte) printf_ulong::format_min_length#0 format_min_length = (byte) 0 +(byte) printf_ulong::format_radix +(byte) printf_ulong::format_sign_always +(byte) printf_ulong::format_upper_case +(const byte) printf_ulong::format_upper_case#0 format_upper_case = (byte) 0 +(byte) printf_ulong::format_zero_padding +(const byte) printf_ulong::format_zero_padding#0 format_zero_padding = (byte) 0 +(dword) printf_ulong::uvalue +(dword) printf_ulong::uvalue#0 uvalue zp[4]:2 37.33333333333333 +(word()) rand() +(word~) rand::$0 zp[2]:35 2002.0 +(word~) rand::$1 zp[2]:39 2002.0 +(word~) rand::$2 zp[2]:37 2002.0 +(label) rand::@return +(word) rand::return +(word) rand::return#0 return zp[2]:8 278.25 +(word) rand::return#2 return_1 zp[2]:29 22.0 +(word) rand::return#3 return zp[2]:8 202.0 +(word) rand_state +(word) rand_state#1 rand_state zp[2]:17 1501.5 +(word) rand_state#10 rand_state zp[2]:17 77.88888888888889 +(word) rand_state#2 rand_state zp[2]:17 1501.5 +(word) rand_state#9 rand_state zp[2]:17 1051.5 +(word()) strlen((byte*) strlen::str) +(label) strlen::@1 +(label) strlen::@2 +(label) strlen::@return +(word) strlen::len +(word) strlen::len#1 len zp[2]:39 1.0000001E7 +(word) strlen::len#2 len zp[2]:39 5002500.75 +(word) strlen::return +(word) strlen::return#2 return zp[2]:39 20002.0 +(byte*) strlen::str +(byte*) strlen::str#0 str zp[2]:35 2.0000002E7 +(byte*) strlen::str#2 str zp[2]:35 1.0000001E7 +(byte*()) strupr((byte*) strupr::str) +(byte~) strupr::$0 reg byte a 2.0000002E7 +(label) strupr::@1 +(label) strupr::@2 +(label) strupr::@3 +(label) strupr::@return +(byte*) strupr::return +(byte*) strupr::src +(byte*) strupr::src#1 src zp[2]:20 2.0000002E7 +(byte*) strupr::src#2 src zp[2]:20 7142857.857142856 +(byte*) strupr::str +(const byte*) strupr::str#0 str = (byte*)&(struct printf_buffer_number) printf_buffer+(const byte) OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS +(byte()) textcolor((byte) textcolor::color) +(label) textcolor::@return +(byte) textcolor::color +(byte) textcolor::color#3 reg byte a 101.0 +(byte) textcolor::old +(byte) textcolor::return +(byte()) toupper((byte) toupper::ch) +(label) toupper::@1 +(label) toupper::@2 +(label) toupper::@return +(byte) toupper::ch +(byte) toupper::ch#0 reg byte a 1.70000002E8 +(byte) toupper::return +(byte) toupper::return#0 reg byte a 2.00000002E8 +(byte) toupper::return#2 reg byte a 1.0333333466666667E8 +(byte) toupper::return#3 reg byte a 2.0000002E7 +(void()) ultoa((dword) ultoa::value , (byte*) ultoa::buffer , (byte) ultoa::radix) +(byte~) ultoa::$10 reg byte a 20002.0 +(byte~) ultoa::$11 reg byte a 2002.0 +(label) ultoa::@1 +(label) ultoa::@2 +(label) ultoa::@3 +(label) ultoa::@4 +(label) ultoa::@5 +(label) ultoa::@6 +(label) ultoa::@7 +(label) ultoa::@return +(byte*) ultoa::buffer +(byte*) ultoa::buffer#11 buffer zp[2]:39 3000.4285714285716 +(byte*) ultoa::buffer#14 buffer zp[2]:39 15001.5 +(byte*) ultoa::buffer#3 buffer zp[2]:39 2002.0 +(byte*) ultoa::buffer#4 buffer zp[2]:39 20002.0 +(byte) ultoa::digit +(byte) ultoa::digit#1 digit zp[1]:16 20002.0 +(byte) ultoa::digit#2 digit zp[1]:16 2857.4285714285716 +(dword) ultoa::digit_value +(dword) ultoa::digit_value#0 digit_value zp[4]:31 6000.6 +(dword*) ultoa::digit_values +(byte) ultoa::max_digits +(const byte) ultoa::max_digits#1 max_digits = (byte) $a +(byte) ultoa::radix +(byte) ultoa::started +(byte) ultoa::started#2 reg byte x 5000.5 +(byte) ultoa::started#4 reg byte x 10001.0 +(dword) ultoa::value +(dword) ultoa::value#0 value zp[4]:2 10001.0 +(dword) ultoa::value#1 value zp[4]:2 551.0 +(dword) ultoa::value#2 value zp[4]:2 5857.857142857143 +(dword) ultoa::value#6 value zp[4]:2 15001.5 +(dword()) ultoa_append((byte*) ultoa_append::buffer , (dword) ultoa_append::value , (dword) ultoa_append::sub) +(label) ultoa_append::@1 +(label) ultoa_append::@2 +(label) ultoa_append::@3 +(label) ultoa_append::@return +(byte*) ultoa_append::buffer +(byte*) ultoa_append::buffer#0 buffer zp[2]:39 13750.25 +(byte) ultoa_append::digit +(byte) ultoa_append::digit#1 reg byte x 1.0000001E7 +(byte) ultoa_append::digit#2 reg byte x 1.00500015E7 +(dword) ultoa_append::return +(dword) ultoa_append::return#0 return zp[4]:2 20002.0 +(dword) ultoa_append::sub +(dword) ultoa_append::sub#0 sub zp[4]:31 3335000.5 +(dword) ultoa_append::value +(dword) ultoa_append::value#0 value zp[4]:2 36667.33333333333 +(dword) ultoa_append::value#1 value zp[4]:2 2.0000002E7 +(dword) ultoa_append::value#2 value zp[4]:2 5018334.166666666 +(void()) utoa((word) utoa::value , (byte*) utoa::buffer , (byte) utoa::radix) +(byte~) utoa::$10 reg byte a 2000002.0 +(byte~) utoa::$11 reg byte a 20002.0 +(label) utoa::@1 +(label) utoa::@2 +(label) utoa::@3 +(label) utoa::@4 +(label) utoa::@5 +(label) utoa::@6 +(label) utoa::@7 +(label) utoa::@return +(byte*) utoa::buffer +(byte*) utoa::buffer#11 buffer zp[2]:20 287143.2857142857 +(byte*) utoa::buffer#14 buffer zp[2]:20 1500001.5 +(byte*) utoa::buffer#3 buffer zp[2]:20 20002.0 +(byte*) utoa::buffer#4 buffer zp[2]:20 2000002.0 +(byte) utoa::digit +(byte) utoa::digit#1 digit zp[1]:19 2000002.0 +(byte) utoa::digit#2 digit zp[1]:19 285714.5714285714 +(word) utoa::digit_value +(word) utoa::digit_value#0 digit_value zp[2]:39 600000.6000000001 +(word*) utoa::digit_values +(byte) utoa::max_digits +(const byte) utoa::max_digits#1 max_digits = (byte) 5 +(byte) utoa::radix +(byte) utoa::started +(byte) utoa::started#2 reg byte x 500000.5 +(byte) utoa::started#4 reg byte x 1000001.0 +(word) utoa::value +(word) utoa::value#0 value zp[2]:8 1000001.0 +(word) utoa::value#1 value zp[2]:8 5501.0 +(word) utoa::value#2 value zp[2]:8 572857.857142857 +(word) utoa::value#6 value zp[2]:8 1500001.5 +(word()) utoa_append((byte*) utoa_append::buffer , (word) utoa_append::value , (word) utoa_append::sub) +(label) utoa_append::@1 +(label) utoa_append::@2 +(label) utoa_append::@3 +(label) utoa_append::@return +(byte*) utoa_append::buffer +(byte*) utoa_append::buffer#0 buffer zp[2]:20 1375000.25 +(byte) utoa_append::digit +(byte) utoa_append::digit#1 reg byte x 1.0000000001E10 +(byte) utoa_append::digit#2 reg byte x 1.00050000015E10 +(word) utoa_append::return +(word) utoa_append::return#0 return zp[2]:8 2000002.0 +(word) utoa_append::sub +(word) utoa_append::sub#0 sub zp[2]:39 3.3335000005E9 +(word) utoa_append::value +(word) utoa_append::value#0 value zp[2]:8 3666667.333333333 +(word) utoa_append::value#1 value zp[2]:8 2.0000000002E10 +(word) utoa_append::value#2 value zp[2]:8 5.001833334166666E9 + +zp[4]:2 [ main::cnt#2 main::cnt#1 printf_ulong::uvalue#0 ultoa::value#2 ultoa::value#6 ultoa::value#1 ultoa::value#0 ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ultoa_append::return#0 ] +zp[1]:6 [ main::col#3 main::col#7 main::col#1 ] +zp[1]:7 [ main::row#3 main::row#7 main::row#1 ] +zp[2]:8 [ main::rnd#2 main::rnd#5 main::rnd#1 printf_uint::uvalue#0 rand::return#3 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 rand::return#0 ] +reg byte x [ printf_number_buffer::format_min_length#2 ] +zp[1]:10 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ] +zp[1]:11 [ printf_number_buffer::format_upper_case#10 ] +reg byte y [ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ] +zp[1]:12 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ] +zp[1]:13 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ] +zp[1]:14 [ printf_padding::pad#5 ] +zp[1]:15 [ printf_padding::i#2 printf_padding::i#1 ] +reg byte a [ cputc::c#3 cputc::c#0 cputc::c#2 cputc::c#1 ] +reg byte x [ memset::c#4 memset::c#1 ] +reg byte a [ toupper::return#2 toupper::return#0 toupper::ch#0 ] +zp[1]:16 [ ultoa::digit#2 ultoa::digit#1 printf_number_buffer::format_justify_left#10 ] +reg byte x [ ultoa::started#2 ultoa::started#4 ] +reg byte x [ ultoa_append::digit#2 ultoa_append::digit#1 ] +reg byte a [ textcolor::color#3 ] +reg byte a [ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ] +reg byte x [ gotoxy::x#5 gotoxy::x#4 gotoxy::x#2 ] +zp[2]:17 [ rand_state#9 rand_state#10 rand_state#1 rand_state#2 ] +zp[1]:19 [ utoa::digit#2 utoa::digit#1 printf_number_buffer::format_zero_padding#10 ] +reg byte x [ utoa::started#2 utoa::started#4 ] +reg byte x [ utoa_append::digit#2 utoa_append::digit#1 ] +reg byte x [ clrscr::l#2 clrscr::l#1 ] +zp[2]:20 [ clrscr::line_text#5 clrscr::line_text#1 utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 utoa::buffer#3 utoa_append::buffer#0 strupr::src#2 strupr::src#1 memcpy::destination#2 memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] +reg byte y [ clrscr::c#2 clrscr::c#1 ] +zp[1]:22 [ conio_cursor_x ] +zp[1]:23 [ conio_cursor_y ] +zp[2]:24 [ conio_cursor_text cscroll::$7 cputln::$0 cputln::$1 gotoxy::$6 clrscr::line_cols#5 clrscr::line_cols#1 ] +zp[2]:26 [ conio_cursor_color cscroll::$8 cputln::$2 cputln::$3 gotoxy::$7 gotoxy::$4 gotoxy::offset#0 gotoxy::$8 gotoxy::$10 ] +zp[1]:28 [ conio_textcolor ] +zp[2]:29 [ rand::return#2 main::first#0 ] +reg byte a [ main::$18 ] +reg byte a [ cputs::c#1 ] +reg byte a [ toupper::return#3 ] +reg byte a [ strupr::$0 ] +reg byte a [ ultoa::$11 ] +reg byte a [ ultoa::$10 ] +zp[4]:31 [ ultoa::digit_value#0 ultoa_append::sub#0 ] +zp[2]:35 [ rand::$0 gotoxy::$9 strlen::str#2 strlen::str#0 cputs::s#4 cputs::s#5 cputs::s#0 ] +zp[2]:37 [ rand::$2 memcpy::src_end#0 memset::end#0 ] +reg byte a [ utoa::$11 ] +reg byte a [ utoa::$10 ] +zp[2]:39 [ utoa::digit_value#0 utoa_append::sub#0 rand::$1 ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ultoa::buffer#3 ultoa_append::buffer#0 strlen::len#2 strlen::len#1 strlen::return#2 printf_number_buffer::$19 memcpy::source#2 memcpy::src#2 memcpy::src#4 memcpy::src#1 memset::str#3 memset::dst#2 memset::dst#4 memset::dst#1 ] +mem[12] [ printf_buffer ]